diff options
author | Drashna Jaelre <[email protected]> | 2022-05-14 15:07:08 -0700 |
---|---|---|
committer | GitHub <[email protected]> | 2022-05-14 23:07:08 +0100 |
commit | db887e63d708925ad759e3504a6bc9ceef4aeb8f (patch) | |
tree | 7366242dc8834ff5ddb761ff162fa444bf64653f /quantum/quantum.c | |
parent | baa8d07fdb32a35f9ff5020d655271b01e057ddc (diff) | |
download | qmk_firmware-db887e63d708925ad759e3504a6bc9ceef4aeb8f.tar.gz qmk_firmware-db887e63d708925ad759e3504a6bc9ceef4aeb8f.zip |
Enhancement and fixes of "Secure" feature (#16958)
Diffstat (limited to 'quantum/quantum.c')
-rw-r--r-- | quantum/quantum.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/quantum/quantum.c b/quantum/quantum.c index b54b46760c..ac3e2d90b4 100644 --- a/quantum/quantum.c +++ b/quantum/quantum.c @@ -571,3 +571,16 @@ const char *get_u16_str(uint16_t curr_num, char curr_pad) { last_pad = curr_pad; return get_numeric_str(buf, sizeof(buf), curr_num, curr_pad); } + +#if defined(SECURE_ENABLE) +void secure_hook_quantum(secure_status_t secure_status) { + // If keys are being held when this is triggered, they may not be released properly + // this can result in stuck keys, mods and layers. To prevent that, manually + // clear these, when it is triggered. + + if (secure_status == SECURE_PENDING) { + clear_keyboard(); + layer_clear(); + } +} +#endif |