diff options
Diffstat (limited to 'quantum/process_keycode')
| -rw-r--r-- | quantum/process_keycode/process_key_lock.c | 5 | ||||
| -rw-r--r-- | quantum/process_keycode/process_key_lock.h | 1 | ||||
| -rw-r--r-- | quantum/process_keycode/process_magic.c | 4 | 
3 files changed, 10 insertions, 0 deletions
| diff --git a/quantum/process_keycode/process_key_lock.c b/quantum/process_keycode/process_key_lock.c index 4bd58f0c1e..941a2c5780 100644 --- a/quantum/process_keycode/process_key_lock.c +++ b/quantum/process_keycode/process_key_lock.c @@ -56,6 +56,11 @@ static inline uint16_t translate_keycode(uint16_t keycode) {      }  } +void cancel_key_lock(void) { +    watching = false; +    UNSET_KEY_STATE(0x0); +} +  bool process_key_lock(uint16_t *keycode, keyrecord_t *record) {      // We start by categorizing the keypress event. In the event of a down      // event, there are several possibilities: diff --git a/quantum/process_keycode/process_key_lock.h b/quantum/process_keycode/process_key_lock.h index baa0b39077..5159b0ba02 100644 --- a/quantum/process_keycode/process_key_lock.h +++ b/quantum/process_keycode/process_key_lock.h @@ -18,4 +18,5 @@  #include "quantum.h" +void cancel_key_lock(void);  bool process_key_lock(uint16_t *keycode, keyrecord_t *record); diff --git a/quantum/process_keycode/process_magic.c b/quantum/process_keycode/process_magic.c index d5cff4f12a..6332be647c 100644 --- a/quantum/process_keycode/process_magic.c +++ b/quantum/process_keycode/process_magic.c @@ -44,6 +44,7 @@ bool process_magic(uint16_t keycode, keyrecord_t *record) {              case MAGIC_SWAP_CONTROL_CAPSLOCK ... MAGIC_TOGGLE_ALT_GUI:              case MAGIC_SWAP_LCTL_LGUI ... MAGIC_EE_HANDS_RIGHT:              case MAGIC_TOGGLE_GUI: +            case MAGIC_TOGGLE_CONTROL_CAPSLOCK:                  /* keymap config */                  keymap_config.raw = eeconfig_read_keymap();                  switch (keycode) { @@ -168,6 +169,9 @@ bool process_magic(uint16_t keycode, keyrecord_t *record) {                      case MAGIC_TOGGLE_GUI:                          keymap_config.no_gui = !keymap_config.no_gui;                          break; +                    case MAGIC_TOGGLE_CONTROL_CAPSLOCK: +                        keymap_config.swap_control_capslock = !keymap_config.swap_control_capslock; +                        break;                  }                  eeconfig_update_keymap(keymap_config.raw); | 
