diff options
Diffstat (limited to 'keyboards/durgod/k320/k320.c')
-rw-r--r-- | keyboards/durgod/k320/k320.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/keyboards/durgod/k320/k320.c b/keyboards/durgod/k320/k320.c index f5500ea83..42091f36c 100644 --- a/keyboards/durgod/k320/k320.c +++ b/keyboards/durgod/k320/k320.c | |||
@@ -40,3 +40,23 @@ void led_init_ports(void) { | |||
40 | off_all_leds(); | 40 | off_all_leds(); |
41 | } | 41 | } |
42 | 42 | ||
43 | |||
44 | #ifndef WINLOCK_DISABLED | ||
45 | static bool win_key_locked = false; | ||
46 | |||
47 | bool process_record_kb(uint16_t keycode, keyrecord_t *record) { | ||
48 | switch (keycode) { | ||
49 | case KC_TGUI: | ||
50 | if (record->event.pressed) { | ||
51 | // Toggle GUI lock on key press | ||
52 | win_key_locked = !win_key_locked; | ||
53 | writePin(LED_WIN_LOCK_PIN, !win_key_locked); | ||
54 | } | ||
55 | break; | ||
56 | case KC_LGUI: | ||
57 | if (win_key_locked) { return false; } | ||
58 | break; | ||
59 | } | ||
60 | return process_record_user(keycode, record); | ||
61 | } | ||
62 | #endif /* WINLOCK_DISABLED */ | ||