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 = {
[0] = KEYMAP_STACKED
(
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_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_LeftControl, Key_Backspace, Key_LeftGui, Key_LeftShift,
Key_NoKey,
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_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_RightShift, Key_RightAlt, Key_Spacebar, Key_RightControl,
Key_NoKey
),
[0] = KEYMAP_STACKED
(
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_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_LeftControl, Key_Backspace, Key_LeftGui, Key_LeftShift,
Key_NoKey,
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_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_RightShift, Key_RightAlt, Key_Spacebar, Key_RightControl,
Key_NoKey
),
};
static const KaleidoscopePlugins::ShapeShifter::dictionary_t shapeShiftDictionary[] PROGMEM = {
{Key_1, Key_2},
{Key_2, Key_1},
{Key_NoKey, Key_NoKey},
{Key_1, Key_2},
{Key_2, Key_1},
{Key_NoKey, Key_NoKey},
};
void setup () {
ShapeShifter.configure (shapeShiftDictionary);
ShapeShifter.configure (shapeShiftDictionary);
Kaleidoscope.setup ();
USE_PLUGINS (&ShapeShifter);
Kaleidoscope.setup ();
USE_PLUGINS (&ShapeShifter);
}
void loop () {
Kaleidoscope.loop ();
Kaleidoscope.loop ();
}

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

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

Loading…
Cancel
Save