diff options
Diffstat (limited to 'users/drashna/process_records.c')
-rw-r--r-- | users/drashna/process_records.c | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/users/drashna/process_records.c b/users/drashna/process_records.c index 900b6da15e..1e7f7ca762 100644 --- a/users/drashna/process_records.c +++ b/users/drashna/process_records.c @@ -18,7 +18,7 @@ #include "version.h" uint16_t copy_paste_timer; - +bool host_driver_disabled = false; // Defines actions tor my global custom keycodes. Defined in drashna.h file // Then runs the _keymap's record handier if not processed here @@ -198,6 +198,23 @@ bool process_record_user(uint16_t keycode, keyrecord_t *re eeconfig_update_user(userspace_config.raw); } } + break; + case KEYLOCK: { + static host_driver_t *host_driver = 0; + + if (record->event.pressed) { + if (host_get_driver()) { + host_driver = host_get_driver(); + clear_keyboard(); + host_set_driver(0); + host_driver_disabled = true; + } else { + host_set_driver(host_driver); + host_driver_disabled = false; + } + } + break; + } #endif } return true; |