Added cancel_key_lock function (#15321)
This commit is contained in:
parent
4461355cce
commit
7f67504993
3 changed files with 8 additions and 1 deletions
|
@ -19,4 +19,5 @@ First, enable Key Lock by setting `KEY_LOCK_ENABLE = yes` in your `rules.mk`. Th
|
||||||
Key Lock is only able to hold standard action keys and [One Shot modifier](one_shot_keys.md) keys (for example, if you have your Shift defined as `OSM(KC_LSFT)`).
|
Key Lock is only able to hold standard action keys and [One Shot modifier](one_shot_keys.md) keys (for example, if you have your Shift defined as `OSM(KC_LSFT)`).
|
||||||
This does not include any of the QMK special functions (except One Shot modifiers), or shifted versions of keys such as `KC_LPRN`. If it's in the [Basic Keycodes](keycodes_basic.md) list, it can be held.
|
This does not include any of the QMK special functions (except One Shot modifiers), or shifted versions of keys such as `KC_LPRN`. If it's in the [Basic Keycodes](keycodes_basic.md) list, it can be held.
|
||||||
|
|
||||||
Switching layers will not cancel the Key Lock.
|
Switching layers will not cancel the Key Lock. The Key Lock can be cancelled by calling the `cancel_key_lock()` function.
|
||||||
|
|
||||||
|
|
|
@ -56,6 +56,11 @@ static inline uint16_t translate_keycode(uint16_t keycode) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void cancel_key_lock(void) {
|
||||||
|
watching = false;
|
||||||
|
UNSET_KEY_STATE(0x0);
|
||||||
|
}
|
||||||
|
|
||||||
bool process_key_lock(uint16_t *keycode, keyrecord_t *record) {
|
bool process_key_lock(uint16_t *keycode, keyrecord_t *record) {
|
||||||
// We start by categorizing the keypress event. In the event of a down
|
// We start by categorizing the keypress event. In the event of a down
|
||||||
// event, there are several possibilities:
|
// event, there are several possibilities:
|
||||||
|
|
|
@ -18,4 +18,5 @@
|
||||||
|
|
||||||
#include "quantum.h"
|
#include "quantum.h"
|
||||||
|
|
||||||
|
void cancel_key_lock(void);
|
||||||
bool process_key_lock(uint16_t *keycode, keyrecord_t *record);
|
bool process_key_lock(uint16_t *keycode, keyrecord_t *record);
|
||||||
|
|
Loading…
Reference in a new issue