diff options
Diffstat (limited to 'tmk_core/common/action.c')
| -rw-r--r-- | tmk_core/common/action.c | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/tmk_core/common/action.c b/tmk_core/common/action.c index 901089634..f9e6c17dc 100644 --- a/tmk_core/common/action.c +++ b/tmk_core/common/action.c | |||
| @@ -53,6 +53,22 @@ void action_exec(keyevent_t event) | |||
| 53 | #endif | 53 | #endif |
| 54 | } | 54 | } |
| 55 | 55 | ||
| 56 | #if !defined(NO_ACTION_LAYER) && defined(PREVENT_STUCK_MODIFIERS) | ||
| 57 | bool disable_action_cache = false; | ||
| 58 | |||
| 59 | void process_action_nocache(keyrecord_t *record) | ||
| 60 | { | ||
| 61 | disable_action_cache = true; | ||
| 62 | process_action(record); | ||
| 63 | disable_action_cache = false; | ||
| 64 | } | ||
| 65 | #else | ||
| 66 | void process_action_nocache(keyrecord_t *record) | ||
| 67 | { | ||
| 68 | process_action(record); | ||
| 69 | } | ||
| 70 | #endif | ||
| 71 | |||
| 56 | __attribute__ ((weak)) | 72 | __attribute__ ((weak)) |
| 57 | void process_action_kb(keyrecord_t *record) {} | 73 | void process_action_kb(keyrecord_t *record) {} |
| 58 | 74 | ||
| @@ -67,7 +83,7 @@ void process_action(keyrecord_t *record) | |||
| 67 | 83 | ||
| 68 | process_action_kb(record); | 84 | process_action_kb(record); |
| 69 | 85 | ||
| 70 | action_t action = layer_switch_get_action(event.key); | 86 | action_t action = store_or_get_action(event.pressed, event.key); |
| 71 | dprint("ACTION: "); debug_action(action); | 87 | dprint("ACTION: "); debug_action(action); |
| 72 | #ifndef NO_ACTION_LAYER | 88 | #ifndef NO_ACTION_LAYER |
| 73 | dprint(" layer_state: "); layer_debug(); | 89 | dprint(" layer_state: "); layer_debug(); |
