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 900b6da15..1e7f7ca76 100644 --- a/users/drashna/process_records.c +++ b/users/drashna/process_records.c | |||
@@ -18,7 +18,7 @@ | |||
18 | #include "version.h" | 18 | #include "version.h" |
19 | 19 | ||
20 | uint16_t copy_paste_timer; | 20 | uint16_t copy_paste_timer; |
21 | 21 | bool host_driver_disabled = false; | |
22 | // Defines actions tor my global custom keycodes. Defined in drashna.h file | 22 | // Defines actions tor my global custom keycodes. Defined in drashna.h file |
23 | // Then runs the _keymap's record handier if not processed here | 23 | // Then runs the _keymap's record handier if not processed here |
24 | 24 | ||
@@ -198,6 +198,23 @@ bool process_record_user(uint16_t keycode, keyrecord_t *re | |||
198 | eeconfig_update_user(userspace_config.raw); | 198 | eeconfig_update_user(userspace_config.raw); |
199 | } | 199 | } |
200 | } | 200 | } |
201 | break; | ||
202 | case KEYLOCK: { | ||
203 | static host_driver_t *host_driver = 0; | ||
204 | |||
205 | if (record->event.pressed) { | ||
206 | if (host_get_driver()) { | ||
207 | host_driver = host_get_driver(); | ||
208 | clear_keyboard(); | ||
209 | host_set_driver(0); | ||
210 | host_driver_disabled = true; | ||
211 | } else { | ||
212 | host_set_driver(host_driver); | ||
213 | host_driver_disabled = false; | ||
214 | } | ||
215 | } | ||
216 | break; | ||
217 | } | ||
201 | #endif | 218 | #endif |
202 | } | 219 | } |
203 | return true; | 220 | return true; |