moved oneshot cancellation code outside of process_record.

The oneshot cancellation code do not depend on the
action_tapping_process and since process_record get called via the
action_tapping_process logic moved the oneshot cancellation code into
the action_exec function just before the action_tapping_process call
master
SjB 2017-01-29 12:56:20 -05:00
parent 6f44ca7a59
commit 45e0d09414
1 changed files with 8 additions and 8 deletions

View File

@ -49,6 +49,13 @@ void action_exec(keyevent_t event)
keyrecord_t record = { .event = event }; keyrecord_t record = { .event = event };
#if (defined(ONESHOT_TIMEOUT) && (ONESHOT_TIMEOUT > 0))
if (has_oneshot_layer_timed_out()) {
dprintf("Oneshot layer: timeout\n");
clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED);
}
#endif
#ifndef NO_ACTION_TAPPING #ifndef NO_ACTION_TAPPING
action_tapping_process(record); action_tapping_process(record);
#else #else
@ -100,15 +107,8 @@ bool process_record_quantum(keyrecord_t *record) {
return true; return true;
} }
void process_record(keyrecord_t *record) void process_record(keyrecord_t *record)
{ {
#if (defined(ONESHOT_TIMEOUT) && (ONESHOT_TIMEOUT > 0))
if (has_oneshot_layer_timed_out()) {
dprintf("Oneshot layer: timeout\n");
clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED);
}
#endif
if (IS_NOEVENT(record->event)) { return; } if (IS_NOEVENT(record->event)) { return; }
if(!process_record_quantum(record)) if(!process_record_quantum(record))