|
|
@ -55,6 +55,7 @@ void action_exec(keyevent_t event) |
|
|
|
|
|
|
|
#if !defined(NO_ACTION_LAYER) && defined(PREVENT_STUCK_MODIFIERS) |
|
|
|
bool disable_action_cache = false; |
|
|
|
action_t pressed_actions_cache[MATRIX_ROWS][MATRIX_COLS]; |
|
|
|
|
|
|
|
void process_action_nocache(keyrecord_t *record) |
|
|
|
{ |
|
|
@ -78,16 +79,14 @@ void process_action_nocache(keyrecord_t *record) |
|
|
|
action_t store_or_get_action(bool pressed, keypos_t key) |
|
|
|
{ |
|
|
|
#if !defined(NO_ACTION_LAYER) && defined(PREVENT_STUCK_MODIFIERS) |
|
|
|
static action_t pressed_actions[MATRIX_ROWS][MATRIX_COLS]; |
|
|
|
|
|
|
|
if (disable_action_cache) { |
|
|
|
return layer_switch_get_action(key); |
|
|
|
} |
|
|
|
|
|
|
|
if (pressed) { |
|
|
|
pressed_actions[key.row][key.col] = layer_switch_get_action(key); |
|
|
|
pressed_actions_cache[key.row][key.col] = layer_switch_get_action(key); |
|
|
|
} |
|
|
|
return pressed_actions[key.row][key.col]; |
|
|
|
return pressed_actions_cache[key.row][key.col]; |
|
|
|
#else |
|
|
|
return layer_switch_get_action(key); |
|
|
|
#endif |
|
|
|