summaryrefslogtreecommitdiffstats
path: root/keyboards/durgod/k320/k320.c
diff options
context:
space:
mode:
authorDonald Kjer <don.kjer@gmail.com>2021-03-20 17:11:22 -0700
committerGitHub <noreply@github.com>2021-03-21 11:11:22 +1100
commit00a0c81f8ea0d0ae3e8fe794370e218a42f93800 (patch)
tree40ecf685afc53f5786ec46295bb59ccdbd60acf3 /keyboards/durgod/k320/k320.c
parent945b7a0613860e4d95b6a421467ee0e337b6d89f (diff)
Durgod keyboard refactor in preparation for adding additional durgod keyboards (#11978)
* Durgod keyboard refactor in preparation for adding additional durgod keyboards * Moving Durgod board configuration into a common location * Reformatting layout macro whitespace * Moving TGUI key functionality to the keyboard level * Replacing default keymap.c with keymap.json * Changing default and default_toggle_mac_windows keymaps to LAYOUT_all * Increasing EEPROM size to support more VIA layers * Fixing media keys; KC_MRWD/KC_MFFD => KC_MPRV/KC_NXT * Move ISO Enter key to the correct row in Durgod K320 * Minor whitespace and readme cleanup for K320 * Changing durgod/k320 debounce back to default * Simplifying DURGOD_STM32_F070's chconf.h Co-authored-by: Simon Arlott <sa.me.uk> Co-authored-by: Tyler Tidman <tyler.tidman@draak.ca>
Diffstat (limited to 'keyboards/durgod/k320/k320.c')
-rw-r--r--keyboards/durgod/k320/k320.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/keyboards/durgod/k320/k320.c b/keyboards/durgod/k320/k320.c
index f5500ea830..42091f36cd 100644
--- a/keyboards/durgod/k320/k320.c
+++ b/keyboards/durgod/k320/k320.c
@@ -40,3 +40,23 @@ void led_init_ports(void) {
off_all_leds();
}
+
+#ifndef WINLOCK_DISABLED
+static bool win_key_locked = false;
+
+bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case KC_TGUI:
+ if (record->event.pressed) {
+ // Toggle GUI lock on key press
+ win_key_locked = !win_key_locked;
+ writePin(LED_WIN_LOCK_PIN, !win_key_locked);
+ }
+ break;
+ case KC_LGUI:
+ if (win_key_locked) { return false; }
+ break;
+ }
+ return process_record_user(keycode, record);
+}
+#endif /* WINLOCK_DISABLED */