diff options
Diffstat (limited to 'quantum/process_keycode')
-rw-r--r-- | quantum/process_keycode/process_combo.c | 6 | ||||
-rw-r--r-- | quantum/process_keycode/process_key_lock.c | 2 |
2 files changed, 6 insertions, 2 deletions
diff --git a/quantum/process_keycode/process_combo.c b/quantum/process_keycode/process_combo.c index 58d45add22..1addd72e5a 100644 --- a/quantum/process_keycode/process_combo.c +++ b/quantum/process_keycode/process_combo.c @@ -127,8 +127,12 @@ bool process_combo(uint16_t keycode, keyrecord_t *record) void matrix_scan_combo(void) { for (int i = 0; i < COMBO_COUNT; ++i) { + // Do not treat the (weak) key_combos too strict. + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Warray-bounds" combo_t *combo = &key_combos[i]; - if (combo->timer && + #pragma GCC diagnostic pop + if (combo->timer && combo->timer != COMBO_TIMER_ELAPSED && timer_elapsed(combo->timer) > COMBO_TERM) { diff --git a/quantum/process_keycode/process_key_lock.c b/quantum/process_keycode/process_key_lock.c index d7978f91c7..50cc0a5ccb 100644 --- a/quantum/process_keycode/process_key_lock.c +++ b/quantum/process_keycode/process_key_lock.c @@ -51,7 +51,7 @@ uint64_t key_state[4] = { 0x0, 0x0, 0x0, 0x0 }; bool watching = false; // Translate any OSM keycodes back to their unmasked versions. -uint16_t inline translate_keycode(uint16_t keycode) { +static inline uint16_t translate_keycode(uint16_t keycode) { if (keycode > QK_ONE_SHOT_MOD && keycode <= QK_ONE_SHOT_MOD_MAX) { return keycode ^ QK_ONE_SHOT_MOD; } else { |