|
@@ -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) {
|