Variable combo (#8120)
* keymap(gergo): colemak * added flipped numbers * add STENO_DISABLE_VIRTSER * add STENO_DISABLE_VIRTSER * Added GergoPlex and Faunchpad * push retab * push retab * added variable option for combos * removed accidental commit * removed accidental commit * More accidental deletions! (╯°□°)╯︵ ┻━┻ Co-authored-by: Damien Rajon <145502+pyrho@users.noreply.github.com>
This commit is contained in:
		@@ -17,9 +17,12 @@
 | 
				
			|||||||
#include "print.h"
 | 
					#include "print.h"
 | 
				
			||||||
#include "process_combo.h"
 | 
					#include "process_combo.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
__attribute__((weak)) combo_t key_combos[COMBO_COUNT] = {
 | 
					#ifndef COMBO_VARIABLE_LEN
 | 
				
			||||||
 | 
					__attribute__((weak)) combo_t key_combos[COMBO_COUNT] = {};
 | 
				
			||||||
};
 | 
					#else
 | 
				
			||||||
 | 
					extern combo_t key_combos[];
 | 
				
			||||||
 | 
					extern int     COMBO_LEN;
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
__attribute__((weak)) void process_combo_event(uint8_t combo_index, bool pressed) {}
 | 
					__attribute__((weak)) void process_combo_event(uint8_t combo_index, bool pressed) {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -141,8 +144,11 @@ bool process_combo(uint16_t keycode, keyrecord_t *record) {
 | 
				
			|||||||
    if (!is_combo_enabled()) {
 | 
					    if (!is_combo_enabled()) {
 | 
				
			||||||
        return true;
 | 
					        return true;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					#ifndef COMBO_VARIABLE_LEN
 | 
				
			||||||
    for (current_combo_index = 0; current_combo_index < COMBO_COUNT; ++current_combo_index) {
 | 
					    for (current_combo_index = 0; current_combo_index < COMBO_COUNT; ++current_combo_index) {
 | 
				
			||||||
 | 
					#else 
 | 
				
			||||||
 | 
					    for (current_combo_index = 0; current_combo_index < COMBO_LEN; ++current_combo_index) {
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
        combo_t *combo = &key_combos[current_combo_index];
 | 
					        combo_t *combo = &key_combos[current_combo_index];
 | 
				
			||||||
        is_combo_key |= process_single_combo(combo, keycode, record);
 | 
					        is_combo_key |= process_single_combo(combo, keycode, record);
 | 
				
			||||||
        no_combo_keys_pressed = no_combo_keys_pressed && NO_COMBO_KEYS_ARE_DOWN;
 | 
					        no_combo_keys_pressed = no_combo_keys_pressed && NO_COMBO_KEYS_ARE_DOWN;
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user