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