diff options
| author | QMK Bot <hello@qmk.fm> | 2025-11-30 19:25:52 +0000 |
|---|---|---|
| committer | QMK Bot <hello@qmk.fm> | 2025-11-30 19:25:52 +0000 |
| commit | ee60542bd6aa8d96714516f7f42b02fbd8105fcb (patch) | |
| tree | facebc35a70d8890375388f963f05ec4c89a9369 /quantum/process_keycode/process_combo.c | |
| parent | b5dfb2bd1ea38a37c58227eb17bde583f0c0e4d6 (diff) | |
| parent | 6ed61c65dd66cdbb450a4920a69bae193ec73f15 (diff) | |
Merge remote-tracking branch 'origin/master' into develop
Diffstat (limited to 'quantum/process_keycode/process_combo.c')
| -rw-r--r-- | quantum/process_keycode/process_combo.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/quantum/process_keycode/process_combo.c b/quantum/process_keycode/process_combo.c index b02b7f5433..dfab42e70d 100644 --- a/quantum/process_keycode/process_combo.c +++ b/quantum/process_keycode/process_combo.c | |||
| @@ -225,7 +225,7 @@ static inline void dump_key_buffer(void) { | |||
| 225 | key_buffer_next = key_buffer_i + 1; | 225 | key_buffer_next = key_buffer_i + 1; |
| 226 | 226 | ||
| 227 | queued_record_t *qrecord = &key_buffer[key_buffer_i]; | 227 | queued_record_t *qrecord = &key_buffer[key_buffer_i]; |
| 228 | keyrecord_t * record = &qrecord->record; | 228 | keyrecord_t *record = &qrecord->record; |
| 229 | 229 | ||
| 230 | if (IS_NOEVENT(record->event)) { | 230 | if (IS_NOEVENT(record->event)) { |
| 231 | continue; | 231 | continue; |
| @@ -318,14 +318,14 @@ void apply_combo(uint16_t combo_index, combo_t *combo) { | |||
| 318 | #if defined(EXTRA_EXTRA_LONG_COMBOS) | 318 | #if defined(EXTRA_EXTRA_LONG_COMBOS) |
| 319 | uint32_t state = 0; | 319 | uint32_t state = 0; |
| 320 | #elif defined(EXTRA_LONG_COMBOS) | 320 | #elif defined(EXTRA_LONG_COMBOS) |
| 321 | uint16_t state = 0; | 321 | uint16_t state = 0; |
| 322 | #else | 322 | #else |
| 323 | uint8_t state = 0; | 323 | uint8_t state = 0; |
| 324 | #endif | 324 | #endif |
| 325 | 325 | ||
| 326 | for (uint8_t key_buffer_i = 0; key_buffer_i < key_buffer_size; key_buffer_i++) { | 326 | for (uint8_t key_buffer_i = 0; key_buffer_i < key_buffer_size; key_buffer_i++) { |
| 327 | queued_record_t *qrecord = &key_buffer[key_buffer_i]; | 327 | queued_record_t *qrecord = &key_buffer[key_buffer_i]; |
| 328 | keyrecord_t * record = &qrecord->record; | 328 | keyrecord_t *record = &qrecord->record; |
| 329 | uint16_t keycode = qrecord->keycode; | 329 | uint16_t keycode = qrecord->keycode; |
| 330 | 330 | ||
| 331 | uint8_t key_count = 0; | 331 | uint8_t key_count = 0; |
| @@ -365,7 +365,7 @@ static inline void apply_combos(void) { | |||
| 365 | // Apply all buffered normal combos. | 365 | // Apply all buffered normal combos. |
| 366 | for (uint8_t i = combo_buffer_read; i != combo_buffer_write; INCREMENT_MOD(i)) { | 366 | for (uint8_t i = combo_buffer_read; i != combo_buffer_write; INCREMENT_MOD(i)) { |
| 367 | queued_combo_t *buffered_combo = &combo_buffer[i]; | 367 | queued_combo_t *buffered_combo = &combo_buffer[i]; |
| 368 | combo_t * combo = combo_get(buffered_combo->combo_index); | 368 | combo_t *combo = combo_get(buffered_combo->combo_index); |
| 369 | 369 | ||
| 370 | #ifdef COMBO_MUST_TAP_PER_COMBO | 370 | #ifdef COMBO_MUST_TAP_PER_COMBO |
| 371 | if (get_combo_must_tap(buffered_combo->combo_index, combo)) { | 371 | if (get_combo_must_tap(buffered_combo->combo_index, combo)) { |
| @@ -470,7 +470,7 @@ static combo_key_action_t process_single_combo(combo_t *combo, uint16_t keycode, | |||
| 470 | combo_t *drop = NULL; | 470 | combo_t *drop = NULL; |
| 471 | for (uint8_t combo_buffer_i = combo_buffer_read; combo_buffer_i != combo_buffer_write; INCREMENT_MOD(combo_buffer_i)) { | 471 | for (uint8_t combo_buffer_i = combo_buffer_read; combo_buffer_i != combo_buffer_write; INCREMENT_MOD(combo_buffer_i)) { |
| 472 | queued_combo_t *qcombo = &combo_buffer[combo_buffer_i]; | 472 | queued_combo_t *qcombo = &combo_buffer[combo_buffer_i]; |
| 473 | combo_t * buffered_combo = combo_get(qcombo->combo_index); | 473 | combo_t *buffered_combo = combo_get(qcombo->combo_index); |
| 474 | 474 | ||
| 475 | if ((drop = overlaps(buffered_combo, combo))) { | 475 | if ((drop = overlaps(buffered_combo, combo))) { |
| 476 | DISABLE_COMBO(drop); | 476 | DISABLE_COMBO(drop); |
| @@ -578,8 +578,8 @@ bool process_combo(uint16_t keycode, keyrecord_t *record) { | |||
| 578 | /* Only check keycodes from one layer. */ | 578 | /* Only check keycodes from one layer. */ |
| 579 | keycode = keymap_key_to_keycode(COMBO_ONLY_FROM_LAYER, record->event.key); | 579 | keycode = keymap_key_to_keycode(COMBO_ONLY_FROM_LAYER, record->event.key); |
| 580 | #else | 580 | #else |
| 581 | uint8_t highest_layer = get_highest_layer(layer_state | default_layer_state); | 581 | uint8_t highest_layer = get_highest_layer(layer_state | default_layer_state); |
| 582 | uint8_t ref_layer = combo_ref_from_layer(highest_layer); | 582 | uint8_t ref_layer = combo_ref_from_layer(highest_layer); |
| 583 | if (ref_layer != highest_layer) { | 583 | if (ref_layer != highest_layer) { |
| 584 | keycode = keymap_key_to_keycode(ref_layer, record->event.key); | 584 | keycode = keymap_key_to_keycode(ref_layer, record->event.key); |
| 585 | } | 585 | } |
