summaryrefslogtreecommitdiffstats
path: root/keyboards/durgod
diff options
context:
space:
mode:
authorDonald Kjer <don.kjer@gmail.com>2021-07-22 00:09:00 -0700
committerGitHub <noreply@github.com>2021-07-22 00:09:00 -0700
commit13a514923a726cfa04c170c533cd706fa5d3a37e (patch)
tree2ee067c8f79e401b76aef34d54ed770c573e4337 /keyboards/durgod
parent931bf52b74b2f1d205e37b98f900a3ed10ef4a00 (diff)
[Keyboard] Add Durgod Taurus K310 keyboard (#12314)
Co-authored-by: Tyler Tidman <tyler.tidman@draak.ca> Co-authored-by: Simon Arlott <sa.me.uk>
Diffstat (limited to 'keyboards/durgod')
-rw-r--r--keyboards/durgod/k310/base/readme.md6
-rw-r--r--keyboards/durgod/k310/base/rules.mk1
-rw-r--r--keyboards/durgod/k310/readme.md4
-rw-r--r--keyboards/durgod/k310/rules.mk1
-rw-r--r--keyboards/durgod/k320/base/readme.md6
-rw-r--r--keyboards/durgod/k320/base/rules.mk1
-rw-r--r--keyboards/durgod/k320/keymaps/default/keymap.json26
-rw-r--r--keyboards/durgod/k320/keymaps/default_toggle_mac_windows/keymap.c367
-rw-r--r--keyboards/durgod/k320/keymaps/via/keymap.c90
-rw-r--r--keyboards/durgod/k320/keymaps/via/readme.md12
-rw-r--r--keyboards/durgod/k320/keymaps/via/rules.mk4
-rw-r--r--keyboards/durgod/k320/readme.md55
-rw-r--r--keyboards/durgod/k320/rules.mk30
-rw-r--r--keyboards/durgod/k3x0/config.h (renamed from keyboards/durgod/k320/config.h)14
-rw-r--r--keyboards/durgod/k3x0/halconf.h22
-rw-r--r--keyboards/durgod/k3x0/k310/base/config.h23
-rw-r--r--keyboards/durgod/k3x0/k310/base/readme.md27
-rw-r--r--keyboards/durgod/k3x0/k310/base/rules.mk1
-rw-r--r--keyboards/durgod/k3x0/k310/config.h36
-rw-r--r--keyboards/durgod/k3x0/k310/info.json (renamed from keyboards/durgod/k320/info.json)69
-rw-r--r--keyboards/durgod/k3x0/k310/k310.h78
-rw-r--r--keyboards/durgod/k3x0/k310/readme.md10
-rw-r--r--keyboards/durgod/k3x0/k310/rules.mk4
-rw-r--r--keyboards/durgod/k3x0/k320/base/config.h23
-rw-r--r--keyboards/durgod/k3x0/k320/base/readme.md27
-rw-r--r--keyboards/durgod/k3x0/k320/base/rules.mk1
-rw-r--r--keyboards/durgod/k3x0/k320/config.h33
-rw-r--r--keyboards/durgod/k3x0/k320/info.json415
-rw-r--r--keyboards/durgod/k3x0/k320/k320.h (renamed from keyboards/durgod/k320/k320.h)44
-rw-r--r--keyboards/durgod/k3x0/k320/keymaps/kuenhlee/keymap.c (renamed from keyboards/durgod/k320/keymaps/kuenhlee/keymap.c)0
-rw-r--r--keyboards/durgod/k3x0/k320/keymaps/kuenhlee/readme.md (renamed from keyboards/durgod/k320/keymaps/kuenhlee/readme.md)0
-rw-r--r--keyboards/durgod/k3x0/k320/keymaps/kuenhlee/rules.mk (renamed from keyboards/durgod/k320/keymaps/kuenhlee/rules.mk)0
-rw-r--r--keyboards/durgod/k3x0/k320/readme.md10
-rw-r--r--keyboards/durgod/k3x0/k320/rules.mk4
-rw-r--r--keyboards/durgod/k3x0/k3x0.c (renamed from keyboards/durgod/k320/k320.c)40
-rw-r--r--keyboards/durgod/k3x0/k3x0.h47
-rw-r--r--keyboards/durgod/k3x0/keymaps/chimera/keymap.c373
-rw-r--r--keyboards/durgod/k3x0/keymaps/chimera/readme.md (renamed from keyboards/durgod/k320/keymaps/default_toggle_mac_windows/readme.md)10
-rw-r--r--keyboards/durgod/k3x0/keymaps/chimera/rules.mk (renamed from keyboards/durgod/k320/keymaps/default_toggle_mac_windows/rules.mk)0
-rw-r--r--keyboards/durgod/k3x0/keymaps/default/keymap.json26
-rw-r--r--keyboards/durgod/k3x0/keymaps/default/readme.md (renamed from keyboards/durgod/k320/keymaps/default/readme.md)6
-rw-r--r--keyboards/durgod/k3x0/keymaps/default_mac/keymap.json (renamed from keyboards/durgod/k320/keymaps/default_mac/keymap.json)22
-rw-r--r--keyboards/durgod/k3x0/keymaps/default_mac/readme.md (renamed from keyboards/durgod/k320/keymaps/default_mac/readme.md)0
-rw-r--r--keyboards/durgod/k3x0/keymaps/typhon/keymap.c373
-rw-r--r--keyboards/durgod/k3x0/keymaps/typhon/readme.md65
-rw-r--r--keyboards/durgod/k3x0/keymaps/typhon/rules.mk2
-rw-r--r--keyboards/durgod/k3x0/keymaps/via/keymap.c92
-rw-r--r--keyboards/durgod/k3x0/keymaps/via/readme.md6
-rw-r--r--keyboards/durgod/k3x0/keymaps/via/rules.mk1
-rw-r--r--keyboards/durgod/k3x0/readme.md51
-rw-r--r--keyboards/durgod/k3x0/rules.mk28
51 files changed, 1944 insertions, 642 deletions
diff --git a/keyboards/durgod/k310/base/readme.md b/keyboards/durgod/k310/base/readme.md
new file mode 100644
index 0000000000..1f818dacc9
--- /dev/null
+++ b/keyboards/durgod/k310/base/readme.md
@@ -0,0 +1,6 @@
+# Taurus K310
+
+Base Model - no backlight leds
+
+See: [K310](../../k3x0/k310/base/readme.md)
+
diff --git a/keyboards/durgod/k310/base/rules.mk b/keyboards/durgod/k310/base/rules.mk
new file mode 100644
index 0000000000..ff432cc4aa
--- /dev/null
+++ b/keyboards/durgod/k310/base/rules.mk
@@ -0,0 +1 @@
+DEFAULT_FOLDER=durgod/k3x0/k310/base
diff --git a/keyboards/durgod/k310/readme.md b/keyboards/durgod/k310/readme.md
new file mode 100644
index 0000000000..234fcc875d
--- /dev/null
+++ b/keyboards/durgod/k310/readme.md
@@ -0,0 +1,4 @@
+# K310
+
+See: [K310](../k3x0/k310/readme.md)
+
diff --git a/keyboards/durgod/k310/rules.mk b/keyboards/durgod/k310/rules.mk
new file mode 100644
index 0000000000..e200539b26
--- /dev/null
+++ b/keyboards/durgod/k310/rules.mk
@@ -0,0 +1 @@
+DEFAULT_FOLDER=durgod/k3x0/k310
diff --git a/keyboards/durgod/k320/base/readme.md b/keyboards/durgod/k320/base/readme.md
new file mode 100644
index 0000000000..8b74e28e54
--- /dev/null
+++ b/keyboards/durgod/k320/base/readme.md
@@ -0,0 +1,6 @@
+# Taurus K320
+
+Base Model - no backlight leds
+
+See: [K320](../../k3x0/k320/base/readme.md)
+
diff --git a/keyboards/durgod/k320/base/rules.mk b/keyboards/durgod/k320/base/rules.mk
new file mode 100644
index 0000000000..de33470cc0
--- /dev/null
+++ b/keyboards/durgod/k320/base/rules.mk
@@ -0,0 +1 @@
+DEFAULT_FOLDER=durgod/k3x0/k320/base
diff --git a/keyboards/durgod/k320/keymaps/default/keymap.json b/keyboards/durgod/k320/keymaps/default/keymap.json
deleted file mode 100644
index d8242ae764..0000000000
--- a/keyboards/durgod/k320/keymaps/default/keymap.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "keyboard": "durgod/k320",
- "keymap": "default",
- "layout": "LAYOUT_all",
- "layers": [
- [
- "KC_ESC", "KC_F1", "KC_F2", "KC_F3", "KC_F4", "KC_F5", "KC_F6", "KC_F7", "KC_F8", "KC_F9", "KC_F10", "KC_F11", "KC_F12", "KC_PSCR", "KC_SLCK", "KC_PAUS",
- "KC_GRV", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "KC_MINS", "KC_EQL", "KC_BSPC", "KC_INS", "KC_HOME", "KC_PGUP",
- "KC_TAB", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "KC_LBRC", "KC_RBRC", "KC_BSLS", "KC_DEL", "KC_END", "KC_PGDN",
- "KC_CAPS", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT", "KC_NUHS", "KC_ENT",
- "KC_LSFT", "KC_NUBS", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_RSFT", "KC_UP",
- "KC_LCTL", "KC_LGUI", "KC_LALT", "KC_SPC", "KC_RALT", "MO(1)", "KC_APP", "KC_RCTL", "KC_LEFT", "KC_DOWN", "KC_RGHT"
- ],
- [
- "KC_TRNS", "KC_MPLY", "KC_MSTP", "KC_MPRV", "KC_MNXT", "KC_MUTE", "KC_VOLD", "KC_VOLU", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
- "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
- "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
- "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
- "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
- "KC_TRNS", "KC_TGUI", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"
- ]
- ],
- "author":"dkjer",
- "notes":"",
- "version":1
-}
diff --git a/keyboards/durgod/k320/keymaps/default_toggle_mac_windows/keymap.c b/keyboards/durgod/k320/keymaps/default_toggle_mac_windows/keymap.c
deleted file mode 100644
index 8494fbe039..0000000000
--- a/keyboards/durgod/k320/keymaps/default_toggle_mac_windows/keymap.c
+++ /dev/null
@@ -1,367 +0,0 @@
-/* Copyright 2021 kuenhlee and Don Kjer
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-// Layer shorthand
-enum _layer {
- _WBL,
- _WFL,
- _WSL,
- _MBL,
- _MFL,
- _MSL
-};
-
-#ifndef DEFAULT_LAYOUT
-# define DEFAULT_LAYOUT _WBL // Change to _MBL to boot into Mac layout.
-#endif
-#ifndef ALT_LAYOUT
-# define ALT_LAYOUT _MBL // Layout to display 'MR' led when active.
-#endif
-
-static bool win_key_locked = false;
-static bool mac_media_locked = false;
-static bool win_appkey_pressed = false;
-static bool mac_fnkey_pressed = false;
-
-
-// Defines the keycodes used by our macros in process_record_user
-enum custom_keycodes {
- KC_TGUI = SAFE_RANGE, // Toggle between GUI Lock or Unlock (Windows)
- KC_TMED, // Toggle between Fx keys or Media keys (Mac)
- KC_WFN, // Windows function key
- KC_MFN, // Mac function key
- MO_WSL, // Windows system key
- MO_MSL, // Mac system key
- DF_W2MBL, // Change layout from Windows to Mac
- DF_M2WBL // Change layout from Mac to Windows
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Keymap _WBL: Windows Base Layer (Default Layer)
- * ,-----------------------------------------------------------. ,--------------.
- * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12| |Prnt|ScLk|Paus|
- * |-----------------------------------------------------------| |--------------|
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backsp | | Ins|Home|PgUp|
- * |-----------------------------------------------------------| |--------------|
- * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| | Del| End|PgDn|
- * |-----------------------------------------------------------| `--------------'
- * |CAPS | A| S| D| F| G| H| J| K| L| ;| '| #|Ret |
- * |-----------------------------------------------------------| ,----.
- * |Shift| \| Z| X| C| V| B| N| M| ,| .| /|Shift | | Up |
- * |-----------------------------------------------------------| ,-------------.
- * |Ctrl|Gui |Alt | Space |Alt |Func |App|Ctrl | |Lft| Dn |Rig |
- * `-----------------------------------------------------------' `-------------'
- */
- [_WBL] = LAYOUT_all( /* Windows Base Layer */
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_WFN, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- /* Keymap _WFL: Windows Function Layer
- * ,-----------------------------------------------------------. ,--------------.
- * | |Play|Stop|Prev|Next| |Mute|Vol+|Vol-| | | | | | | | | | |
- * |-----------------------------------------------------------| |--------------|
- * | | | | | | | | | | | | | | | | | | |
- * |-----------------------------------------------------------| |--------------|
- * | | | | | | | | | | | | | | | | | | |
- * |-----------------------------------------------------------| `--------------'
- * | | | | | | | | | | | | | | |
- * |-----------------------------------------------------------| ,----.
- * | | | | | | | | | | | | | | | |
- * |-----------------------------------------------------------| ,-------------.
- * | |Lock| | | |Func |Sys| | | | | |
- * `-----------------------------------------------------------' `-------------'
- */
- [_WFL] = LAYOUT_all( /* Windows First Layer */
- _______, KC_MPLY, KC_MSTP, KC_MPRV, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_TGUI, _______, _______, _______, _______, MO_WSL, _______, _______, _______, _______
- ),
- /* Keymap _WSL: Windows System Layer
- * ,-----------------------------------------------------------. ,--------------.
- * |Reset |Sleep| | |Power| | | | | | | | | |MAC| | |
- * |-----------------------------------------------------------| |--------------|
- * | | | | | | | | | | | | | | | | | | |
- * |-----------------------------------------------------------| |--------------|
- * | | | | | | | | | | | | | | | | | | |
- * |-----------------------------------------------------------| `--------------'
- * | | | | | | | | | | | | | | |
- * |-----------------------------------------------------------| ,----.
- * | | | | | | | | | | | | | | | |
- * |-----------------------------------------------------------| ,-------------.
- * | | | | | |Func |Sys| | | | | |
- * `-----------------------------------------------------------' `-------------'
- */
- [_WSL] = LAYOUT_all( /* Windows Second / System Layer */
- RESET, KC_SLEP, XXXXXXX, XXXXXXX, KC_PWR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DF_W2MBL, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, DEBUG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
- ),
-
- /* Keymap _MBL: Mac Base Layer (Alternate Layout)
- * ,-----------------------------------------------------------. ,--------------.
- * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12| | f13| f14| f15|
- * |-----------------------------------------------------------| |--------------|
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backsp | | Ins|Home|PgUp|
- * |-----------------------------------------------------------| |--------------|
- * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| | Del| End|PgDn|
- * |-----------------------------------------------------------| `--------------'
- * |CAPS | A| S| D| F| G| H| J| K| L| ;| '| #|Ret |
- * |-----------------------------------------------------------| ,----.
- * |Shift| \| Z| X| C| V| B| N| M| ,| .| /|Shift | | Up |
- * |-----------------------------------------------------------| ,-------------.
- * |Ctrl|Alt |Gui | Space |Gui |Alt|Func |Ctrl | |Lft| Dn |Rig |
- * `-----------------------------------------------------------' `-------------'
- */
- [_MBL] = LAYOUT_all( /* Mac Base Layer */
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_MFN, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- /* Keymap _MFL: Mac Function Layer
- * ,-----------------------------------------------------------. ,--------------.
- * | |Bri-|Bri+|MCon|LPad| | | |Prv|Ply| |Nxt|Mute|Vol-|Vol+| |TMed| | |
- * |-----------------------------------------------------------| |--------------|
- * | | | | | | | | | | | | | | | | | | |
- * |-----------------------------------------------------------| |--------------|
- * | | | | | | | | | | | | | | | | | | |
- * |-----------------------------------------------------------| `--------------'
- * | | | | | | | | | | | | | | |
- * |-----------------------------------------------------------| ,----.
- * | | | | | | | | | | | | | | | |
- * |-----------------------------------------------------------| ,-------------.
- * | | | | | |Sys|Func | | | | | |
- * `-----------------------------------------------------------' `-------------'
- */
- [_MFL] = LAYOUT_all( /* Mac First Layer */
- _______, KC_BRID, KC_BRIU, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_TMED, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, MO_MSL, _______, _______, _______, _______, _______
- ),
- /* Keymap _MSL: Mac System Layer
- * ,-----------------------------------------------------------. ,--------------.
- * |Reset | | | |Sleep| | | | | | | | | |WIN| | |
- * |-----------------------------------------------------------| |--------------|
- * | | | | | | | | | | | | | | | | | | |
- * |-----------------------------------------------------------| |--------------|
- * | | | | | | | | | | | | | | | | | | |
- * |-----------------------------------------------------------| `--------------'
- * | | | | | | | | | | | | | | |
- * |-----------------------------------------------------------| ,----.
- * | | | | | | | | | | | | | | | |
- * |-----------------------------------------------------------| ,-------------.
- * | | | | | |Sys|Func | | | | | |
- * `-----------------------------------------------------------' `-------------'
- */
- [_MSL] = LAYOUT_all( /* Mac Second / System Layer */
- RESET, XXXXXXX, XXXXXXX, XXXXXXX, KC_SLEP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DF_M2WBL, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, DEBUG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
- )
-};
-
-void unlock_win_key(void) {
- win_key_locked = false;
- mac_media_locked = false;
- writePinHigh(LED_WIN_LOCK_PIN);
-}
-
-void toggle_lock_win_key(void) {
- win_key_locked = !win_key_locked;
- writePin(LED_WIN_LOCK_PIN, !win_key_locked);
-}
-
-void toggle_lock_media_key(void) {
- mac_media_locked = !mac_media_locked;
- writePin(LED_WIN_LOCK_PIN, !mac_media_locked);
-}
-
-#ifdef CONSOLE_ENABLE
-void dprint_global_layers(void) {
- dprint("Global Layers:");
- if (IS_LAYER_ON(_WFL)) { dprint(" _WFL"); }
- if (IS_LAYER_ON(_WSL)) { dprint(" _WSL"); }
- if (IS_LAYER_ON(_MFL)) { dprint(" _MFL"); }
- if (IS_LAYER_ON(_MSL)) { dprint(" _MSL"); }
- dprintf("\n");
-}
-
-void dprint_layers(layer_state_t state) {
- dprint("Layers:");
- if (IS_LAYER_ON_STATE(state, _WFL)) { dprint(" _WFL"); }
- if (IS_LAYER_ON_STATE(state, _WSL)) { dprint(" _WSL"); }
- if (IS_LAYER_ON_STATE(state, _MFL)) { dprint(" _MFL"); }
- if (IS_LAYER_ON_STATE(state, _MSL)) { dprint(" _MSL"); }
- dprintf("\n");
-}
-#endif
-
-layer_state_t default_layer_state_set_user(layer_state_t state) {
-#ifdef CONSOLE_ENABLE
- dprintf("default_layer_state_set_user: 0x%x\n", state);
- dprint_global_layers();
-#endif
- // Disable windows key lock on default layer transition.
- unlock_win_key();
- win_appkey_pressed = false;
- mac_fnkey_pressed = false;
- writePin(LED_MR_LOCK_PIN, !IS_LAYER_ON_STATE(state, ALT_LAYOUT));
- return state;
-}
-
-layer_state_t layer_state_set_user(layer_state_t state) {
-#ifdef CONSOLE_ENABLE
- dprintf("layer_state_set_user: 0x%x\n", state);
- dprint_layers(state);
-#endif
- return state;
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case KC_TGUI:
- if (!record->event.pressed) {
- // Toggle GUI lock on key release
- toggle_lock_win_key();
- }
- break;
- case KC_TMED:
- // Only trigger when Fn key is also held down, to avoid accidental unlock.
- if (!mac_fnkey_pressed) { return false; }
- if (!record->event.pressed) {
- // Toggle Media Lock on key release
- toggle_lock_media_key();
- }
- break;
- case KC_LGUI:
- if (win_key_locked) { return false; }
- break;
- case KC_WFN:
- // Like MO(_WFL), but also enables _WSL if KC_APP is already pressed down.
- if (record->event.pressed) {
- layer_on(_WFL);
- if (win_appkey_pressed) {
- // Also enable Secondary layer if App key is being held down.
- win_appkey_pressed = false;
- layer_on(_WSL);
- }
- } else {
- if (IS_LAYER_ON(_WFL)) { layer_off(_WFL); }
- if (IS_LAYER_ON(_MSL)) { layer_off(_MSL); }
- }
- break;
- case KC_APP:
- if (record->event.pressed) {
- // Don't actually press down the app menu key
- win_appkey_pressed = true;
- } else {
- if (IS_LAYER_ON(_WSL)) { layer_off(_WSL); }
- if (IS_LAYER_ON(_MFL)) { layer_off(_MFL); }
- if (win_appkey_pressed) {
- win_appkey_pressed = false;
- // Tap the KC_APP key on key release.
- tap_code(KC_APP);
- }
- }
- return false;
- break;
- case KC_MFN:
- // Mac Fn key. Emit Fn keycode, and also transition layers similar to KC_WFN.
- if (record->event.pressed) {
- mac_fnkey_pressed = true;
- layer_on(_MFL);
- // Also enable Secondary layer if Right-Alt key is being held down.
- if (get_mods() & MOD_BIT(KC_RALT)) {
- layer_on(_MSL);
- }
- } else {
- mac_fnkey_pressed = false;
- if (!mac_media_locked) {
- if (IS_LAYER_ON(_MFL)) { layer_off(_MFL); }
- if (IS_LAYER_ON(_WSL)) { layer_off(_WSL); }
- }
- }
- break;
- case KC_RALT:
- // Disable MSL/WFL layer on key-up.
- if (!record->event.pressed) {
- if (IS_LAYER_ON(_MSL)) { layer_off(_MSL); }
- if (IS_LAYER_ON(_WFL)) { layer_off(_WFL); }
- }
- break;
- case MO_WSL:
- if (record->event.pressed) {
- layer_on(_WSL);
- } else {
- if (IS_LAYER_ON(_WSL)) { layer_off(_WSL); }
- if (IS_LAYER_ON(_MFL)) { layer_off(_MFL); }
- }
- break;
- case MO_MSL:
- if (record->event.pressed) {
- layer_on(_MSL);
- } else {
- if (IS_LAYER_ON(_MSL)) { layer_off(_MSL); }
- if (IS_LAYER_ON(_WFL)) { layer_off(_WFL); }
- }
- break;
- case DF_W2MBL:
- if (!record->event.pressed) {
- // Switch base layer, but preserve first/secondary layers.
- default_layer_set(1UL<<_MBL);
- layer_state_set(1UL<<_MFL | 1UL<<_MSL);
- }
- break;
- case DF_M2WBL:
- if (!record->event.pressed) {
- // Switch base layer, but preserve first/secondary layers.
- default_layer_set(1UL<<_WBL);
- layer_state_set(1UL<<_WFL | 1UL<<_WSL);
- }
- break;
- case RESET:
- if (record->event.pressed) {
- // Flash LEDs to indicate bootloader mode is enabled.
- on_all_leds();
- }
- break;
- }
- return true;
-}
-