diff options
Diffstat (limited to 'quantum/process_keycode/process_auto_shift.h')
| -rw-r--r-- | quantum/process_keycode/process_auto_shift.h | 22 | 
1 files changed, 20 insertions, 2 deletions
| diff --git a/quantum/process_keycode/process_auto_shift.h b/quantum/process_keycode/process_auto_shift.h index 00a9ab036f..ac6a143746 100644 --- a/quantum/process_keycode/process_auto_shift.h +++ b/quantum/process_keycode/process_auto_shift.h @@ -22,13 +22,31 @@  #    define AUTO_SHIFT_TIMEOUT 175  #endif +#define IS_LT(kc) ((kc) >= QK_LAYER_TAP && (kc) <= QK_LAYER_TAP_MAX) +#define IS_MT(kc) ((kc) >= QK_MOD_TAP && (kc) <= QK_MOD_TAP_MAX) +#define IS_RETRO(kc) (IS_MT(kc) || IS_LT(kc)) +#define DO_GET_AUTOSHIFT_TIMEOUT(keycode, record, ...) record +// clang-format off +#define AUTO_SHIFT_ALPHA KC_A ... KC_Z +#define AUTO_SHIFT_NUMERIC KC_1 ... KC_0 +#define AUTO_SHIFT_SPECIAL          \ +             KC_TAB:                \ +        case KC_MINUS ... KC_SLASH: \ +        case KC_NONUS_BSLASH +// clang-format on +  bool process_auto_shift(uint16_t keycode, keyrecord_t *record); +void retroshift_poll_time(keyevent_t *event); +void retroshift_swap_times(void);  void     autoshift_enable(void);  void     autoshift_disable(void);  void     autoshift_toggle(void);  bool     get_autoshift_state(void); -uint16_t get_autoshift_timeout(void); +uint16_t get_generic_autoshift_timeout(void); +// clang-format off +uint16_t (get_autoshift_timeout)(uint16_t keycode, keyrecord_t *record);  void     set_autoshift_timeout(uint16_t timeout);  void     autoshift_matrix_scan(void); -bool     get_auto_shifted_key(uint16_t keycode, keyrecord_t *record); +bool     get_custom_auto_shifted_key(uint16_t keycode, keyrecord_t *record); +// clang-format on | 
