Adapt EEPROM-Keymap-Programmer plugin to KeyEvent handlers

Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
pull/1024/head
Michael Richters 4 years ago
parent d7a71f92ba
commit 48e1130dce
No known key found for this signature in database
GPG Key ID: 1288FD13E4EEF0C0

@ -53,27 +53,27 @@ void EEPROMKeymapProgrammer::cancel(void) {
state_ = INACTIVE; state_ = INACTIVE;
} }
EventHandlerResult EEPROMKeymapProgrammer::onKeyswitchEvent(Key &mapped_key, KeyAddr key_addr, uint8_t key_state) { EventHandlerResult EEPROMKeymapProgrammer::onKeyEvent(KeyEvent &event) {
if (state_ == INACTIVE) if (state_ == INACTIVE)
return EventHandlerResult::OK; return EventHandlerResult::OK;
if (state_ == WAIT_FOR_KEY) { if (state_ == WAIT_FOR_KEY) {
if (keyToggledOn(key_state)) { if (keyToggledOn(event.state)) {
update_position_ = Layer.mostRecent() * Runtime.device().numKeys() + key_addr.toInt(); update_position_ = Layer.mostRecent() * Runtime.device().numKeys() + event.addr.toInt();
} }
if (keyToggledOff(key_state)) { if (keyToggledOff(event.state)) {
if ((uint16_t)(Layer.mostRecent() * Runtime.device().numKeys() + key_addr.toInt()) == update_position_) if ((uint16_t)(Layer.mostRecent() * Runtime.device().numKeys() + event.addr.toInt()) == update_position_)
nextState(); nextState();
} }
return EventHandlerResult::EVENT_CONSUMED; return EventHandlerResult::EVENT_CONSUMED;
} }
if (state_ == WAIT_FOR_SOURCE_KEY) { if (state_ == WAIT_FOR_SOURCE_KEY) {
if (keyToggledOn(key_state)) { if (keyToggledOn(event.state)) {
new_key_ = Layer.getKeyFromPROGMEM(Layer.mostRecent(), key_addr); new_key_ = Layer.getKeyFromPROGMEM(Layer.mostRecent(), event.addr);
} }
if (keyToggledOff(key_state)) { if (keyToggledOff(event.state)) {
if (new_key_ == Layer.getKeyFromPROGMEM(Layer.mostRecent(), key_addr)) if (new_key_ == Layer.getKeyFromPROGMEM(Layer.mostRecent(), event.addr))
nextState(); nextState();
} }
return EventHandlerResult::EVENT_CONSUMED; return EventHandlerResult::EVENT_CONSUMED;
@ -81,18 +81,18 @@ EventHandlerResult EEPROMKeymapProgrammer::onKeyswitchEvent(Key &mapped_key, Key
// WAIT_FOR_CODE state // WAIT_FOR_CODE state
if (mapped_key < Key_1 || mapped_key > Key_0) if (event.key < Key_1 || event.key > Key_0)
return EventHandlerResult::OK; return EventHandlerResult::OK;
if (!keyToggledOn(key_state)) { if (!keyToggledOn(event.state)) {
return EventHandlerResult::EVENT_CONSUMED; return EventHandlerResult::EVENT_CONSUMED;
} }
uint8_t n; uint8_t n;
if (mapped_key.getKeyCode() == Key_0.getKeyCode()) if (event.key.getKeyCode() == Key_0.getKeyCode())
n = 0; n = 0;
else else
n = mapped_key.getKeyCode() - Key_1.getKeyCode() + 1; n = event.key.getKeyCode() - Key_1.getKeyCode() + 1;
new_key_.setRaw(new_key_.getRaw() * 10 + n); new_key_.setRaw(new_key_.getRaw() * 10 + n);

@ -38,7 +38,7 @@ class EEPROMKeymapProgrammer : public kaleidoscope::Plugin {
static void nextState(void); static void nextState(void);
static void cancel(void); static void cancel(void);
EventHandlerResult onKeyswitchEvent(Key &mapped_key, KeyAddr key_addr, uint8_t key_state); EventHandlerResult onKeyEvent(KeyEvent &event);
EventHandlerResult onFocusEvent(const char *command); EventHandlerResult onFocusEvent(const char *command);
private: private:

Loading…
Cancel
Save