diff --git a/examples/EEPROM-Keymap-Programmer/EEPROM-Keymap-Programmer.ino b/examples/EEPROM-Keymap-Programmer/EEPROM-Keymap-Programmer.ino index c7393bca..71bf1ad2 100644 --- a/examples/EEPROM-Keymap-Programmer/EEPROM-Keymap-Programmer.ino +++ b/examples/EEPROM-Keymap-Programmer/EEPROM-Keymap-Programmer.ino @@ -23,47 +23,45 @@ const Key keymaps[][ROWS][COLS] PROGMEM = { - [0] = KEYMAP_STACKED - ( - M(0), Key_1, Key_2, Key_3, Key_4, Key_5, Key_NoKey, - 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, + [0] = KEYMAP_STACKED + (M(0), Key_1, Key_2, Key_3, Key_4, Key_5, Key_NoKey, + 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_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_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 - ), + Key_RightShift, Key_RightAlt, Key_Spacebar, Key_RightControl, + Key_NoKey), }; const macro_t *macroAction(uint8_t macroIndex, uint8_t keyState) { - if (macroIndex == 0 && key_toggled_off (keyState)) { - EEPROMKeymapProgrammer.nextState (); - } + if (macroIndex == 0 && key_toggled_off(keyState)) { + EEPROMKeymapProgrammer.nextState(); + } - return MACRO_NONE; + return MACRO_NONE; } -void setup () { - Serial.begin (9600); +void setup() { + Serial.begin(9600); - Kaleidoscope.setup (); + USE_PLUGINS(&EEPROMKeymapProgrammer, &EEPROMKeymap, &Macros); - USE_PLUGINS (&EEPROMKeymapProgrammer, &EEPROMKeymap, &Macros); + Kaleidoscope.setup(); - Layer.getKey = EEPROMKeymap.getKey; + Layer.getKey = EEPROMKeymap.getKey; - EEPROMKeymap.reserveSpace (1); - EEPROMSettings.seal (); + EEPROMKeymap.max_layers(1); + EEPROMSettings.seal(); } -void loop () { - Kaleidoscope.loop (); +void loop() { + Kaleidoscope.loop(); } diff --git a/src/Kaleidoscope/EEPROM-Keymap-Programmer.cpp b/src/Kaleidoscope/EEPROM-Keymap-Programmer.cpp index 32963254..95ccff76 100644 --- a/src/Kaleidoscope/EEPROM-Keymap-Programmer.cpp +++ b/src/Kaleidoscope/EEPROM-Keymap-Programmer.cpp @@ -18,93 +18,89 @@ #include -namespace KaleidoscopePlugins { -uint16_t EEPROMKeymapProgrammer::updatePosition; -EEPROMKeymapProgrammer::state_t EEPROMKeymapProgrammer::state; +namespace kaleidoscope { +uint16_t EEPROMKeymapProgrammer::update_position_; +EEPROMKeymapProgrammer::state_t EEPROMKeymapProgrammer::state_; EEPROMKeymapProgrammer::mode_t EEPROMKeymapProgrammer::mode; -Key EEPROMKeymapProgrammer::newKey; +Key EEPROMKeymapProgrammer::new_key_; -EEPROMKeymapProgrammer::EEPROMKeymapProgrammer (void) { +EEPROMKeymapProgrammer::EEPROMKeymapProgrammer(void) { } -void -EEPROMKeymapProgrammer::begin (void) { - event_handler_hook_use (eventHandlerHook); +void EEPROMKeymapProgrammer::begin(void) { + event_handler_hook_use(eventHandlerHook); } -void -EEPROMKeymapProgrammer::nextState (void) { - switch (state) { - case INACTIVE: - state = WAIT_FOR_KEY; - break; - case WAIT_FOR_KEY: - if (mode == CODE) - state = WAIT_FOR_CODE; - else - state = WAIT_FOR_SOURCE_KEY; - break; - case WAIT_FOR_CODE: - case WAIT_FOR_SOURCE_KEY: - ::EEPROMKeymap.updateKey (updatePosition, newKey); - cancel (); - break; - } +void EEPROMKeymapProgrammer::nextState(void) { + switch (state_) { + case INACTIVE: + state_ = WAIT_FOR_KEY; + break; + case WAIT_FOR_KEY: + if (mode == CODE) + state_ = WAIT_FOR_CODE; + else + state_ = WAIT_FOR_SOURCE_KEY; + break; + case WAIT_FOR_CODE: + case WAIT_FOR_SOURCE_KEY: + ::EEPROMKeymap.updateKey(update_position_, new_key_); + cancel(); + break; + } } -void -EEPROMKeymapProgrammer::cancel (void) { - updatePosition = 0; - newKey = Key_NoKey; - state = INACTIVE; +void EEPROMKeymapProgrammer::cancel(void) { + update_position_ = 0; + new_key_ = Key_NoKey; + state_ = INACTIVE; } -Key -EEPROMKeymapProgrammer::eventHandlerHook (Key mappedKey, byte row, byte col, uint8_t keyState) { - if (state == INACTIVE) - return mappedKey; - - if (state == WAIT_FOR_KEY) { - if (key_toggled_on (keyState)) { - updatePosition = Layer.top () * ROWS * COLS + row * COLS + col; - } - if (key_toggled_off (keyState)) { - if ((uint16_t)(Layer.top () * ROWS * COLS + row * COLS + col) == updatePosition) - nextState (); - } - return Key_NoKey; +Key EEPROMKeymapProgrammer::eventHandlerHook(Key mapped_key, byte row, byte col, uint8_t key_state) { + if (state_ == INACTIVE) + return mapped_key; + + if (state_ == WAIT_FOR_KEY) { + if (key_toggled_on(key_state)) { + update_position_ = Layer.top() * ROWS * COLS + row * COLS + col; } + if (key_toggled_off(key_state)) { + if ((uint16_t)(Layer.top() * ROWS * COLS + row * COLS + col) == update_position_) + nextState(); + } + return Key_NoKey; + } - if (state == WAIT_FOR_SOURCE_KEY) { - if (key_toggled_on (keyState)) { - newKey = Layer.getKeyFromPROGMEM (Layer.top (), row, col); - } - if (key_toggled_off (keyState)) { - if (newKey == Layer.getKeyFromPROGMEM (Layer.top (), row, col)) - nextState (); - } - return Key_NoKey; + if (state_ == WAIT_FOR_SOURCE_KEY) { + if (key_toggled_on(key_state)) { + new_key_ = Layer.getKeyFromPROGMEM(Layer.top(), row, col); + } + if (key_toggled_off(key_state)) { + if (new_key_ == Layer.getKeyFromPROGMEM(Layer.top(), row, col)) + nextState(); } + return Key_NoKey; + } - // WAIT_FOR_CODE state + // WAIT_FOR_CODE state - if (mappedKey < Key_1 || mappedKey > Key_0) - return mappedKey; + if (mapped_key < Key_1 || mapped_key > Key_0) + return mapped_key; - if (!key_toggled_on (keyState)) - return Key_NoKey; + if (!key_toggled_on(key_state)) + return Key_NoKey; - uint8_t n; - if (mappedKey.keyCode == Key_0.keyCode) - n = 0; - else - n = mappedKey.keyCode - Key_1.keyCode + 1; + uint8_t n; + if (mapped_key.keyCode == Key_0.keyCode) + n = 0; + else + n = mapped_key.keyCode - Key_1.keyCode + 1; - newKey.raw = newKey.raw * 10 + n; + new_key_.raw = new_key_.raw * 10 + n; - return Key_NoKey; + return Key_NoKey; } -}; +} -KaleidoscopePlugins::EEPROMKeymapProgrammer EEPROMKeymapProgrammer; +kaleidoscope::EEPROMKeymapProgrammer EEPROMKeymapProgrammer; diff --git a/src/Kaleidoscope/EEPROM-Keymap-Programmer.h b/src/Kaleidoscope/EEPROM-Keymap-Programmer.h index 34bf0264..5c15b188 100644 --- a/src/Kaleidoscope/EEPROM-Keymap-Programmer.h +++ b/src/Kaleidoscope/EEPROM-Keymap-Programmer.h @@ -21,36 +21,36 @@ #include #include -namespace KaleidoscopePlugins { +namespace kaleidoscope { class EEPROMKeymapProgrammer : public KaleidoscopePlugin { - public: - typedef enum { - CODE, - COPY, - } mode_t; - static mode_t mode; + public: + typedef enum { + CODE, + COPY, + } mode_t; + static mode_t mode; - EEPROMKeymapProgrammer (void); + EEPROMKeymapProgrammer(void); - virtual void begin (void) final; + void begin(void) final; - static void nextState (void); - static void cancel (void); + static void nextState(void); + static void cancel(void); - private: - typedef enum { - INACTIVE, - WAIT_FOR_KEY, - WAIT_FOR_CODE, - WAIT_FOR_SOURCE_KEY, - } state_t; - static state_t state; + private: + typedef enum { + INACTIVE, + WAIT_FOR_KEY, + WAIT_FOR_CODE, + WAIT_FOR_SOURCE_KEY, + } state_t; + static state_t state_; - static uint16_t updatePosition; // layer, row, col - static Key newKey; + static uint16_t update_position_; // layer, row, col + static Key new_key_; - static Key eventHandlerHook (Key mappedKey, byte row, byte col, uint8_t keyState); -}; + static Key eventHandlerHook(Key mapped_key, byte row, byte col, uint8_t key_state); }; +} -extern KaleidoscopePlugins::EEPROMKeymapProgrammer EEPROMKeymapProgrammer; +extern kaleidoscope::EEPROMKeymapProgrammer EEPROMKeymapProgrammer;