|
|
|
@ -46,18 +46,20 @@ bool process_record_quantum(keyrecord_t *record) {
|
|
|
|
|
uint16_t keycode;
|
|
|
|
|
|
|
|
|
|
#if !defined(NO_ACTION_LAYER) && defined(PREVENT_STUCK_MODIFIERS)
|
|
|
|
|
uint8_t layer;
|
|
|
|
|
/* TODO: Use store_or_get_action() or a similar function. */
|
|
|
|
|
if (!disable_action_cache) {
|
|
|
|
|
uint8_t layer;
|
|
|
|
|
|
|
|
|
|
if (record->event.pressed) {
|
|
|
|
|
layer = layer_switch_get_layer(key);
|
|
|
|
|
update_source_layers_cache(key, layer);
|
|
|
|
|
} else {
|
|
|
|
|
layer = read_source_layers_cache(key);
|
|
|
|
|
}
|
|
|
|
|
keycode = keymap_key_to_keycode(layer, key);
|
|
|
|
|
#else
|
|
|
|
|
keycode = keymap_key_to_keycode(layer_switch_get_layer(key), key);
|
|
|
|
|
if (record->event.pressed) {
|
|
|
|
|
layer = layer_switch_get_layer(key);
|
|
|
|
|
update_source_layers_cache(key, layer);
|
|
|
|
|
} else {
|
|
|
|
|
layer = read_source_layers_cache(key);
|
|
|
|
|
}
|
|
|
|
|
keycode = keymap_key_to_keycode(layer, key);
|
|
|
|
|
} else
|
|
|
|
|
#endif
|
|
|
|
|
keycode = keymap_key_to_keycode(layer_switch_get_layer(key), key);
|
|
|
|
|
|
|
|
|
|
// This is how you use actions here
|
|
|
|
|
// if (keycode == KC_LEAD) {
|
|
|
|
|