make astyle

pull/389/head^2
Jesse Vincent 8 years ago
parent 12481f3f48
commit ae6aeec44d
No known key found for this signature in database
GPG Key ID: 122F5DF7108E4046

@ -22,42 +22,42 @@
const Key keymaps[][ROWS][COLS] PROGMEM = { const Key keymaps[][ROWS][COLS] PROGMEM = {
[0] = KEYMAP_STACKED [0] = KEYMAP_STACKED
( (
Key_skip, Key_1, Key_2, Key_3, Key_4, Key_5, Key_skip, Key_skip, Key_1, Key_2, Key_3, Key_4, Key_5, Key_skip,
Key_Backtick, Key_Q, Key_W, Key_E, Key_R, Key_T, Key_Tab, Key_Backtick, Key_Q, Key_W, Key_E, Key_R, Key_T, Key_Tab,
Key_PageUp, Key_A, Key_S, Key_D, Key_F, Key_G, Key_PageUp, Key_A, Key_S, Key_D, Key_F, Key_G,
Key_PageDown, Key_Z, Key_X, Key_C, Key_V, Key_B, Key_Escape, Key_PageDown, Key_Z, Key_X, Key_C, Key_V, Key_B, Key_Escape,
Key_LeftControl, Key_Backspace, Key_LeftGui, Key_LeftShift, Key_LeftControl, Key_Backspace, Key_LeftGui, Key_LeftShift,
Key_NoKey, Key_NoKey,
Key_skip, Key_6, Key_7, Key_8, Key_9, Key_0, Key_skip, Key_skip, Key_6, Key_7, Key_8, Key_9, Key_0, Key_skip,
Key_Enter, Key_Y, Key_U, Key_I, Key_O, Key_P, Key_Equals, Key_Enter, Key_Y, Key_U, Key_I, Key_O, Key_P, Key_Equals,
Key_H, Key_J, Key_K, Key_L, Key_Semicolon, Key_Quote, Key_H, Key_J, Key_K, Key_L, Key_Semicolon, Key_Quote,
Key_skip, Key_N, Key_M, Key_Comma, Key_Period, Key_Slash, Key_Minus, Key_skip, Key_N, Key_M, Key_Comma, Key_Period, Key_Slash, Key_Minus,
Key_RightShift, Key_RightAlt, Key_Spacebar, Key_RightControl, Key_RightShift, Key_RightAlt, Key_Spacebar, Key_RightControl,
Key_NoKey Key_NoKey
), ),
}; };
static const KaleidoscopePlugins::ShapeShifter::dictionary_t shapeShiftDictionary[] PROGMEM = { static const KaleidoscopePlugins::ShapeShifter::dictionary_t shapeShiftDictionary[] PROGMEM = {
{Key_1, Key_2}, {Key_1, Key_2},
{Key_2, Key_1}, {Key_2, Key_1},
{Key_NoKey, Key_NoKey}, {Key_NoKey, Key_NoKey},
}; };
void setup () { void setup () {
ShapeShifter.configure (shapeShiftDictionary); ShapeShifter.configure (shapeShiftDictionary);
Kaleidoscope.setup (); Kaleidoscope.setup ();
USE_PLUGINS (&ShapeShifter); USE_PLUGINS (&ShapeShifter);
} }
void loop () { void loop () {
Kaleidoscope.loop (); Kaleidoscope.loop ();
} }

@ -20,61 +20,61 @@
namespace KaleidoscopePlugins { namespace KaleidoscopePlugins {
const ShapeShifter::dictionary_t *ShapeShifter::dictionary = NULL; const ShapeShifter::dictionary_t *ShapeShifter::dictionary = NULL;
bool ShapeShifter::modActive; bool ShapeShifter::modActive;
ShapeShifter::ShapeShifter (void) { ShapeShifter::ShapeShifter (void) {
} }
void void
ShapeShifter::begin (void) { ShapeShifter::begin (void) {
event_handler_hook_use (this->eventHandlerHook); event_handler_hook_use (this->eventHandlerHook);
loop_hook_use (this->loopHook); loop_hook_use (this->loopHook);
} }
void void
ShapeShifter::configure (const dictionary_t dictionary_[]) { ShapeShifter::configure (const dictionary_t dictionary_[]) {
dictionary = (const dictionary_t *)dictionary_; dictionary = (const dictionary_t *)dictionary_;
} }
void void
ShapeShifter::loopHook (bool postClear) { ShapeShifter::loopHook (bool postClear) {
if (postClear) if (postClear)
return; return;
modActive = Keyboard.isModifierActive (Key_LeftShift.keyCode) || modActive = Keyboard.isModifierActive (Key_LeftShift.keyCode) ||
Keyboard.isModifierActive (Key_RightShift.keyCode); Keyboard.isModifierActive (Key_RightShift.keyCode);
} }
Key Key
ShapeShifter::eventHandlerHook (Key mappedKey, byte row, byte col, uint8_t keyState) { ShapeShifter::eventHandlerHook (Key mappedKey, byte row, byte col, uint8_t keyState) {
if (!dictionary) if (!dictionary)
return mappedKey; return mappedKey;
// If Shift is not active, bail out early. // If Shift is not active, bail out early.
if (!modActive) if (!modActive)
return mappedKey; return mappedKey;
Key orig, repl; Key orig, repl;
// Try to find the current key in the dictionary // Try to find the current key in the dictionary
uint8_t i = 0; uint8_t i = 0;
do { do {
orig.raw = pgm_read_word (&(dictionary[i].original.raw)); orig.raw = pgm_read_word (&(dictionary[i].original.raw));
i++; i++;
} while (orig.raw != Key_NoKey.raw && } while (orig.raw != Key_NoKey.raw &&
orig.raw != mappedKey.raw); orig.raw != mappedKey.raw);
i--; i--;
// If not found, bail out. // If not found, bail out.
if (orig.raw == Key_NoKey.raw) if (orig.raw == Key_NoKey.raw)
return mappedKey; return mappedKey;
repl.raw = pgm_read_word (&(dictionary[i].replacement.raw)); repl.raw = pgm_read_word (&(dictionary[i].replacement.raw));
// If found, handle the alternate key instead // If found, handle the alternate key instead
return repl; return repl;
} }
}; };

@ -21,10 +21,10 @@
#include <Kaleidoscope.h> #include <Kaleidoscope.h>
namespace KaleidoscopePlugins { namespace KaleidoscopePlugins {
class ShapeShifter : public KaleidoscopePlugin { class ShapeShifter : public KaleidoscopePlugin {
public: public:
typedef struct { typedef struct {
Key original, replacement; Key original, replacement;
} dictionary_t; } dictionary_t;
ShapeShifter (void); ShapeShifter (void);
@ -39,7 +39,7 @@ namespace KaleidoscopePlugins {
static Key eventHandlerHook (Key mappedKey, byte row, byte col, uint8_t keyState); static Key eventHandlerHook (Key mappedKey, byte row, byte col, uint8_t keyState);
static void loopHook (bool postClear); static void loopHook (bool postClear);
}; };
}; };
extern KaleidoscopePlugins::ShapeShifter ShapeShifter; extern KaleidoscopePlugins::ShapeShifter ShapeShifter;

Loading…
Cancel
Save