Combo TAP_CODE_DELAY and clear_weak_mods (#15866)
				
					
				
			This commit is contained in:
		| @@ -17,6 +17,7 @@ | ||||
| #include "print.h" | ||||
| #include "process_combo.h" | ||||
| #include "action_tapping.h" | ||||
| #include "action.h" | ||||
|  | ||||
| #ifdef COMBO_COUNT | ||||
| __attribute__((weak)) combo_t key_combos[COMBO_COUNT]; | ||||
| @@ -193,6 +194,9 @@ void clear_combos(void) { | ||||
| static inline void dump_key_buffer(void) { | ||||
|     /* First call start from 0 index; recursive calls need to start from i+1 index */ | ||||
|     static uint8_t key_buffer_next = 0; | ||||
| #if TAP_CODE_DELAY > 0 | ||||
|     bool delay_done = false; | ||||
| #endif | ||||
|  | ||||
|     if (key_buffer_size == 0) { | ||||
|         return; | ||||
| @@ -218,6 +222,15 @@ static inline void dump_key_buffer(void) { | ||||
| #endif | ||||
|         } | ||||
|         record->event.time = 0; | ||||
|         clear_weak_mods(); | ||||
|  | ||||
| #if TAP_CODE_DELAY > 0 | ||||
|         // only delay once and for a non-tapping key | ||||
|         if (!delay_done && !is_tap_record(record)) { | ||||
|             delay_done = true; | ||||
|             wait_ms(TAP_CODE_DELAY); | ||||
|         } | ||||
| #endif | ||||
|     } | ||||
|  | ||||
|     key_buffer_next = key_buffer_size = 0; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user