diff options
Diffstat (limited to 'quantum/quantum.c')
| -rw-r--r-- | quantum/quantum.c | 23 | 
1 files changed, 16 insertions, 7 deletions
| diff --git a/quantum/quantum.c b/quantum/quantum.c index 0587f215fe..091cf298f7 100644 --- a/quantum/quantum.c +++ b/quantum/quantum.c @@ -114,6 +114,14 @@ __attribute__((weak)) void tap_code16(uint16_t code) {      tap_code16_delay(code, code == KC_CAPS_LOCK ? TAP_HOLD_CAPS_DELAY : TAP_CODE_DELAY);  } +__attribute__((weak)) bool pre_process_record_kb(uint16_t keycode, keyrecord_t *record) { +    return pre_process_record_user(keycode, record); +} + +__attribute__((weak)) bool pre_process_record_user(uint16_t keycode, keyrecord_t *record) { +    return true; +} +  __attribute__((weak)) bool process_action_kb(keyrecord_t *record) {      return true;  } @@ -168,7 +176,7 @@ void soft_reset_keyboard(void) {  /* Convert record into usable keycode via the contained event. */  uint16_t get_record_keycode(keyrecord_t *record, bool update_layer_cache) { -#ifdef COMBO_ENABLE +#if defined(COMBO_ENABLE) || defined(REPEAT_KEY_ENABLE)      if (record->keycode) {          return record->keycode;      } @@ -202,14 +210,12 @@ uint16_t get_event_keycode(keyevent_t event, bool update_layer_cache) {  /* Get keycode, and then process pre tapping functionality */  bool pre_process_record_quantum(keyrecord_t *record) { -    if (!( +    uint16_t keycode = get_record_keycode(record, true); +    return pre_process_record_kb(keycode, record) &&  #ifdef COMBO_ENABLE -            process_combo(get_record_keycode(record, true), record) && +           process_combo(keycode, record) &&  #endif -            true)) { -        return false; -    } -    return true; // continue processing +           true;  }  /* Get keycode, and then call keyboard function */ @@ -267,6 +273,9 @@ bool process_record_quantum(keyrecord_t *record) {              // Must run asap to ensure all keypresses are recorded.              process_dynamic_macro(keycode, record) &&  #endif +#ifdef REPEAT_KEY_ENABLE +            process_last_key(keycode, record) && process_repeat_key(keycode, record) && +#endif  #if defined(AUDIO_ENABLE) && defined(AUDIO_CLICKY)              process_clicky(keycode, record) &&  #endif | 
