summaryrefslogtreecommitdiff
path: root/quantum/process_keycode/process_combo.c
diff options
context:
space:
mode:
authorQMK Bot <hello@qmk.fm>2025-11-30 19:25:52 +0000
committerQMK Bot <hello@qmk.fm>2025-11-30 19:25:52 +0000
commitee60542bd6aa8d96714516f7f42b02fbd8105fcb (patch)
treefacebc35a70d8890375388f963f05ec4c89a9369 /quantum/process_keycode/process_combo.c
parentb5dfb2bd1ea38a37c58227eb17bde583f0c0e4d6 (diff)
parent6ed61c65dd66cdbb450a4920a69bae193ec73f15 (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.c14
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 }