aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keyboards/kyria/keymaps/default/keymap.c220
-rw-r--r--keyboards/kyria/keymaps/default/rules.mk3
-rw-r--r--keyboards/kyria/rev1/rev1.c17
-rw-r--r--keyboards/splitkb/kyria/.noci (renamed from keyboards/kyria/.noci)0
-rw-r--r--keyboards/splitkb/kyria/config.h (renamed from keyboards/kyria/config.h)0
-rw-r--r--keyboards/splitkb/kyria/info.json (renamed from keyboards/kyria/info.json)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/asapjockey/config.h (renamed from keyboards/kyria/keymaps/asapjockey/config.h)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/asapjockey/keymap.c (renamed from keyboards/kyria/keymaps/asapjockey/keymap.c)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/asapjockey/rules.mk (renamed from keyboards/kyria/keymaps/asapjockey/rules.mk)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/benji/config.h (renamed from keyboards/kyria/keymaps/benji/config.h)2
-rw-r--r--keyboards/splitkb/kyria/keymaps/benji/glcdfont.c (renamed from keyboards/kyria/keymaps/benji/glcdfont.c)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/benji/keymap.c (renamed from keyboards/kyria/keymaps/benji/keymap.c)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/benji/readme.md246
-rw-r--r--keyboards/splitkb/kyria/keymaps/benji/rules.mk (renamed from keyboards/kyria/keymaps/benji/rules.mk)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/cjuniet/config.h (renamed from keyboards/kyria/keymaps/cjuniet/config.h)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/cjuniet/default.json (renamed from keyboards/kyria/keymaps/cjuniet/default.json)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/cjuniet/keymap.c (renamed from keyboards/kyria/keymaps/cjuniet/keymap.c)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/cjuniet/rules.mk (renamed from keyboards/kyria/keymaps/cjuniet/rules.mk)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/corodiak/config.h (renamed from keyboards/kyria/keymaps/corodiak/config.h)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/corodiak/keymap.c (renamed from keyboards/kyria/keymaps/corodiak/keymap.c)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/corodiak/rules.mk (renamed from keyboards/kyria/keymaps/corodiak/rules.mk)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/cwebster2/config.h (renamed from keyboards/kyria/keymaps/cwebster2/config.h)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/cwebster2/keymap.c (renamed from keyboards/kyria/keymaps/cwebster2/keymap.c)8
-rw-r--r--keyboards/splitkb/kyria/keymaps/cwebster2/rules.mk (renamed from keyboards/kyria/keymaps/cwebster2/rules.mk)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/default/config.h (renamed from keyboards/kyria/keymaps/default/config.h)17
-rw-r--r--keyboards/splitkb/kyria/keymaps/default/keymap.c172
-rw-r--r--keyboards/splitkb/kyria/keymaps/default/rules.mk (renamed from keyboards/kyria/keymaps/shinze/rules.mk)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/drashna/config.h (renamed from keyboards/kyria/keymaps/drashna/config.h)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/drashna/keymap.c (renamed from keyboards/kyria/keymaps/drashna/keymap.c)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/drashna/rules.mk (renamed from keyboards/kyria/keymaps/drashna/rules.mk)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/ghidalgo93/config.h (renamed from keyboards/kyria/keymaps/ghidalgo93/config.h)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/ghidalgo93/keymap.c (renamed from keyboards/kyria/keymaps/ghidalgo93/keymap.c)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/ghidalgo93/rules.mk (renamed from keyboards/kyria/keymaps/ghidalgo93/rules.mk)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/gotham/README.md (renamed from keyboards/kyria/keymaps/gotham/README.md)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/gotham/config.h (renamed from keyboards/kyria/keymaps/gotham/config.h)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/gotham/encoder_utils.c (renamed from keyboards/kyria/keymaps/gotham/encoder_utils.c)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/gotham/encoder_utils.h (renamed from keyboards/kyria/keymaps/gotham/encoder_utils.h)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/gotham/keycodes.h (renamed from keyboards/kyria/keymaps/gotham/keycodes.h)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/gotham/keymap.c (renamed from keyboards/kyria/keymaps/gotham/keymap.c)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/gotham/oled_utils.c (renamed from keyboards/kyria/keymaps/gotham/oled_utils.c)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/gotham/oled_utils.h (renamed from keyboards/kyria/keymaps/gotham/oled_utils.h)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/gotham/rules.mk (renamed from keyboards/kyria/keymaps/gotham/rules.mk)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/gotham/thumbstick.c (renamed from keyboards/kyria/keymaps/gotham/thumbstick.c)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/gotham/thumbstick.h (renamed from keyboards/kyria/keymaps/gotham/thumbstick.h)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/j-inc/config.h (renamed from keyboards/kyria/keymaps/j-inc/config.h)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/j-inc/keymap.c (renamed from keyboards/kyria/keymaps/j-inc/keymap.c)7
-rw-r--r--keyboards/splitkb/kyria/keymaps/j-inc/rules.mk (renamed from keyboards/kyria/keymaps/j-inc/rules.mk)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/jhelvy/config.h (renamed from keyboards/kyria/keymaps/jhelvy/config.h)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/jhelvy/keymap.c (renamed from keyboards/kyria/keymaps/jhelvy/keymap.c)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/jhelvy/rules.mk (renamed from keyboards/kyria/keymaps/jhelvy/rules.mk)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/kejadlen/config.h (renamed from keyboards/kyria/keymaps/kejadlen/config.h)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/kejadlen/keymap.c (renamed from keyboards/kyria/keymaps/kejadlen/keymap.c)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/kejadlen/rules.mk (renamed from keyboards/kyria/keymaps/kejadlen/rules.mk)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/manna-harbour_miryoku/config.h (renamed from keyboards/kyria/keymaps/manna-harbour_miryoku/config.h)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/manna-harbour_miryoku/keymap.c (renamed from keyboards/kyria/keymaps/manna-harbour_miryoku/keymap.c)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/mattir/config.h (renamed from keyboards/kyria/keymaps/mattir/config.h)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/mattir/keymap.c (renamed from keyboards/kyria/keymaps/mattir/keymap.c)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/mattir/readme.md (renamed from keyboards/kyria/keymaps/mattir/readme.md)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/mattir/rules.mk (renamed from keyboards/kyria/keymaps/mattir/rules.mk)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/mattir2/config.h (renamed from keyboards/kyria/keymaps/mattir2/config.h)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/mattir2/keymap.c (renamed from keyboards/kyria/keymaps/mattir2/keymap.c)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/mattir2/readme.md (renamed from keyboards/kyria/keymaps/mattir2/readme.md)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/mattir2/rules.mk (renamed from keyboards/kyria/keymaps/mattir2/rules.mk)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/ninjonas/README.md (renamed from keyboards/kyria/keymaps/ninjonas/README.md)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/ninjonas/config.h (renamed from keyboards/kyria/keymaps/ninjonas/config.h)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/ninjonas/keymap.c (renamed from keyboards/kyria/keymaps/ninjonas/keymap.c)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/ninjonas/oled.c (renamed from keyboards/kyria/keymaps/ninjonas/oled.c)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/ninjonas/rules.mk (renamed from keyboards/kyria/keymaps/ninjonas/rules.mk)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/pierrec83/config.h (renamed from keyboards/kyria/keymaps/pierrec83/config.h)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/pierrec83/encoders.c (renamed from keyboards/kyria/keymaps/pierrec83/encoders.c)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/pierrec83/keymap.c (renamed from keyboards/kyria/keymaps/pierrec83/keymap.c)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/pierrec83/keymap.json (renamed from keyboards/kyria/keymaps/pierrec83/keymap.json)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/pierrec83/layers.h (renamed from keyboards/kyria/keymaps/pierrec83/layers.h)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/pierrec83/readme.md (renamed from keyboards/kyria/keymaps/pierrec83/readme.md)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/pierrec83/rules.mk (renamed from keyboards/kyria/keymaps/pierrec83/rules.mk)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/plattfot/README.md (renamed from keyboards/kyria/keymaps/plattfot/README.md)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/plattfot/config.h (renamed from keyboards/kyria/keymaps/plattfot/config.h)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/plattfot/keymap.c (renamed from keyboards/kyria/keymaps/plattfot/keymap.c)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/plattfot/rules.mk (renamed from keyboards/kyria/keymaps/plattfot/rules.mk)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/rmw/config.h (renamed from keyboards/kyria/keymaps/rmw/config.h)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/rmw/keymap.c (renamed from keyboards/kyria/keymaps/rmw/keymap.c)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/rmw/readme.md (renamed from keyboards/kyria/keymaps/rmw/readme.md)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/rmw/rules.mk (renamed from keyboards/kyria/keymaps/rmw/rules.mk)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/shinze/config.h (renamed from keyboards/kyria/keymaps/shinze/config.h)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/shinze/keymap.c (renamed from keyboards/kyria/keymaps/shinze/keymap.c)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/shinze/rules.mk3
-rw-r--r--keyboards/splitkb/kyria/keymaps/tessachka/config.h (renamed from keyboards/kyria/keymaps/tessachka/config.h)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/tessachka/keymap.c (renamed from keyboards/kyria/keymaps/tessachka/keymap.c)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/tessachka/rules.mk (renamed from keyboards/kyria/keymaps/tessachka/rules.mk)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/thomasbaart/config.h (renamed from keyboards/kyria/keymaps/thomasbaart/config.h)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/thomasbaart/keymap.c (renamed from keyboards/kyria/keymaps/thomasbaart/keymap.c)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/thomasbaart/rules.mk (renamed from keyboards/kyria/keymaps/thomasbaart/rules.mk)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/via/config.h40
-rw-r--r--keyboards/splitkb/kyria/keymaps/via/keymap.c248
-rw-r--r--keyboards/splitkb/kyria/keymaps/via/rules.mk9
-rwxr-xr-xkeyboards/splitkb/kyria/keymaps/winternebs/config.h (renamed from keyboards/kyria/keymaps/winternebs/config.h)2
-rwxr-xr-xkeyboards/splitkb/kyria/keymaps/winternebs/glcdfont.c (renamed from keyboards/kyria/keymaps/winternebs/glcdfont.c)0
-rwxr-xr-xkeyboards/splitkb/kyria/keymaps/winternebs/keymap.c (renamed from keyboards/kyria/keymaps/winternebs/keymap.c)12
-rwxr-xr-xkeyboards/splitkb/kyria/keymaps/winternebs/rules.mk (renamed from keyboards/kyria/keymaps/winternebs/rules.mk)0
-rw-r--r--keyboards/splitkb/kyria/kyria.c (renamed from keyboards/kyria/kyria.c)1
-rw-r--r--keyboards/splitkb/kyria/kyria.h (renamed from keyboards/kyria/kyria.h)2
-rw-r--r--keyboards/splitkb/kyria/readme.md (renamed from keyboards/kyria/readme.md)0
-rw-r--r--keyboards/splitkb/kyria/rev1/config.h (renamed from keyboards/kyria/rev1/config.h)44
-rw-r--r--keyboards/splitkb/kyria/rev1/rev1.c123
-rw-r--r--keyboards/splitkb/kyria/rev1/rev1.h (renamed from keyboards/kyria/rev1/rev1.h)17
-rw-r--r--keyboards/splitkb/kyria/rev1/rules.mk (renamed from keyboards/kyria/rev1/rules.mk)0
-rw-r--r--keyboards/splitkb/kyria/rules.mk (renamed from keyboards/kyria/rules.mk)2
-rw-r--r--keyboards/splitkb/zima/config.h41
-rw-r--r--keyboards/splitkb/zima/keymaps/via/config.h20
-rw-r--r--keyboards/splitkb/zima/keymaps/via/keymap.c68
-rw-r--r--keyboards/splitkb/zima/keymaps/via/rules.mk2
111 files changed, 1012 insertions, 314 deletions
diff --git a/keyboards/kyria/keymaps/default/keymap.c b/keyboards/kyria/keymaps/default/keymap.c
deleted file mode 100644
index c6254c1a5..000000000
--- a/keyboards/kyria/keymaps/default/keymap.c
+++ /dev/null
@@ -1,220 +0,0 @@
1/* Copyright 2019 Thomas Baart <thomas@splitkb.com>
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18enum layers {
19 _QWERTY = 0,
20 _LOWER,
21 _RAISE,
22 _ADJUST
23};
24
25const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
26/*
27 * Base Layer: QWERTY
28 *
29 * ,-------------------------------------------. ,-------------------------------------------.
30 * |RAIS/ESC| Q | W | E | R | T | | Y | U | I | O | P | | \ |
31 * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
32 * |Ctrl/BS | A | S | D | F | G | | H | J | K | L | ; : | ' " |
33 * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
34 * | LShift | Z | X | C | V | B |LShift|LShift| |LShift|LShift| N | M | , < | . > | / ? | - _ |
35 * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
36 * | GUI | Del | Enter| Space| Esc | | Enter| Space| Tab | Bksp | AltGr|
37 * | | | Alt | Lower| Raise| | Lower| Raise| | | |
38 * `----------------------------------' `----------------------------------'
39 */
40 [_QWERTY] = LAYOUT(
41 LT(_RAISE, KC_ESC), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_PIPE,
42 MT(MOD_LCTL, KC_BSPC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
43 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LSFT, KC_LSFT, KC_LSFT, KC_LSFT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_MINS,
44 KC_LGUI, KC_DEL, MT(MOD_LALT, KC_ENT), LT(_LOWER, KC_SPC), LT(_RAISE, KC_ESC), LT(_LOWER, KC_ENT), LT(_RAISE, KC_SPC), KC_TAB, KC_BSPC, KC_RALT
45 ),
46/*
47 * Lower Layer: Symbols
48 *
49 * ,-------------------------------------------. ,-------------------------------------------.
50 * | | ! | @ | { | } | | | | | | | | | | \ |
51 * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
52 * | | # | $ | ( | ) | ` | | + | - | / | * | % | ' " |
53 * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
54 * | | % | ^ | [ | ] | ~ | | | | | | & | = | , | . | / ? | - _ |
55 * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
56 * | | | | ; | = | | = | ; | | | |
57 * | | | | | | | | | | | |
58 * `----------------------------------' `----------------------------------'
59 */
60 [_LOWER] = LAYOUT(
61 _______, KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, _______, _______, _______, _______, _______, KC_BSLS,
62 _______, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_GRV, KC_PLUS, KC_MINS, KC_SLSH, KC_ASTR, KC_PERC, KC_QUOT,
63 _______, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD, _______, _______, _______, _______, KC_AMPR, KC_EQL, KC_COMM, KC_DOT, KC_SLSH, KC_MINS,
64 _______, _______, _______, KC_SCLN, KC_EQL, KC_EQL, KC_SCLN, _______, _______, _______
65 ),
66/*
67 * Raise Layer: Number keys, media, navigation
68 *
69 * ,-------------------------------------------. ,-------------------------------------------.
70 * | | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | |
71 * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
72 * | | | Prev | Play | Next | VolUp| | Left | Down | Up | Right| | |
73 * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
74 * | | | | | Mute | VolDn| | | | | | MLeft| Mdown| MUp |MRight| | |
75 * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
76 * | | | | | | | | | | | |
77 * | | | | | | | | | | | |
78 * `----------------------------------' `----------------------------------'
79 */
80 [_RAISE] = LAYOUT(
81 _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
82 _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLU, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______,
83 _______, _______, _______, _______, KC_MUTE, KC_VOLD, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, _______, _______,
84 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
85 ),
86/*
87 * Adjust Layer: Function keys, RGB
88 *
89 * ,-------------------------------------------. ,-------------------------------------------.
90 * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | |
91 * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
92 * | | TOG | SAI | HUI | VAI | MOD | | | | | F11 | F12 | |
93 * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
94 * | | | SAD | HUD | VAD | RMOD | | | | | | | | | | | |
95 * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
96 * | | | | | | | | | | | |
97 * | | | | | | | | | | | |
98 * `----------------------------------' `----------------------------------'
99 */
100 [_ADJUST] = LAYOUT(
101 _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
102 _______, RGB_TOG, RGB_SAI, RGB_HUI, RGB_VAI, RGB_MOD, _______, _______, _______, KC_F11, KC_F12, _______,
103 _______, _______, RGB_SAD, RGB_HUD, RGB_VAD, RGB_RMOD,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
104 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
105 ),
106// /*
107// * Layer template
108// *
109// * ,-------------------------------------------. ,-------------------------------------------.
110// * | | | | | | | | | | | | | |
111// * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
112// * | | | | | | | | | | | | | |
113// * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
114// * | | | | | | | | | | | | | | | | | |
115// * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
116// * | | | | | | | | | | | |
117// * | | | | | | | | | | | |
118// * `----------------------------------' `----------------------------------'
119// */
120// [_LAYERINDEX] = LAYOUT(
121// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
122// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
123// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
124// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
125// ),
126};
127
128layer_state_t layer_state_set_user(layer_state_t state) {
129 return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
130}
131
132#ifdef OLED_DRIVER_ENABLE
133oled_rotation_t oled_init_user(oled_rotation_t rotation) {
134 return OLED_ROTATION_180;
135}
136
137static void render_kyria_logo(void) {
138 static const char PROGMEM kyria_logo[] = {
139 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,192,224,240,112,120, 56, 60, 28, 30, 14, 14, 14, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 14, 14, 14, 30, 28, 60, 56,120,112,240,224,192,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
140 0, 0, 0, 0, 0, 0, 0,192,224,240,124, 62, 31, 15, 7, 3, 1,128,192,224,240,120, 56, 60, 28, 30, 14, 14, 7, 7,135,231,127, 31,255,255, 31,127,231,135, 7, 7, 14, 14, 30, 28, 60, 56,120,240,224,192,128, 1, 3, 7, 15, 31, 62,124,240,224,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
141 0, 0, 0, 0,240,252,255, 31, 7, 1, 0, 0,192,240,252,254,255,247,243,177,176, 48, 48, 48, 48, 48, 48, 48,120,254,135, 1, 0, 0,255,255, 0, 0, 1,135,254,120, 48, 48, 48, 48, 48, 48, 48,176,177,243,247,255,254,252,240,192, 0, 0, 1, 7, 31,255,252,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
142 0, 0, 0,255,255,255, 0, 0, 0, 0, 0,254,255,255, 1, 1, 7, 30,120,225,129,131,131,134,134,140,140,152,152,177,183,254,248,224,255,255,224,248,254,183,177,152,152,140,140,134,134,131,131,129,225,120, 30, 7, 1, 1,255,255,254, 0, 0, 0, 0, 0,255,255,255, 0, 0, 0, 0,255,255, 0, 0,192,192, 48, 48, 0, 0,240,240, 0, 0, 0, 0, 0, 0,240,240, 0, 0,240,240,192,192, 48, 48, 48, 48,192,192, 0, 0, 48, 48,243,243, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48,192,192, 0, 0, 0, 0, 0,
143 0, 0, 0,255,255,255, 0, 0, 0, 0, 0,127,255,255,128,128,224,120, 30,135,129,193,193, 97, 97, 49, 49, 25, 25,141,237,127, 31, 7,255,255, 7, 31,127,237,141, 25, 25, 49, 49, 97, 97,193,193,129,135, 30,120,224,128,128,255,255,127, 0, 0, 0, 0, 0,255,255,255, 0, 0, 0, 0, 63, 63, 3, 3, 12, 12, 48, 48, 0, 0, 0, 0, 51, 51, 51, 51, 51, 51, 15, 15, 0, 0, 63, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 63, 63, 48, 48, 0, 0, 12, 12, 51, 51, 51, 51, 51, 51, 63, 63, 0, 0, 0, 0, 0,
144 0, 0, 0, 0, 15, 63,255,248,224,128, 0, 0, 3, 15, 63,127,255,239,207,141, 13, 12, 12, 12, 12, 12, 12, 12, 30,127,225,128, 0, 0,255,255, 0, 0,128,225,127, 30, 12, 12, 12, 12, 12, 12, 12, 13,141,207,239,255,127, 63, 15, 3, 0, 0,128,224,248,255, 63, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
145 0, 0, 0, 0, 0, 0, 0, 3, 7, 15, 62,124,248,240,224,192,128, 1, 3, 7, 15, 30, 28, 60, 56,120,112,112,224,224,225,231,254,248,255,255,248,254,231,225,224,224,112,112,120, 56, 60, 28, 30, 15, 7, 3, 1,128,192,224,240,248,124, 62, 15, 7, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
146 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 3, 7, 15, 14, 30, 28, 60, 56,120,112,112,112,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,112,112,112,120, 56, 60, 28, 30, 14, 15, 7, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
147 };
148 oled_write_raw_P(kyria_logo, sizeof(kyria_logo));
149}
150
151static void render_qmk_logo(void) {
152 static const char PROGMEM qmk_logo[] = {
153 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,
154 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,
155 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,0};
156
157 oled_write_P(qmk_logo, false);
158}
159
160static void render_status(void) {
161 // QMK Logo and version information
162 render_qmk_logo();
163 oled_write_P(PSTR("Kyria rev1.0\n\n"), false);
164
165 // Host Keyboard Layer Status
166 oled_write_P(PSTR("Layer: "), false);
167 switch (get_highest_layer(layer_state)) {
168 case _QWERTY:
169 oled_write_P(PSTR("Default\n"), false);
170 break;
171 case _LOWER:
172 oled_write_P(PSTR("Lower\n"), false);
173 break;
174 case _RAISE:
175 oled_write_P(PSTR("Raise\n"), false);
176 break;
177 case _ADJUST:
178 oled_write_P(PSTR("Adjust\n"), false);
179 break;
180 default:
181 oled_write_P(PSTR("Undefined\n"), false);
182 }
183
184 // Host Keyboard LED Status
185 uint8_t led_usb_state = host_keyboard_leds();
186 oled_write_P(IS_LED_ON(led_usb_state, USB_LED_NUM_LOCK) ? PSTR("NUMLCK ") : PSTR(" "), false);
187 oled_write_P(IS_LED_ON(led_usb_state, USB_LED_CAPS_LOCK) ? PSTR("CAPLCK ") : PSTR(" "), false);
188 oled_write_P(IS_LED_ON(led_usb_state, USB_LED_SCROLL_LOCK) ? PSTR("SCRLCK ") : PSTR(" "), false);
189}
190
191void oled_task_user(void) {
192 if (is_keyboard_master()) {
193 render_status(); // Renders the current keyboard state (layer, lock, caps, scroll, etc)
194 } else {
195 render_kyria_logo();
196 }
197}
198#endif
199
200#ifdef ENCODER_ENABLE
201bool encoder_update_user(uint8_t index, bool clockwise) {
202 if (index == 0) {
203 // Volume control
204 if (clockwise) {
205 tap_code(KC_VOLU);
206 } else {
207 tap_code(KC_VOLD);
208 }
209 }
210 else if (index == 1) {
211 // Page up/Page down
212 if (clockwise) {
213 tap_code(KC_PGDN);
214 } else {
215 tap_code(KC_PGUP);
216 }
217 }
218 return true;
219}
220#endif
diff --git a/keyboards/kyria/keymaps/default/rules.mk b/keyboards/kyria/keymaps/default/rules.mk
deleted file mode 100644
index e3486a8a9..000000000
--- a/keyboards/kyria/keymaps/default/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
1OLED_DRIVER_ENABLE = yes # Enables the use of OLED displays
2ENCODER_ENABLE = yes # Enables the use of one or more encoders
3RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow \ No newline at end of file
diff --git a/keyboards/kyria/rev1/rev1.c b/keyboards/kyria/rev1/rev1.c
deleted file mode 100644
index 622ac279b..000000000
--- a/keyboards/kyria/rev1/rev1.c
+++ /dev/null
@@ -1,17 +0,0 @@
1#include "rev1.h"
2
3#ifdef SWAP_HANDS_ENABLE
4__attribute__ ((weak))
5
6const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
7 {{0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, {5, 4}, {6, 4}, {7, 4}},
8 {{0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {5, 5}, {6, 5}, {7, 5}},
9 {{0, 6}, {1, 6}, {2, 6}, {3, 6}, {4, 6}, {5, 6}, {6, 6}, {7, 6}},
10 {{0, 7}, {1, 7}, {2, 7}, {3, 7}, {4, 7}, {5, 7}, {6, 7}, {7, 7}},
11 {{0, 0}, {1, 0}, {2, 0}, {3, 0}, {4, 0}, {5, 0}, {6, 0}, {7, 0}},
12 {{0, 1}, {1, 1}, {2, 1}, {3, 1}, {4, 1}, {5, 1}, {6, 1}, {7, 1}},
13 {{0, 2}, {1, 2}, {2, 2}, {3, 2}, {4, 2}, {5, 2}, {6, 2}, {7, 2}},
14 {{0, 3}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, {5, 3}, {6, 3}, {7, 3}}
15};
16
17#endif
diff --git a/keyboards/kyria/.noci b/keyboards/splitkb/kyria/.noci
index e69de29bb..e69de29bb 100644
--- a/keyboards/kyria/.noci
+++ b/keyboards/splitkb/kyria/.noci
diff --git a/keyboards/kyria/config.h b/keyboards/splitkb/kyria/config.h
index 2e1e190bd..2e1e190bd 100644
--- a/keyboards/kyria/config.h
+++ b/keyboards/splitkb/kyria/config.h
diff --git a/keyboards/kyria/info.json b/keyboards/splitkb/kyria/info.json
index a2bfd578c..a2bfd578c 100644
--- a/keyboards/kyria/info.json
+++ b/keyboards/splitkb/kyria/info.json
diff --git a/keyboards/kyria/keymaps/asapjockey/config.h b/keyboards/splitkb/kyria/keymaps/asapjockey/config.h
index e878663bf..e878663bf 100644
--- a/keyboards/kyria/keymaps/asapjockey/config.h
+++ b/keyboards/splitkb/kyria/keymaps/asapjockey/config.h
diff --git a/keyboards/kyria/keymaps/asapjockey/keymap.c b/keyboards/splitkb/kyria/keymaps/asapjockey/keymap.c
index 9d0d2955e..9d0d2955e 100644
--- a/keyboards/kyria/keymaps/asapjockey/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/asapjockey/keymap.c
diff --git a/keyboards/kyria/keymaps/asapjockey/rules.mk b/keyboards/splitkb/kyria/keymaps/asapjockey/rules.mk
index 9b8e29419..9b8e29419 100644
--- a/keyboards/kyria/keymaps/asapjockey/rules.mk
+++ b/keyboards/splitkb/kyria/keymaps/asapjockey/rules.mk
diff --git a/keyboards/kyria/keymaps/benji/config.h b/keyboards/splitkb/kyria/keymaps/benji/config.h
index 442ecc605..ebbcd1df8 100644
--- a/keyboards/kyria/keymaps/benji/config.h
+++ b/keyboards/splitkb/kyria/keymaps/benji/config.h
@@ -18,7 +18,7 @@
18 18
19#ifdef OLED_DRIVER_ENABLE 19#ifdef OLED_DRIVER_ENABLE
20 #define OLED_DISPLAY_128X64 20 #define OLED_DISPLAY_128X64
21 #define OLED_FONT_H "keyboards/kyria/keymaps/benji/glcdfont.c" 21 #define OLED_FONT_H "keyboards/splitkb/kyria/keymaps/benji/glcdfont.c"
22#endif 22#endif
23 23
24#ifdef RGBLIGHT_ENABLE 24#ifdef RGBLIGHT_ENABLE
diff --git a/keyboards/kyria/keymaps/benji/glcdfont.c b/keyboards/splitkb/kyria/keymaps/benji/glcdfont.c
index bb1cca338..bb1cca338 100644
--- a/keyboards/kyria/keymaps/benji/glcdfont.c
+++ b/keyboards/splitkb/kyria/keymaps/benji/glcdfont.c
diff --git a/keyboards/kyria/keymaps/benji/keymap.c b/keyboards/splitkb/kyria/keymaps/benji/keymap.c
index 2e3e2b1cf..2e3e2b1cf 100644
--- a/keyboards/kyria/keymaps/benji/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/benji/keymap.c
diff --git a/keyboards/splitkb/kyria/keymaps/benji/readme.md b/keyboards/splitkb/kyria/keymaps/benji/readme.md
new file mode 100644
index 000000000..57ea5e817
--- /dev/null
+++ b/keyboards/splitkb/kyria/keymaps/benji/readme.md
@@ -0,0 +1,246 @@
1# Kyria's Default Keymap
2
3[insert pretty KLE visualization once the keymap is vetted]
4
5The default keymap contains 5 layers which allows it to include all keys found on a ISO layout TKL keyboard plus media keys.
6Hardware features of the Kyria such as OLEDs, rotary encoders and underglow are also supported.
7
8The five different layers are the following:
91. Base layer (QWERTY, Colemak-DH or Dvorak)
102. Navigation layer
113. Symbols/Numbers layer
124. Function layer
135. Adjust layer
14
15## Base layer(s)
16```
17Base Layer: -
18
19,-------------------------------------------. ,-------------------------------------------.
20| Tab | - | - | - | - | - | | - | - | - | - | - | Bksp |
21|--------+------+------+------+------+------| |------+------+------+------+------+--------|
22|Ctrl/Esc| - | - | - | - | - | | - | - | - | - | - |Ctrl/ - |
23|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
24| LShift | - | - | - | - | - | [ { |CapsLk| |F-Keys| ] } | - | - | - | - | - | RShift |
25`----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
26 |Adjust| LGUI | LAlt/| Space| Nav | | Sym | Space| AltGr| RGUI | Menu |
27 | | | Enter| | | | | | | | |
28 `----------------------------------' `----------------------------------'
29```
30Three different well-known keyboard layouts are provided to fill in the placeholder `-` keys: QWERTY, Colemak-DH, and Dvorak. The default layer can be changed at runtime, more info on that in the section on the [adjust layer](#adjust-layer).
31
32For the rest of this write-up, the base layer will be assumed to be QWERTY and will be used as a reference to describe physical keys, e.g. “<kbd>B</kbd> key” vs, the much more verbose, “lower inner index key”.
33
34```
35Base Layer: QWERTY
36
37,-------------------------------------------. ,-------------------------------------------.
38| Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp |
39|--------+------+------+------+------+------| |------+------+------+------+------+--------|
40|Ctrl/Esc| A | S | D | F | G | | H | J | K | L | ; : |Ctrl/' "|
41|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
42| LShift | Z | X | C | V | B | [ { |CapsLk| |F-keys| ] } | N | M | , < | . > | / ? | RShift |
43`----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
44 |Adjust| LGUI | LAlt/| Space| Nav | | Sym | Space| AltGr| RGUI | Menu |
45 | | | Enter| | | | | | | | |
46 `----------------------------------' `----------------------------------'
47```
48
49Aside from variations in the alpha cluster, the rest of the base keys remain the same and are designed to feel familiar.
50
51![Step-by-step animation of the transformation of an ortholinear TKL to a Kyria](https://i.imgur.com/uVDCOek.gif)
52
53<details>
54After making transformations to the classic ANSI US QWERTY TKL 60% to arrive to the layout of the Kyria, as illustrated in the animation above, the result looks like this:
55
56```
57,-------------------------------------------. ,-------------------------------------------.
58| Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp |
59|--------+------+------+------+------+------| |------+------+------+------+------+--------|
60| Cap Lk | A | S | D | F | G | | H | J | K | L | ; : | ' " |
61|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
62| LShift | Z | X | C | V | B | | | | | | N | M | , < | . > | / ? | RShift |
63`--------+-------------+--------------------+------+------| |------+------+--------------------+------+---------------'
64 | LCtrl| LGUI | LAlt | Space| | | | Space| AltGr| RGUI | Menu |
65 | | | | | | | | | | | |
66 `----------------------------------' '----------------------------------'
67```
68
69First thing to notice is the presence of blank keys. To fill in the blank keys above the <kbd>Space</kbd> keys, we can take inspiration from other split keyboards featuring an extra inner index column on each half. A common mapping for those kind of keys are the bracket keys that got removed in the fourth step of the animated transformation. The thumb keys besides <kbd>Space</kbd>s is prime real estate for dedicated layer-switching keys. It doesn't matter on which side is assigned the sym-layer-switch key but it helps to keep the nav-layer-switch on the left in order to keep the arrow keys on the right side like on a classic keyboard, so we'll put nav on the left and sym on the right. We'll address the remaining blank thumb keys later.
70
71The base layer is starting to form but there remains some flaws. One glaring issue is the position of Control. Control is a very commonly used function but the key on which it sits right now is way too tucked in under the hand to be able to press it comfortably with either the thumb or the pinky from resting position. In fact, installing a rotary encoder there is a common move among Kyria users and I guarantee you that activating Control by holding down a rotary encoder does not spark joy. Instead, let's employ a popular trick that involves remapping the current Caps Lock key, which is positioned at a comfortable position on the keyboard, to Control.
72
73We can go further though; a variant of this trick makes the Control key produce Escape when tapped. This is called a “modtap”. There is no use to tapping Control by itself without chording it with another key and there is no use to holding down the Esc key so why not combine the two into a single key?
74
75All of this leaves us with three blank keys.
76
77```
78,-------------------------------------------. ,-------------------------------------------.
79| Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp |
80|--------+------+------+------+------+------| |------+------+------+------+------+--------|
81|Ctrl/Esc| A | S | D | F | G | | H | J | K | L | ; : | ' " |
82|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
83| LShift | Z | X | C | V | B | [ { | | | | ] } | N | M | , < | . > | / ? | RShift |
84`--------+-------------+--------------------+------+------| |------+------+--------------------+------+---------------'
85 | | LGUI | LAlt | Space| Nav | | Sym | Space| AltGr| RGUI | Menu |
86 | | | | | | | | | | | |
87 `----------------------------------' '----------------------------------'
88```
89
90These keys are not easily reachable while touch typing (that is, not reachable without picking up your hand) and should thus be associated with functions that you are not likely to be typed within a stream of text. The idea is that if you have to pick up your hand to hit a key, you want it to be at a time when you are likely to be pausing your interaction with the machine, rather than in the midst of a flurry of typing. They're thus well suited for accessing the adjust layer and the function layer. We can also toss in Caps Lock even though it is an editing-type function that gets used within a stream of text because shouting in ALL-CAPS should be a deliberate action.
91
92```
93,-------------------------------------------. ,-------------------------------------------.
94| Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp |
95|--------+------+------+------+------+------| |------+------+------+------+------+--------|
96|Ctrl/Esc| A | S | D | F | G | | H | J | K | L | ; : | ' " |
97|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
98| LShift | Z | X | C | V | B | [ { |CapsLk| |F-keys| ] } | N | M | , < | . > | / ? | RShift |
99`----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
100 |Adjust| LGUI | LAlt | Space| Nav | | Sym | Space| AltGr| RGUI | Menu |
101 | | | | | | | | | | | |
102 `----------------------------------' `----------------------------------'
103```
104
105The next glaring issue is the absence of an Enter key on the current base layer this far. Enter is a very frequently used key so it deserves to be placed at a good spot in the keymap. The best way to insert it in the keymap with minimal changes to the current layout is to use modtaps. A tempting solution is to turn the <kbd>RShift</kbd> key into a <kbd>RShift/Enter</kbd> modtap but that can result in chat messages sent too frustratingly early when you're not used to it. Using GUI is also sub-optimal because tapping the GUI modifier actually has a use as opposed to taps of the Control or the Shift key. Pressing and releasing the GUI key by itself opens the App menu in many desktop environments. The natural choice is thus <kbd>LAlt/Enter</kbd>. That way, Enter is 1u away from resting thumb position and is unlikely to get accidentally activated because Alt is very rarely used in the midst of prose.
106
107Finally, we're one Quality-Of-Life update away from the actual base layer. <kbd>Ctrl/' "</kbd> not only preserves symmetry in the keymap with <kbd>Ctrl/Esc</kbd> but also helps balance the load between your pinkies and invites you to use both hands instead of contortions. Perhaps more importantly, it also frees you from the necessity of picking up your hand, breaking touch typing position and pressing a pinky key with your ring finger in order to execute Ctrl+A or Ctrl+Z. That becomes even more important on a board with such an aggressive pinky columnar stagger like the Kyria.
108
109
110```
111,-------------------------------------------. ,-------------------------------------------.
112| Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp |
113|--------+------+------+------+------+------| |------+------+------+------+------+--------|
114|Ctrl/Esc| A | S | D | F | G | | H | J | K | L | ; : |Ctrl/' "|
115|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
116| LShift | Z | X | C | V | B | [ { |CapsLk| |F-keys| ] } | N | M | , < | . > | / ? | RShift |
117`----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
118 |Adjust| LGUI | LAlt/| Space| Nav | | Sym | Space| AltGr| RGUI | Menu |
119 | | | Enter| | | | | | | | |
120 `----------------------------------' `----------------------------------'
121```
122
123</details>
124
125## Navigation layer
126
127```
128Nav Layer: Media, navigation
129
130,-------------------------------------------. ,-------------------------------------------.
131| | | | | | | | PgUp | Home | ↑ | End | VolUp| Delete |
132|--------+------+------+------+------+------| |------+------+------+------+------+--------|
133| | GUI | Alt | Ctrl | Shift| | | PgDn | ← | ↓ | → | VolDn| Insert |
134|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
135| | | | | | | |ScLck | | | | Pause|M Prev|M Play|M Next|VolMut| PrtSc |
136`----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
137 | | | | | | | | | | | |
138 | | | | | | | | | | | |
139 `----------------------------------' `----------------------------------'
140```
141
142This is where you'll find all the keys that are generally between the main block of a classic keyboard and the numpad in addition to media controls and modifiers on easy access on the home row for fast and comfortable chording with navigation keys.
143
144Useful mnemonics:
145- “GACS” to remember the order of the modifiers on the left-hand home row
146- <kbd>Scroll Lock</kbd> is on the same key as <kbd>Caps Lock</kbd> because they're both locks
147- <kbd>Delete</kbd> is on the same key as <kbd>Backspace</kbd> because they both erase characters
148- <kbd>Home</kbd> is the leftmost position on the current line so it is above <kbd>←</kbd>. Same logic applies for <kbd>End</kbd>.
149- <kbd>Media Previous</kbd> = ⏮, <kbd>Media Next</kbd> = ⏭
150- <kbd>Page Up</kbd>, <kbd>Page Down</kbd> and <kbd>Volume Up</kbd>, <kbd>Volume Down</kbd> are positioned like the main <kbd>Up</kbd> and <kbd>Down</kbd> keys.
151
152## Sym layer
153```
154Sym Layer: Numbers, symbols
155
156,-------------------------------------------. ,-------------------------------------------.
157| ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | = |
158|--------+------+------+------+------+------| |------+------+------+------+------+--------|
159| ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | + |
160|--------+------+------+------+------+------+-------------. ,------+-------------+------+------+------+------+--------|
161| | | \ | : | ; | - | \ | | [ { | | | | ] } | # ~ | _ | , | . | / | ? |
162`----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
163 | | | | | | | | | | | |
164 | | | | | | | | | | | |
165 `----------------------------------' `----------------------------------'
166```
167The top row is the unshifted num row, the home row of the layer is the shifted num row and the bottom row contains ISO keys (<kbd>\ |</kbd> and <kbd># ~</kbd>, which are respectively `KC_NUBS` and `KC_NUHS`), the hyphen `-` and the underscore `_` on the best lower row spot because of how frequent they are and redundant symbols that are already present on the base layer but are reproduced here to avoid juggling back and forth between base, shift, and sym when typing a string of symbols.
168
169The layout of the first two rows needs no introduction, you're already used to them but it's worth looking into the structure of the bottom row.
170
171The two halves are mirrored in a sense. On the right, you can find <kbd>,</kbd> <kbd>.</kbd> <kbd>/</kbd> at their usual spots with the addition of <kbd>Shift</kbd>+<kbd>/</kbd>=<kbd>?</kbd> to the right of the <kbd>/</kbd> key to remove the need to press simultaneously <kbd>Sym</kbd> and a <kbd>Shift</kbd> key to access `?`.
172
173Now, if you look at the left side, you'll notice that the mirror of <kbd>,</kbd> is <kbd>;</kbd>, the mirror of <kbd>.</kbd> is <kbd>:</kbd> and the mirror of <kbd>/</kbd> is <kbd>\\</kbd>. The same logic used for <kbd>Shift</kbd>+<kbd>/</kbd>=<kbd>?</kbd> also applies to <kbd>Shift</kbd>+<kbd>\\</kbd>=<kbd>|</kbd>.
174
175As for the ISO keys, they are positioned more or less like they would on a classic keyboard: `KC_NUBS` on the left and `KC_NUHS` on the right.
176
177## Function layer
178```
179Function Layer: Function keys
180
181,-------------------------------------------. ,-------------------------------------------.
182| | F9 | F10 | F11 | F12 | | | | | | | | |
183|--------+------+------+------+------+------| |------+------+------+------+------+--------|
184| | F5 | F6 | F7 | F8 | | | | Shift| Ctrl | Alt | GUI | |
185|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
186| | F1 | F2 | F3 | F4 | | | | | | | | | | | | |
187`--------+------+------+--------------------+------+------| |------+------+------+------+------+----------------------'
188 | | | | | | | | | | | |
189 | | | | | | | | | | | |
190 `----------------------------------' `----------------------------------'
191```
192In a similar fashion to the nav layer, pressing down `FKEYS` with the right thumb enables a numpad of function keys on the opposite hand and modifiers on the right-hand home row. Once again, mirror symmetry is leveraged in this keymap for the order of the right-hand modifiers.
193
194Since there are more than 10 function keys, the cluster of F-keys does not follow the usual 3×3+1 numpad arrangement.
195
196
197## Adjust layer
198```
199Adjust Layer: Default layer settings, RGB
200
201,-------------------------------------------. ,-------------------------------------------.
202| | | |QWERTY| | | | | | | | | |
203|--------+------+------+------+------+------| |------+------+------+------+------+--------|
204| | | |Dvorak| | | | TOG | SAI | HUI | VAI | MOD | |
205|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
206| | | |Colmak| | | | | | | | | SAD | HUD | VAD | RMOD | |
207`----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
208 | | | | | | | | | | | |
209 | | | | | | | | | | | |
210 `----------------------------------' `----------------------------------'
211```
212
213Default layer settings on the left and various RGB underglow controls on the right.
214
215The default layer settings are lined up on the middle finger column because the home middle finger key is <kbd>D</kbd> on QWERTY (like the “D” in “Dvorak”) and the lower middle finger key is <kbd>C</kbd> on QWERTY (like the “C” in “Colemak”). I can hear you say that “QWERTY” doesn't start with “E” but Dvorak and Colemak were already aligned in a column so the QWERTY may as well join the formation.
216
217NOTE: The default layer settings set by those keys are *NOT* stored in EEPROM and thus do not persist through boots. If you wish to change the default layer in a non-volatile manner, either change the order of the layers in the firmware, for example like so if you want to set Dvorak as the new default:
218```c
219enum layers {
220 _DVORAK = 0,
221 _QWERTY,
222 _COLEMAK_DH,
223 _NAV,
224 _SYM,
225 _FUNCTION,
226 _ADJUST
227};
228```
229or re-define the `QWERTY`, `COLEMAK` and `DVORAK` keys to point to custom keycodes starting on `SAFE_RANGE` and calling the `set_single_persistent_default_layer` function inside of `process_record_user`.
230
231## Hardware Features
232
233### Rotary Encoder
234The left rotary encoder is programmed to control the volume whereas the right encoder sends <kbd>PgUp</kbd> or <kbd>PgDn</kbd> on every turn.
235
236### OLEDs
237The OLEDs display the current layer at the top of the active layers stack, the Kyria logo and lock status (caps lock, num lock, scroll lock).
238
239### Underglow
240The underglow LEDs should be red.
241
242## Going further...
243
244This default keymap can be used as is, unchanged, as a daily driver for your Kyria but you're invited to treat your keymap like a bonsai. At the beginning, it's just like the default keymap but from time to time, you can tweak it a little. Cut a little key here, let another combo grow there. Slowly but surely it will be a unique keymap like no other, that will fit you like a glove.
245
246Check out the #keymap-ideas channel on the official SplitKB Discord server for inspiration.
diff --git a/keyboards/kyria/keymaps/benji/rules.mk b/keyboards/splitkb/kyria/keymaps/benji/rules.mk
index e3486a8a9..e3486a8a9 100644
--- a/keyboards/kyria/keymaps/benji/rules.mk
+++ b/keyboards/splitkb/kyria/keymaps/benji/rules.mk
diff --git a/keyboards/kyria/keymaps/cjuniet/config.h b/keyboards/splitkb/kyria/keymaps/cjuniet/config.h
index d5d9c23bf..d5d9c23bf 100644
--- a/keyboards/kyria/keymaps/cjuniet/config.h
+++ b/keyboards/splitkb/kyria/keymaps/cjuniet/config.h
diff --git a/keyboards/kyria/keymaps/cjuniet/default.json b/keyboards/splitkb/kyria/keymaps/cjuniet/default.json
index d08cabece..d08cabece 100644
--- a/keyboards/kyria/keymaps/cjuniet/default.json
+++ b/keyboards/splitkb/kyria/keymaps/cjuniet/default.json
diff --git a/keyboards/kyria/keymaps/cjuniet/keymap.c b/keyboards/splitkb/kyria/keymaps/cjuniet/keymap.c
index d0620309b..d0620309b 100644
--- a/keyboards/kyria/keymaps/cjuniet/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/cjuniet/keymap.c
diff --git a/keyboards/kyria/keymaps/cjuniet/rules.mk b/keyboards/splitkb/kyria/keymaps/cjuniet/rules.mk
index 9699ed810..9699ed810 100644
--- a/keyboards/kyria/keymaps/cjuniet/rules.mk
+++ b/keyboards/splitkb/kyria/keymaps/cjuniet/rules.mk
diff --git a/keyboards/kyria/keymaps/corodiak/config.h b/keyboards/splitkb/kyria/keymaps/corodiak/config.h
index eed94d055..eed94d055 100644
--- a/keyboards/kyria/keymaps/corodiak/config.h
+++ b/keyboards/splitkb/kyria/keymaps/corodiak/config.h
diff --git a/keyboards/kyria/keymaps/corodiak/keymap.c b/keyboards/splitkb/kyria/keymaps/corodiak/keymap.c
index 0f7e05991..0f7e05991 100644
--- a/keyboards/kyria/keymaps/corodiak/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/corodiak/keymap.c
diff --git a/keyboards/kyria/keymaps/corodiak/rules.mk b/keyboards/splitkb/kyria/keymaps/corodiak/rules.mk
index da64c4ea5..da64c4ea5 100644
--- a/keyboards/kyria/keymaps/corodiak/rules.mk
+++ b/keyboards/splitkb/kyria/keymaps/corodiak/rules.mk
diff --git a/keyboards/kyria/keymaps/cwebster2/config.h b/keyboards/splitkb/kyria/keymaps/cwebster2/config.h
index 6a56d7ee9..6a56d7ee9 100644
--- a/keyboards/kyria/keymaps/cwebster2/config.h
+++ b/keyboards/splitkb/kyria/keymaps/cwebster2/config.h
diff --git a/keyboards/kyria/keymaps/cwebster2/keymap.c b/keyboards/splitkb/kyria/keymaps/cwebster2/keymap.c
index 311ad167a..e6d8636e4 100644
--- a/keyboards/kyria/keymaps/cwebster2/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/cwebster2/keymap.c
@@ -303,9 +303,13 @@ static void render_logo(void) {
303 303
304#ifdef WPM_ENABLE 304#ifdef WPM_ENABLE
305 // Write WPM 305 // Write WPM
306 sprintf(wpm_str, "WPM: %03d", get_current_wpm()); 306 uint8_t n = get_current_wpm();
307 wpm_str[3] = '\0';
308 wpm_str[2] = '0' + n % 10;
309 wpm_str[1] = '0' + (n /= 10) % 10;
310 wpm_str[0] = '0' + n / 10 ;
307 //oled_write_P(PSTR("\n"), false); 311 //oled_write_P(PSTR("\n"), false);
308 oled_write_P(PSTR(" "), false); 312 oled_write_P(PSTR(" WPM: "), false);
309 oled_write(wpm_str, false); 313 oled_write(wpm_str, false);
310#endif 314#endif
311} 315}
diff --git a/keyboards/kyria/keymaps/cwebster2/rules.mk b/keyboards/splitkb/kyria/keymaps/cwebster2/rules.mk
index fe9ca3c2c..fe9ca3c2c 100644
--- a/keyboards/kyria/keymaps/cwebster2/rules.mk
+++ b/keyboards/splitkb/kyria/keymaps/cwebster2/rules.mk
diff --git a/keyboards/kyria/keymaps/default/config.h b/keyboards/splitkb/kyria/keymaps/default/config.h
index 9c2fb52ab..be87e7ac9 100644
--- a/keyboards/kyria/keymaps/default/config.h
+++ b/keyboards/splitkb/kyria/keymaps/default/config.h
@@ -16,18 +16,17 @@
16 16
17#pragma once 17#pragma once
18 18
19#ifdef OLED_DRIVER_ENABLE
20 #define OLED_DISPLAY_128X64
21#endif
22
23#ifdef RGBLIGHT_ENABLE 19#ifdef RGBLIGHT_ENABLE
24 #define RGBLIGHT_ANIMATIONS 20# define RGBLIGHT_ANIMATIONS
25 #define RGBLIGHT_HUE_STEP 8 21# define RGBLIGHT_HUE_STEP 8
26 #define RGBLIGHT_SAT_STEP 8 22# define RGBLIGHT_SAT_STEP 8
27 #define RGBLIGHT_VAL_STEP 8 23# define RGBLIGHT_VAL_STEP 8
28 #define RGBLIGHT_LIMIT_VAL 150 24# define RGBLIGHT_LIMIT_VAL 150
29#endif 25#endif
30 26
27// Lets you roll mod-tap keys
28#define IGNORE_MOD_TAP_INTERRUPT
29
31// If you are using an Elite C rev3 on the slave side, uncomment the lines below: 30// If you are using an Elite C rev3 on the slave side, uncomment the lines below:
32// #define SPLIT_USB_DETECT 31// #define SPLIT_USB_DETECT
33// #define NO_USB_STARTUP_CHECK 32// #define NO_USB_STARTUP_CHECK
diff --git a/keyboards/splitkb/kyria/keymaps/default/keymap.c b/keyboards/splitkb/kyria/keymaps/default/keymap.c
new file mode 100644
index 000000000..db545c6a2
--- /dev/null
+++ b/keyboards/splitkb/kyria/keymaps/default/keymap.c
@@ -0,0 +1,172 @@
1/* Copyright 2019 Thomas Baart <thomas@splitkb.com>
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18enum layers { _QWERTY = 0, _DVORAK, _COLEMAK_DH, _NAV, _SYM, _FUNCTION, _ADJUST };
19
20// Aliases for readability
21#define QWERTY DF(_QWERTY)
22#define COLEMAK DF(_COLEMAK_DH)
23#define DVORAK DF(_DVORAK)
24
25#define SYM MO(_SYM)
26#define NAV MO(_NAV)
27#define FKEYS MO(_FUNCTION)
28#define ADJUST MO(_ADJUST)
29
30#define CTL_ESC MT(MOD_LCTL, KC_ESC)
31#define CTL_QUOT MT(MOD_RCTL, KC_QUOTE)
32#define CTL_MINS MT(MOD_RCTL, KC_MINUS)
33#define ALT_ENT MT(MOD_LALT, KC_ENT)
34
35// Note: LAlt/Enter (ALT_ENT) is not the same thing as the keyboard shortcut Alt+Enter.
36// The notation `mod/tap` denotes a key that activates the modifier `mod` when held down, and
37// produces the key `tap` when tapped (i.e. pressed and released).
38
39const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
40 /*
41 * Base Layer: QWERTY
42 *
43 * ,-------------------------------------------. ,-------------------------------------------.
44 * | Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp |
45 * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
46 * |Ctrl/Esc| A | S | D | F | G | | H | J | K | L | ; : |Ctrl/' "|
47 * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
48 * | LShift | Z | X | C | V | B | [ { |CapsLk| |F-keys| ] } | N | M | , < | . > | / ? | RShift |
49 * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
50 * |Adjust| LGUI | LAlt/| Space| Nav | | Sym | Space| AltGr| RGUI | Menu |
51 * | | | Enter| | | | | | | | |
52 * `----------------------------------' `----------------------------------'
53 */
54 [_QWERTY] = LAYOUT(KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, CTL_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, CTL_QUOT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LBRC, KC_CAPS, FKEYS, KC_RBRC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, ADJUST, KC_LGUI, ALT_ENT, KC_SPC, NAV, SYM, KC_SPC, KC_RALT, KC_RGUI, KC_APP),
55
56 /*
57 * Base Layer: Dvorak
58 *
59 * ,-------------------------------------------. ,-------------------------------------------.
60 * | Tab | ' " | , < | . > | P | Y | | F | G | C | R | L | Bksp |
61 * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
62 * |Ctrl/Esc| A | O | E | U | I | | D | H | T | N | S |Ctrl/- _|
63 * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
64 * | LShift | ; : | Q | J | K | X | [ { |CapsLk| |F-keys| ] } | B | M | W | V | Z | RShift |
65 * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
66 * |Adjust| LGUI | LAlt/| Space| Nav | | Sym | Space| AltGr| RGUI | Menu |
67 * | | | Enter| | | | | | | | |
68 * `----------------------------------' `----------------------------------'
69 */
70 [_DVORAK] = LAYOUT(KC_TAB, KC_QUOTE, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC, CTL_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, CTL_MINS, KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_LBRC, KC_CAPS, FKEYS, KC_RBRC, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, ADJUST, KC_LGUI, ALT_ENT, KC_SPC, NAV, SYM, KC_SPC, KC_RALT, KC_RGUI, KC_APP),
71
72 /*
73 * Base Layer: Colemak DH
74 *
75 * ,-------------------------------------------. ,-------------------------------------------.
76 * | Tab | Q | W | F | P | B | | J | L | U | Y | ; : | Bksp |
77 * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
78 * |Ctrl/Esc| A | R | S | T | G | | M | N | E | I | O |Ctrl/' "|
79 * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
80 * | LShift | Z | X | C | D | V | [ { |CapsLk| |F-keys| ] } | K | H | , < | . > | / ? | RShift |
81 * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
82 * |Adjust| LGUI | LAlt/| Space| Nav | | Sym | Space| AltGr| RGUI | Menu |
83 * | | | Enter| | | | | | | | |
84 * `----------------------------------' `----------------------------------'
85 */
86 [_COLEMAK_DH] = LAYOUT(KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, CTL_ESC, KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, CTL_QUOT, KC_LSFT, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_LBRC, KC_CAPS, FKEYS, KC_RBRC, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, ADJUST, KC_LGUI, ALT_ENT, KC_SPC, NAV, SYM, KC_SPC, KC_RALT, KC_RGUI, KC_APP),
87
88 /*
89 * Nav Layer: Media, navigation
90 *
91 * ,-------------------------------------------. ,-------------------------------------------.
92 * | | | | | | | | PgUp | Home | ↑ | End | VolUp| Delete |
93 * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
94 * | | GUI | Alt | Ctrl | Shift| | | PgDn | ← | ↓ | → | VolDn| Insert |
95 * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
96 * | | | | | | | |ScLck | | | | Pause|M Prev|M Play|M Next|VolMut| PrtSc |
97 * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
98 * | | | | | | | | | | | |
99 * | | | | | | | | | | | |
100 * `----------------------------------' `----------------------------------'
101 */
102 [_NAV] = LAYOUT(_______, _______, _______, _______, _______, _______, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_VOLU, KC_DEL, _______, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_VOLD, KC_INS, _______, _______, _______, _______, _______, _______, _______, KC_SLCK, _______, _______, KC_PAUSE, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_PSCR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
103
104 /*
105 * Sym Layer: Numbers and symbols
106 *
107 * ,-------------------------------------------. ,-------------------------------------------.
108 * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | = |
109 * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
110 * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | + |
111 * |--------+------+------+------+------+------+-------------. ,------+-------------+------+------+------+------+--------|
112 * | | | \ | : | ; | - | \ | | [ { | | | | ] } | # ~ | _ | , | . | / | ? |
113 * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
114 * | | | | | | | | | | | |
115 * | | | | | | | | | | | |
116 * `----------------------------------' `----------------------------------'
117 */
118 [_SYM] = LAYOUT(KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PLUS, KC_PIPE, KC_BSLS, KC_COLN, KC_SCLN, KC_MINS, KC_NUBS, KC_LBRC, _______, _______, KC_RBRC, KC_NUHS, KC_UNDS, KC_COMM, KC_DOT, KC_SLSH, KC_QUES, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
119
120 /*
121 * Function Layer: Function keys
122 *
123 * ,-------------------------------------------. ,-------------------------------------------.
124 * | | F9 | F10 | F11 | F12 | | | | | | | | |
125 * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
126 * | | F5 | F6 | F7 | F8 | | | | Shift| Ctrl | Alt | GUI | |
127 * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
128 * | | F1 | F2 | F3 | F4 | | | | | | | | | | | | |
129 * `--------+------+------+--------------------+------+------| |------+------+------+------+------+----------------------'
130 * | | | | | | | | | | | |
131 * | | | | | | | | | | | |
132 * `----------------------------------' `----------------------------------'
133 */
134 [_FUNCTION] = LAYOUT(_______, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, KC_F5, KC_F6, KC_F7, KC_F8, _______, _______, KC_RSFT, KC_RCTL, KC_LALT, KC_RGUI, _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
135
136 /*
137 * Adjust Layer: Default layer settings, RGB
138 *
139 * ,-------------------------------------------. ,-------------------------------------------.
140 * | | | |QWERTY| | | | | | | | | |
141 * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
142 * | | | |Dvorak| | | | TOG | SAI | HUI | VAI | MOD | |
143 * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
144 * | | | |Colmak| | | | | | | | | SAD | HUD | VAD | RMOD | |
145 * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
146 * | | | | | | | | | | | |
147 * | | | | | | | | | | | |
148 * `----------------------------------' `----------------------------------'
149 */
150 [_ADJUST] = LAYOUT(_______, _______, _______, QWERTY, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DVORAK, _______, _______, RGB_TOG, RGB_SAI, RGB_HUI, RGB_VAI, RGB_MOD, _______, _______, _______, _______, COLEMAK, _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_HUD, RGB_VAD, RGB_RMOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
151
152 // /*
153 // * Layer template
154 // *
155 // * ,-------------------------------------------. ,-------------------------------------------.
156 // * | | | | | | | | | | | | | |
157 // * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
158 // * | | | | | | | | | | | | | |
159 // * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
160 // * | | | | | | | | | | | | | | | | | |
161 // * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
162 // * | | | | | | | | | | | |
163 // * | | | | | | | | | | | |
164 // * `----------------------------------' `----------------------------------'
165 // */
166 // [_LAYERINDEX] = LAYOUT(
167 // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
168 // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
169 // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
170 // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
171 // ),
172};
diff --git a/keyboards/kyria/keymaps/shinze/rules.mk b/keyboards/splitkb/kyria/keymaps/default/rules.mk
index 604e15465..604e15465 100644
--- a/keyboards/kyria/keymaps/shinze/rules.mk
+++ b/keyboards/splitkb/kyria/keymaps/default/rules.mk
diff --git a/keyboards/kyria/keymaps/drashna/config.h b/keyboards/splitkb/kyria/keymaps/drashna/config.h
index af6f73815..af6f73815 100644
--- a/keyboards/kyria/keymaps/drashna/config.h
+++ b/keyboards/splitkb/kyria/keymaps/drashna/config.h
diff --git a/keyboards/kyria/keymaps/drashna/keymap.c b/keyboards/splitkb/kyria/keymaps/drashna/keymap.c
index 14287d0ec..14287d0ec 100644
--- a/keyboards/kyria/keymaps/drashna/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/drashna/keymap.c
diff --git a/keyboards/kyria/keymaps/drashna/rules.mk b/keyboards/splitkb/kyria/keymaps/drashna/rules.mk
index 4036f9145..4036f9145 100644
--- a/keyboards/kyria/keymaps/drashna/rules.mk
+++ b/keyboards/splitkb/kyria/keymaps/drashna/rules.mk
diff --git a/keyboards/kyria/keymaps/ghidalgo93/config.h b/keyboards/splitkb/kyria/keymaps/ghidalgo93/config.h
index c46873c8e..c46873c8e 100644
--- a/keyboards/kyria/keymaps/ghidalgo93/config.h
+++ b/keyboards/splitkb/kyria/keymaps/ghidalgo93/config.h
diff --git a/keyboards/kyria/keymaps/ghidalgo93/keymap.c b/keyboards/splitkb/kyria/keymaps/ghidalgo93/keymap.c
index 1adbcc6ee..1adbcc6ee 100644
--- a/keyboards/kyria/keymaps/ghidalgo93/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/ghidalgo93/keymap.c
diff --git a/keyboards/kyria/keymaps/ghidalgo93/rules.mk b/keyboards/splitkb/kyria/keymaps/ghidalgo93/rules.mk
index 449e3d950..449e3d950 100644
--- a/keyboards/kyria/keymaps/ghidalgo93/rules.mk
+++ b/keyboards/splitkb/kyria/keymaps/ghidalgo93/rules.mk
diff --git a/keyboards/kyria/keymaps/gotham/README.md b/keyboards/splitkb/kyria/keymaps/gotham/README.md
index 1598e95a7..1598e95a7 100644
--- a/keyboards/kyria/keymaps/gotham/README.md
+++ b/keyboards/splitkb/kyria/keymaps/gotham/README.md
diff --git a/keyboards/kyria/keymaps/gotham/config.h b/keyboards/splitkb/kyria/keymaps/gotham/config.h
index 1b84d996f..1b84d996f 100644
--- a/keyboards/kyria/keymaps/gotham/config.h
+++ b/keyboards/splitkb/kyria/keymaps/gotham/config.h
diff --git a/keyboards/kyria/keymaps/gotham/encoder_utils.c b/keyboards/splitkb/kyria/keymaps/gotham/encoder_utils.c
index 1c2962339..1c2962339 100644
--- a/keyboards/kyria/keymaps/gotham/encoder_utils.c
+++ b/keyboards/splitkb/kyria/keymaps/gotham/encoder_utils.c
diff --git a/keyboards/kyria/keymaps/gotham/encoder_utils.h b/keyboards/splitkb/kyria/keymaps/gotham/encoder_utils.h
index 60db6c6bd..60db6c6bd 100644
--- a/keyboards/kyria/keymaps/gotham/encoder_utils.h
+++ b/keyboards/splitkb/kyria/keymaps/gotham/encoder_utils.h
diff --git a/keyboards/kyria/keymaps/gotham/keycodes.h b/keyboards/splitkb/kyria/keymaps/gotham/keycodes.h
index 0730d4925..0730d4925 100644
--- a/keyboards/kyria/keymaps/gotham/keycodes.h
+++ b/keyboards/splitkb/kyria/keymaps/gotham/keycodes.h
diff --git a/keyboards/kyria/keymaps/gotham/keymap.c b/keyboards/splitkb/kyria/keymaps/gotham/keymap.c
index a725e61fe..a725e61fe 100644
--- a/keyboards/kyria/keymaps/gotham/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/gotham/keymap.c
diff --git a/keyboards/kyria/keymaps/gotham/oled_utils.c b/keyboards/splitkb/kyria/keymaps/gotham/oled_utils.c
index 9d76c9749..9d76c9749 100644
--- a/keyboards/kyria/keymaps/gotham/oled_utils.c
+++ b/keyboards/splitkb/kyria/keymaps/gotham/oled_utils.c
diff --git a/keyboards/kyria/keymaps/gotham/oled_utils.h b/keyboards/splitkb/kyria/keymaps/gotham/oled_utils.h
index 7e3bf44c8..7e3bf44c8 100644
--- a/keyboards/kyria/keymaps/gotham/oled_utils.h
+++ b/keyboards/splitkb/kyria/keymaps/gotham/oled_utils.h
diff --git a/keyboards/kyria/keymaps/gotham/rules.mk b/keyboards/splitkb/kyria/keymaps/gotham/rules.mk
index 0bd8badb4..0bd8badb4 100644
--- a/keyboards/kyria/keymaps/gotham/rules.mk
+++ b/keyboards/splitkb/kyria/keymaps/gotham/rules.mk
diff --git a/keyboards/kyria/keymaps/gotham/thumbstick.c b/keyboards/splitkb/kyria/keymaps/gotham/thumbstick.c
index ec08fb07d..ec08fb07d 100644
--- a/keyboards/kyria/keymaps/gotham/thumbstick.c
+++ b/keyboards/splitkb/kyria/keymaps/gotham/thumbstick.c
diff --git a/keyboards/kyria/keymaps/gotham/thumbstick.h b/keyboards/splitkb/kyria/keymaps/gotham/thumbstick.h
index aff939c74..aff939c74 100644
--- a/keyboards/kyria/keymaps/gotham/thumbstick.h
+++ b/keyboards/splitkb/kyria/keymaps/gotham/thumbstick.h
diff --git a/keyboards/kyria/keymaps/j-inc/config.h b/keyboards/splitkb/kyria/keymaps/j-inc/config.h
index 833fbe4bd..833fbe4bd 100644
--- a/keyboards/kyria/keymaps/j-inc/config.h
+++ b/keyboards/splitkb/kyria/keymaps/j-inc/config.h
diff --git a/keyboards/kyria/keymaps/j-inc/keymap.c b/keyboards/splitkb/kyria/keymaps/j-inc/keymap.c
index d842e4c2b..56eac4ddf 100644
--- a/keyboards/kyria/keymaps/j-inc/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/j-inc/keymap.c
@@ -326,7 +326,12 @@ void oled_task_user(void) {
326 } else { 326 } else {
327 render_anim(); 327 render_anim();
328 oled_set_cursor(0,6); 328 oled_set_cursor(0,6);
329 sprintf(wpm_str, " WPM: %03d", get_current_wpm()); 329 uint8_t n = get_current_wpm();
330 wpm_str[3] = '\0';
331 wpm_str[2] = '0' + n % 10;
332 wpm_str[1] = '0' + (n /= 10) % 10;
333 wpm_str[0] = '0' + n / 10 ;
334 oled_write_P(PSTR(" WPM: "), false);
330 oled_write(wpm_str, false); 335 oled_write(wpm_str, false);
331 336
332 } 337 }
diff --git a/keyboards/kyria/keymaps/j-inc/rules.mk b/keyboards/splitkb/kyria/keymaps/j-inc/rules.mk
index 87d07f667..87d07f667 100644
--- a/keyboards/kyria/keymaps/j-inc/rules.mk
+++ b/keyboards/splitkb/kyria/keymaps/j-inc/rules.mk
diff --git a/keyboards/kyria/keymaps/jhelvy/config.h b/keyboards/splitkb/kyria/keymaps/jhelvy/config.h
index 6dbc0dc1d..6dbc0dc1d 100644
--- a/keyboards/kyria/keymaps/jhelvy/config.h
+++ b/keyboards/splitkb/kyria/keymaps/jhelvy/config.h
diff --git a/keyboards/kyria/keymaps/jhelvy/keymap.c b/keyboards/splitkb/kyria/keymaps/jhelvy/keymap.c
index 371007eeb..371007eeb 100644
--- a/keyboards/kyria/keymaps/jhelvy/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/jhelvy/keymap.c
diff --git a/keyboards/kyria/keymaps/jhelvy/rules.mk b/keyboards/splitkb/kyria/keymaps/jhelvy/rules.mk
index ec4c65f70..ec4c65f70 100644
--- a/keyboards/kyria/keymaps/jhelvy/rules.mk
+++ b/keyboards/splitkb/kyria/keymaps/jhelvy/rules.mk
diff --git a/keyboards/kyria/keymaps/kejadlen/config.h b/keyboards/splitkb/kyria/keymaps/kejadlen/config.h
index 3c0951f11..3c0951f11 100644
--- a/keyboards/kyria/keymaps/kejadlen/config.h
+++ b/keyboards/splitkb/kyria/keymaps/kejadlen/config.h
diff --git a/keyboards/kyria/keymaps/kejadlen/keymap.c b/keyboards/splitkb/kyria/keymaps/kejadlen/keymap.c
index 9de9be555..9de9be555 100644
--- a/keyboards/kyria/keymaps/kejadlen/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/kejadlen/keymap.c
diff --git a/keyboards/kyria/keymaps/kejadlen/rules.mk b/keyboards/splitkb/kyria/keymaps/kejadlen/rules.mk
index 35ba17e4a..35ba17e4a 100644
--- a/keyboards/kyria/keymaps/kejadlen/rules.mk
+++ b/keyboards/splitkb/kyria/keymaps/kejadlen/rules.mk
diff --git a/keyboards/kyria/keymaps/manna-harbour_miryoku/config.h b/keyboards/splitkb/kyria/keymaps/manna-harbour_miryoku/config.h
index c04bee9b4..c04bee9b4 100644
--- a/keyboards/kyria/keymaps/manna-harbour_miryoku/config.h
+++ b/keyboards/splitkb/kyria/keymaps/manna-harbour_miryoku/config.h
diff --git a/keyboards/kyria/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/splitkb/kyria/keymaps/manna-harbour_miryoku/keymap.c
index 1520387e8..1520387e8 100644
--- a/keyboards/kyria/keymaps/manna-harbour_miryoku/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/manna-harbour_miryoku/keymap.c
diff --git a/keyboards/kyria/keymaps/mattir/config.h b/keyboards/splitkb/kyria/keymaps/mattir/config.h
index 2c71428a9..2c71428a9 100644
--- a/keyboards/kyria/keymaps/mattir/config.h
+++ b/keyboards/splitkb/kyria/keymaps/mattir/config.h
diff --git a/keyboards/kyria/keymaps/mattir/keymap.c b/keyboards/splitkb/kyria/keymaps/mattir/keymap.c
index 0ee0f3d85..0ee0f3d85 100644
--- a/keyboards/kyria/keymaps/mattir/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/mattir/keymap.c
diff --git a/keyboards/kyria/keymaps/mattir/readme.md b/keyboards/splitkb/kyria/keymaps/mattir/readme.md
index 9a3dcc1e6..9a3dcc1e6 100644
--- a/keyboards/kyria/keymaps/mattir/readme.md
+++ b/keyboards/splitkb/kyria/keymaps/mattir/readme.md
diff --git a/keyboards/kyria/keymaps/mattir/rules.mk b/keyboards/splitkb/kyria/keymaps/mattir/rules.mk
index 4f5e31be1..4f5e31be1 100644
--- a/keyboards/kyria/keymaps/mattir/rules.mk
+++ b/keyboards/splitkb/kyria/keymaps/mattir/rules.mk
diff --git a/keyboards/kyria/keymaps/mattir2/config.h b/keyboards/splitkb/kyria/keymaps/mattir2/config.h
index ee61cfae3..ee61cfae3 100644
--- a/keyboards/kyria/keymaps/mattir2/config.h
+++ b/keyboards/splitkb/kyria/keymaps/mattir2/config.h
diff --git a/keyboards/kyria/keymaps/mattir2/keymap.c b/keyboards/splitkb/kyria/keymaps/mattir2/keymap.c
index 53d829320..53d829320 100644
--- a/keyboards/kyria/keymaps/mattir2/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/mattir2/keymap.c
diff --git a/keyboards/kyria/keymaps/mattir2/readme.md b/keyboards/splitkb/kyria/keymaps/mattir2/readme.md
index 117fba751..117fba751 100644
--- a/keyboards/kyria/keymaps/mattir2/readme.md
+++ b/keyboards/splitkb/kyria/keymaps/mattir2/readme.md
diff --git a/keyboards/kyria/keymaps/mattir2/rules.mk b/keyboards/splitkb/kyria/keymaps/mattir2/rules.mk
index cc5ae236f..cc5ae236f 100644
--- a/keyboards/kyria/keymaps/mattir2/rules.mk
+++ b/keyboards/splitkb/kyria/keymaps/mattir2/rules.mk
diff --git a/keyboards/kyria/keymaps/ninjonas/README.md b/keyboards/splitkb/kyria/keymaps/ninjonas/README.md
index 5c8678659..5c8678659 100644
--- a/keyboards/kyria/keymaps/ninjonas/README.md
+++ b/keyboards/splitkb/kyria/keymaps/ninjonas/README.md
diff --git a/keyboards/kyria/keymaps/ninjonas/config.h b/keyboards/splitkb/kyria/keymaps/ninjonas/config.h
index 5673e6c3d..5673e6c3d 100644
--- a/keyboards/kyria/keymaps/ninjonas/config.h
+++ b/keyboards/splitkb/kyria/keymaps/ninjonas/config.h
diff --git a/keyboards/kyria/keymaps/ninjonas/keymap.c b/keyboards/splitkb/kyria/keymaps/ninjonas/keymap.c
index ae4b3b7ba..ae4b3b7ba 100644
--- a/keyboards/kyria/keymaps/ninjonas/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/ninjonas/keymap.c
diff --git a/keyboards/kyria/keymaps/ninjonas/oled.c b/keyboards/splitkb/kyria/keymaps/ninjonas/oled.c
index 65976205b..65976205b 100644
--- a/keyboards/kyria/keymaps/ninjonas/oled.c
+++ b/keyboards/splitkb/kyria/keymaps/ninjonas/oled.c
diff --git a/keyboards/kyria/keymaps/ninjonas/rules.mk b/keyboards/splitkb/kyria/keymaps/ninjonas/rules.mk
index 94c06b80e..94c06b80e 100644
--- a/keyboards/kyria/keymaps/ninjonas/rules.mk
+++ b/keyboards/splitkb/kyria/keymaps/ninjonas/rules.mk
diff --git a/keyboards/kyria/keymaps/pierrec83/config.h b/keyboards/splitkb/kyria/keymaps/pierrec83/config.h
index eb222c0d7..eb222c0d7 100644
--- a/keyboards/kyria/keymaps/pierrec83/config.h
+++ b/keyboards/splitkb/kyria/keymaps/pierrec83/config.h
diff --git a/keyboards/kyria/keymaps/pierrec83/encoders.c b/keyboards/splitkb/kyria/keymaps/pierrec83/encoders.c
index 7505925e7..7505925e7 100644
--- a/keyboards/kyria/keymaps/pierrec83/encoders.c
+++ b/keyboards/splitkb/kyria/keymaps/pierrec83/encoders.c
diff --git a/keyboards/kyria/keymaps/pierrec83/keymap.c b/keyboards/splitkb/kyria/keymaps/pierrec83/keymap.c
index 204895dc1..204895dc1 100644
--- a/keyboards/kyria/keymaps/pierrec83/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/pierrec83/keymap.c
diff --git a/keyboards/kyria/keymaps/pierrec83/keymap.json b/keyboards/splitkb/kyria/keymaps/pierrec83/keymap.json
index 79d88009c..79d88009c 100644
--- a/keyboards/kyria/keymaps/pierrec83/keymap.json
+++ b/keyboards/splitkb/kyria/keymaps/pierrec83/keymap.json
diff --git a/keyboards/kyria/keymaps/pierrec83/layers.h b/keyboards/splitkb/kyria/keymaps/pierrec83/layers.h
index 12a988d37..12a988d37 100644
--- a/keyboards/kyria/keymaps/pierrec83/layers.h
+++ b/keyboards/splitkb/kyria/keymaps/pierrec83/layers.h
diff --git a/keyboards/kyria/keymaps/pierrec83/readme.md b/keyboards/splitkb/kyria/keymaps/pierrec83/readme.md
index fae22f836..fae22f836 100644
--- a/keyboards/kyria/keymaps/pierrec83/readme.md
+++ b/keyboards/splitkb/kyria/keymaps/pierrec83/readme.md
diff --git a/keyboards/kyria/keymaps/pierrec83/rules.mk b/keyboards/splitkb/kyria/keymaps/pierrec83/rules.mk
index 78f0ac93f..78f0ac93f 100644
--- a/keyboards/kyria/keymaps/pierrec83/rules.mk
+++ b/keyboards/splitkb/kyria/keymaps/pierrec83/rules.mk
diff --git a/keyboards/kyria/keymaps/plattfot/README.md b/keyboards/splitkb/kyria/keymaps/plattfot/README.md
index 70bb01353..70bb01353 100644
--- a/keyboards/kyria/keymaps/plattfot/README.md
+++ b/keyboards/splitkb/kyria/keymaps/plattfot/README.md
diff --git a/keyboards/kyria/keymaps/plattfot/config.h b/keyboards/splitkb/kyria/keymaps/plattfot/config.h
index 5ec5fc584..5ec5fc584 100644
--- a/keyboards/kyria/keymaps/plattfot/config.h
+++ b/keyboards/splitkb/kyria/keymaps/plattfot/config.h
diff --git a/keyboards/kyria/keymaps/plattfot/keymap.c b/keyboards/splitkb/kyria/keymaps/plattfot/keymap.c
index 78e30c156..78e30c156 100644
--- a/keyboards/kyria/keymaps/plattfot/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/plattfot/keymap.c
diff --git a/keyboards/kyria/keymaps/plattfot/rules.mk b/keyboards/splitkb/kyria/keymaps/plattfot/rules.mk
index 412546d09..412546d09 100644
--- a/keyboards/kyria/keymaps/plattfot/rules.mk
+++ b/keyboards/splitkb/kyria/keymaps/plattfot/rules.mk
diff --git a/keyboards/kyria/keymaps/rmw/config.h b/keyboards/splitkb/kyria/keymaps/rmw/config.h
index 02e5087b3..02e5087b3 100644
--- a/keyboards/kyria/keymaps/rmw/config.h
+++ b/keyboards/splitkb/kyria/keymaps/rmw/config.h
diff --git a/keyboards/kyria/keymaps/rmw/keymap.c b/keyboards/splitkb/kyria/keymaps/rmw/keymap.c
index 61d66588c..61d66588c 100644
--- a/keyboards/kyria/keymaps/rmw/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/rmw/keymap.c
diff --git a/keyboards/kyria/keymaps/rmw/readme.md b/keyboards/splitkb/kyria/keymaps/rmw/readme.md
index c05ca494b..c05ca494b 100644
--- a/keyboards/kyria/keymaps/rmw/readme.md
+++ b/keyboards/splitkb/kyria/keymaps/rmw/readme.md
diff --git a/keyboards/kyria/keymaps/rmw/rules.mk b/keyboards/splitkb/kyria/keymaps/rmw/rules.mk
index d41ffaef6..d41ffaef6 100644
--- a/keyboards/kyria/keymaps/rmw/rules.mk
+++ b/keyboards/splitkb/kyria/keymaps/rmw/rules.mk
diff --git a/keyboards/kyria/keymaps/shinze/config.h b/keyboards/splitkb/kyria/keymaps/shinze/config.h
index f00bfa8e7..f00bfa8e7 100644
--- a/keyboards/kyria/keymaps/shinze/config.h
+++ b/keyboards/splitkb/kyria/keymaps/shinze/config.h
diff --git a/keyboards/kyria/keymaps/shinze/keymap.c b/keyboards/splitkb/kyria/keymaps/shinze/keymap.c
index 98e127960..98e127960 100644
--- a/keyboards/kyria/keymaps/shinze/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/shinze/keymap.c
diff --git a/keyboards/splitkb/kyria/keymaps/shinze/rules.mk b/keyboards/splitkb/kyria/keymaps/shinze/rules.mk
new file mode 100644
index 000000000..604e15465
--- /dev/null
+++ b/keyboards/splitkb/kyria/keymaps/shinze/rules.mk
@@ -0,0 +1,3 @@
1OLED_DRIVER_ENABLE = yes # Enables the use of OLED displays
2ENCODER_ENABLE = yes # Enables the use of one or more encoders
3RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
diff --git a/keyboards/kyria/keymaps/tessachka/config.h b/keyboards/splitkb/kyria/keymaps/tessachka/config.h
index a5529128d..a5529128d 100644
--- a/keyboards/kyria/keymaps/tessachka/config.h
+++ b/keyboards/splitkb/kyria/keymaps/tessachka/config.h
diff --git a/keyboards/kyria/keymaps/tessachka/keymap.c b/keyboards/splitkb/kyria/keymaps/tessachka/keymap.c
index 38307f964..38307f964 100644
--- a/keyboards/kyria/keymaps/tessachka/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/tessachka/keymap.c
diff --git a/keyboards/kyria/keymaps/tessachka/rules.mk b/keyboards/splitkb/kyria/keymaps/tessachka/rules.mk
index b7d691efd..b7d691efd 100644
--- a/keyboards/kyria/keymaps/tessachka/rules.mk
+++ b/keyboards/splitkb/kyria/keymaps/tessachka/rules.mk
diff --git a/keyboards/kyria/keymaps/thomasbaart/config.h b/keyboards/splitkb/kyria/keymaps/thomasbaart/config.h
index 6128133ed..6128133ed 100644
--- a/keyboards/kyria/keymaps/thomasbaart/config.h
+++ b/keyboards/splitkb/kyria/keymaps/thomasbaart/config.h
diff --git a/keyboards/kyria/keymaps/thomasbaart/keymap.c b/keyboards/splitkb/kyria/keymaps/thomasbaart/keymap.c
index aed9d9762..aed9d9762 100644
--- a/keyboards/kyria/keymaps/thomasbaart/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/thomasbaart/keymap.c
diff --git a/keyboards/kyria/keymaps/thomasbaart/rules.mk b/keyboards/splitkb/kyria/keymaps/thomasbaart/rules.mk
index 9b8e29419..9b8e29419 100644
--- a/keyboards/kyria/keymaps/thomasbaart/rules.mk
+++ b/keyboards/splitkb/kyria/keymaps/thomasbaart/rules.mk
diff --git a/keyboards/splitkb/kyria/keymaps/via/config.h b/keyboards/splitkb/kyria/keymaps/via/config.h
new file mode 100644
index 000000000..3ca93f4fd
--- /dev/null
+++ b/keyboards/splitkb/kyria/keymaps/via/config.h
@@ -0,0 +1,40 @@
1/* Copyright 2019 Thomas Baart <thomas@splitkb.com>
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19#define LAYER_STATE_8BIT
20#define DYNAMIC_KEYMAP_LAYER_COUNT 5
21#define IGNORE_MOD_TAP_INTERRUPT
22
23#undef LOCKING_SUPPORT_ENABLE
24#undef LOCKING_RESYNC_ENABLE
25
26#ifdef RGBLIGHT_ENABLE
27# define RGBLIGHT_EFFECT_BREATHING
28# define RGBLIGHT_EFFECT_RAINBOW_MOOD
29# define RGBLIGHT_EFFECT_RAINBOW_SWIRL
30# define RGBLIGHT_EFFECT_SNAKE
31# define RGBLIGHT_EFFECT_KNIGHT
32# define RGBLIGHT_EFFECT_STATIC_GRADIENT
33
34# define RGBLIGHT_HUE_STEP 8
35# define RGBLIGHT_SAT_STEP 8
36# define RGBLIGHT_VAL_STEP 8
37# define RGBLIGHT_LIMIT_VAL 150
38#endif
39
40#define USB_POLLING_INTERVAL_MS 1
diff --git a/keyboards/splitkb/kyria/keymaps/via/keymap.c b/keyboards/splitkb/kyria/keymaps/via/keymap.c
new file mode 100644
index 000000000..0b79afc11
--- /dev/null
+++ b/keyboards/splitkb/kyria/keymaps/via/keymap.c
@@ -0,0 +1,248 @@
1/* Copyright 2019 Thomas Baart <thomas@splitkb.com>
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18enum layers { _BASE = 0, _NAV, _SYM, _FUNCTION, _ADJUST };
19
20// Aliases for readability
21
22#define SYM MO(_SYM)
23#define NAV MO(_NAV)
24#define FKEYS MO(_FUNCTION)
25#define ADJUST MO(_ADJUST)
26
27#define CTL_ESC MT(MOD_LCTL, KC_ESC)
28#define CTL_QUOT MT(MOD_RCTL, KC_QUOTE)
29#define CTL_MINS MT(MOD_RCTL, KC_MINUS)
30#define ALT_ENT MT(MOD_LALT, KC_ENT)
31
32// Note: LAlt/Enter (ALT_ENT) is not the same thing as the keyboard shortcut Alt+Enter.
33// The notation `mod/tap` denotes a key that activates the modifier `mod` when held down, and
34// produces the key `tap` when tapped (i.e. pressed and released).
35
36// clang-format off
37#define LAYOUT_via( \
38 L00, L01, L02, L03, L04, L05, LE0, LE1, RE0, RE1, R06, R07, R08, R09, R10, R11, \
39 L12, L13, L14, L15, L16, L17, R18, R19, R20, R21, R22, R23, \
40 L24, L25, L26, L27, L28, L29, L30, L31, R32, R33, R34, R35, R36, R37, R38, R39, \
41 L40, L41, L42, L43, L44, R45, R46, R47, R48, R49 \
42) \
43{ \
44 { LE0, LE1, L05, L04, L03, L02, L01, L00 }, \
45 { RE0, RE1, L17, L16, L15, L14, L13, L12 }, \
46 { L31, L30, L29, L28, L27, L26, L25, L24 }, \
47 { L44, L43, L42, L41, L40, KC_NO, KC_NO, KC_NO }, \
48 { KC_NO, KC_NO, R06, R07, R08, R09, R10, R11 }, \
49 { KC_NO, KC_NO, R18, R19, R20, R21, R22, R23 }, \
50 { R32, R33, R34, R35, R36, R37, R38, R39 }, \
51 { R45, R46, R47, R48, R49, KC_NO, KC_NO, KC_NO }, \
52}
53
54const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
55/*
56 * Base Layer: QWERTY
57 *
58 * ,-------------------------------------------. ,-------------------------------------------.
59 * | Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp |
60 * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
61 * |Ctrl/Esc| A | S | D | F | G | | H | J | K | L | ; : |Ctrl/' "|
62 * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
63 * | LShift | Z | X | C | V | B | [ { |CapsLk| |F-keys| ] } | N | M | , < | . > | / ? | RShift |
64 * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
65 * |Adjust| LGUI | LAlt/| Space| Nav | | Sym | Space| AltGr| RGUI | Menu |
66 * | | | Enter| | | | | | | | |
67 * `----------------------------------' `----------------------------------'
68 */
69 [_BASE] = LAYOUT_via(
70 KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_VOLD, KC_VOLU, KC_PGDN, KC_PGUP, KC_Y, KC_U , KC_I , KC_O , KC_P , KC_BSPC,
71 CTL_ESC , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H, KC_J , KC_K , KC_L ,KC_SCLN,CTL_QUOT,
72 KC_LSFT , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_LBRC,KC_CAPS, FKEYS , KC_RBRC, KC_N, KC_M ,KC_COMM, KC_DOT ,KC_SLSH, KC_RSFT,
73 ADJUST , KC_LGUI, ALT_ENT, KC_SPC , NAV , SYM , KC_SPC ,KC_RALT, KC_RGUI, KC_APP
74 ),
75
76/*
77 * Nav Layer: Media, navigation
78 *
79 * ,-------------------------------------------. ,-------------------------------------------.
80 * | | | | | | | | PgUp | Home | ↑ | End | VolUp| Delete |
81 * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
82 * | | GUI | Alt | Ctrl | Shift| | | PgDn | ← | ↓ | → | VolDn| Insert |
83 * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
84 * | | | | | | | |ScLck | | | | Pause|M Prev|M Play|M Next|VolMut| PrtSc |
85 * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
86 * | | | | | | | | | | | |
87 * | | | | | | | | | | | |
88 * `----------------------------------' `----------------------------------'
89 */
90 [_NAV] = LAYOUT_via(
91 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_VOLU, KC_DEL,
92 _______, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_VOLD, KC_INS,
93 _______, _______, _______, _______, _______, _______, _______, KC_SLCK, _______, _______,KC_PAUSE, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_PSCR,
94 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
95 ),
96
97/*
98 * Sym Layer: Numbers and symbols
99 *
100 * ,-------------------------------------------. ,-------------------------------------------.
101 * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | = |
102 * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
103 * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | + |
104 * |--------+------+------+------+------+------+-------------. ,------+-------------+------+------+------+------+--------|
105 * | | | \ | : | ; | - | \ | | [ { | | | | ] } | # ~ | _ | , | . | / | ? |
106 * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
107 * | | | | | | | | | | | |
108 * | | | | | | | | | | | |
109 * `----------------------------------' `----------------------------------'
110 */
111 [_SYM] = LAYOUT_via(
112 KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , _______, _______, _______, _______, KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_EQL ,
113 KC_TILD , KC_EXLM, KC_AT , KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PLUS,
114 KC_PIPE , KC_BSLS, KC_COLN, KC_SCLN, KC_MINS, KC_NUBS, KC_LBRC, _______, _______, KC_RBRC, KC_NUHS, KC_UNDS, KC_COMM, KC_DOT, KC_SLSH, KC_QUES,
115 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
116 ),
117
118/*
119 * Function Layer: Function keys
120 *
121 * ,-------------------------------------------. ,-------------------------------------------.
122 * | | F9 | F10 | F11 | F12 | | | | | | | | |
123 * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
124 * | | F5 | F6 | F7 | F8 | | | | Shift| Ctrl | Alt | GUI | |
125 * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
126 * | | F1 | F2 | F3 | F4 | | | | | | | | | | | | |
127 * `--------+------+------+--------------------+------+------| |------+------+------+------+------+----------------------'
128 * | | | | | | | | | | | |
129 * | | | | | | | | | | | |
130 * `----------------------------------' `----------------------------------'
131 */
132 [_FUNCTION] = LAYOUT_via(
133 _______, KC_F9 , KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
134 _______, KC_F5 , KC_F6 , KC_F7 , KC_F8 , _______, _______, KC_RSFT, KC_RCTL, KC_LALT, KC_RGUI, _______,
135 _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
136 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
137 ),
138
139/*
140 * Adjust Layer: Default layer settings, RGB
141 *
142 * ,-------------------------------------------. ,-------------------------------------------.
143 * | | | |QWERTY| | | | | | | | | |
144 * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
145 * | | | |Dvorak| | | | TOG | SAI | HUI | VAI | MOD | |
146 * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
147 * | | | |Colmak| | | | | | | | | SAD | HUD | VAD | RMOD | |
148 * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
149 * | | | | | | | | | | | |
150 * | | | | | | | | | | | |
151 * `----------------------------------' `----------------------------------'
152 */
153 [_ADJUST] = LAYOUT_via(
154 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
155 _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_SAI, RGB_HUI, RGB_VAI, RGB_MOD, _______,
156 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_HUD, RGB_VAD, RGB_RMOD, _______,
157 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
158 ),
159
160
161};
162// clang-format on
163
164#ifdef ENCODER_ENABLE
165static uint8_t encoder_state[2] = {0};
166static keypos_t encoder_ccw[2] = {{0, 0}, {0, 1}};
167static keypos_t encoder_cw[2] = {{1, 0}, {1, 1}};
168
169void encoder_action_unregister(void) {
170 for (int index = 0; index < 2; ++index) {
171 if (encoder_state[index]) {
172 keyevent_t encoder_event = (keyevent_t){.key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index], .pressed = false, .time = (timer_read() | 1)};
173 encoder_state[index] = 0;
174 action_exec(encoder_event);
175 }
176 }
177}
178
179void encoder_action_register(uint8_t index, bool clockwise) {
180 keyevent_t encoder_event = (keyevent_t){.key = clockwise ? encoder_cw[index] : encoder_ccw[index], .pressed = true, .time = (timer_read() | 1)};
181 encoder_state[index] = (clockwise ^ 1) | (clockwise << 1);
182 action_exec(encoder_event);
183}
184
185void matrix_scan_user(void) { encoder_action_unregister(); }
186
187bool encoder_update_user(uint8_t index, bool clockwise) {
188 encoder_action_register(index, clockwise);
189 return false;
190};
191#endif
192
193#ifdef OLED_DRIVER_ENABLE
194void oled_task_user(void) {
195 if (is_keyboard_master()) {
196 // QMK Logo and version information
197 // clang-format off
198 static const char PROGMEM qmk_logo[] = {
199 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,
200 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,
201 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,0};
202 // clang-format on
203
204 oled_write_P(qmk_logo, false);
205 oled_write_P(PSTR("Kyria rev1.0 w/ VIA\n\n"), false);
206
207 // Host Keyboard Layer Status
208 oled_write_P(PSTR("Layer: "), false);
209 switch (get_highest_layer(layer_state | default_layer_state)) {
210 case 0:
211 oled_write_P(PSTR("Base\n"), false);
212 break;
213 case 1:
214 oled_write_P(PSTR("Nav\n"), false);
215 break;
216 case 2:
217 oled_write_P(PSTR("Sym\n"), false);
218 break;
219 case 3:
220 oled_write_P(PSTR("Function\n"), false);
221 break;
222 case 4:
223 oled_write_P(PSTR("Adjust\n"), false);
224 break;
225 }
226
227 // Host Keyboard LED Status
228 led_t led_usb_state = host_keyboard_led_state();
229 oled_write_P(led_usb_state.num_lock ? PSTR("NUMLCK ") : PSTR(" "), false);
230 oled_write_P(led_usb_state.caps_lock ? PSTR("CAPLCK ") : PSTR(" "), false);
231 oled_write_P(led_usb_state.scroll_lock ? PSTR("SCRLCK ") : PSTR(" "), false);
232 } else {
233 // clang-format off
234 static const char PROGMEM kyria_logo[] = {
235 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,192,224,240,112,120, 56, 60, 28, 30, 14, 14, 14, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 14, 14, 14, 30, 28, 60, 56,120,112,240,224,192,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
236 0, 0, 0, 0, 0, 0, 0,192,224,240,124, 62, 31, 15, 7, 3, 1,128,192,224,240,120, 56, 60, 28, 30, 14, 14, 7, 7,135,231,127, 31,255,255, 31,127,231,135, 7, 7, 14, 14, 30, 28, 60, 56,120,240,224,192,128, 1, 3, 7, 15, 31, 62,124,240,224,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
237 0, 0, 0, 0,240,252,255, 31, 7, 1, 0, 0,192,240,252,254,255,247,243,177,176, 48, 48, 48, 48, 48, 48, 48,120,254,135, 1, 0, 0,255,255, 0, 0, 1,135,254,120, 48, 48, 48, 48, 48, 48, 48,176,177,243,247,255,254,252,240,192, 0, 0, 1, 7, 31,255,252,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
238 0, 0, 0,255,255,255, 0, 0, 0, 0, 0,254,255,255, 1, 1, 7, 30,120,225,129,131,131,134,134,140,140,152,152,177,183,254,248,224,255,255,224,248,254,183,177,152,152,140,140,134,134,131,131,129,225,120, 30, 7, 1, 1,255,255,254, 0, 0, 0, 0, 0,255,255,255, 0, 0, 0, 0,255,255, 0, 0,192,192, 48, 48, 0, 0,240,240, 0, 0, 0, 0, 0, 0,240,240, 0, 0,240,240,192,192, 48, 48, 48, 48,192,192, 0, 0, 48, 48,243,243, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48,192,192, 0, 0, 0, 0, 0,
239 0, 0, 0,255,255,255, 0, 0, 0, 0, 0,127,255,255,128,128,224,120, 30,135,129,193,193, 97, 97, 49, 49, 25, 25,141,237,127, 31, 7,255,255, 7, 31,127,237,141, 25, 25, 49, 49, 97, 97,193,193,129,135, 30,120,224,128,128,255,255,127, 0, 0, 0, 0, 0,255,255,255, 0, 0, 0, 0, 63, 63, 3, 3, 12, 12, 48, 48, 0, 0, 0, 0, 51, 51, 51, 51, 51, 51, 15, 15, 0, 0, 63, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 63, 63, 48, 48, 0, 0, 12, 12, 51, 51, 51, 51, 51, 51, 63, 63, 0, 0, 0, 0, 0,
240 0, 0, 0, 0, 15, 63,255,248,224,128, 0, 0, 3, 15, 63,127,255,239,207,141, 13, 12, 12, 12, 12, 12, 12, 12, 30,127,225,128, 0, 0,255,255, 0, 0,128,225,127, 30, 12, 12, 12, 12, 12, 12, 12, 13,141,207,239,255,127, 63, 15, 3, 0, 0,128,224,248,255, 63, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
241 0, 0, 0, 0, 0, 0, 0, 3, 7, 15, 62,124,248,240,224,192,128, 1, 3, 7, 15, 30, 28, 60, 56,120,112,112,224,224,225,231,254,248,255,255,248,254,231,225,224,224,112,112,120, 56, 60, 28, 30, 15, 7, 3, 1,128,192,224,240,248,124, 62, 15, 7, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
242 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 3, 7, 15, 14, 30, 28, 60, 56,120,112,112,112,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,112,112,112,120, 56, 60, 28, 30, 14, 15, 7, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
243 };
244 // clang-format on
245 oled_write_raw_P(kyria_logo, sizeof(kyria_logo));
246 }
247}
248#endif
diff --git a/keyboards/splitkb/kyria/keymaps/via/rules.mk b/keyboards/splitkb/kyria/keymaps/via/rules.mk
new file mode 100644
index 000000000..1a13a974e
--- /dev/null
+++ b/keyboards/splitkb/kyria/keymaps/via/rules.mk
@@ -0,0 +1,9 @@
1OLED_DRIVER_ENABLE = yes # Enables the use of OLED displays
2ENCODER_ENABLE = yes # Enables the use of one or more encoders
3RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
4VIA_ENABLE = yes
5NKRO_ENABLE = yes
6KEY_LOCK_ENABLE = no
7SPACE_CADET_ENABLE = no
8MAGIC_ENABLE = no
9GRAVE_ESCAPE_ENABLE = no
diff --git a/keyboards/kyria/keymaps/winternebs/config.h b/keyboards/splitkb/kyria/keymaps/winternebs/config.h
index db14011d1..472d57739 100755
--- a/keyboards/kyria/keymaps/winternebs/config.h
+++ b/keyboards/splitkb/kyria/keymaps/winternebs/config.h
@@ -15,7 +15,7 @@
15 */ 15 */
16#pragma once 16#pragma once
17 17
18#define OLED_FONT_H "keyboards/kyria/keymaps/winternebs/glcdfont.c" 18#define OLED_FONT_H "keyboards/splitkb/kyria/keymaps/winternebs/glcdfont.c"
19#define OLED_FONT_END 127 19#define OLED_FONT_END 127
20#ifdef OLED_DRIVER_ENABLE 20#ifdef OLED_DRIVER_ENABLE
21 #define OLED_DISPLAY_128X64 21 #define OLED_DISPLAY_128X64
diff --git a/keyboards/kyria/keymaps/winternebs/glcdfont.c b/keyboards/splitkb/kyria/keymaps/winternebs/glcdfont.c
index 7303c6aff..7303c6aff 100755
--- a/keyboards/kyria/keymaps/winternebs/glcdfont.c
+++ b/keyboards/splitkb/kyria/keymaps/winternebs/glcdfont.c
diff --git a/keyboards/kyria/keymaps/winternebs/keymap.c b/keyboards/splitkb/kyria/keymaps/winternebs/keymap.c
index 5a2ea8333..3a31efdf3 100755
--- a/keyboards/kyria/keymaps/winternebs/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/winternebs/keymap.c
@@ -699,9 +699,15 @@ void oled_task_user(void) {
699 if (is_keyboard_master()) { 699 if (is_keyboard_master()) {
700 render_anim(); 700 render_anim();
701 oled_set_cursor(0,7); 701 oled_set_cursor(0,7);
702 sprintf(wpm_str, "APM: %03d ", get_current_wpm()); 702 uint8_t n = get_current_wpm();
703 oled_write(wpm_str, false); 703 wpm_str[3] = '\0';
704 switch (get_highest_layer(layer_state)) { 704 wpm_str[2] = '0' + n % 10;
705 wpm_str[1] = '0' + (n /= 10) % 10;
706 wpm_str[0] = '0' + n / 10 ;
707 oled_write_P(PSTR("WPM: "), false);
708 oled_write(wpm_str, false);
709 oled_write_P(PSTR(" "), false);
710 switch (get_highest_layer(layer_state)) {
705 case _QWERTY: 711 case _QWERTY:
706 oled_write_ln_P(PSTR("base"), false); 712 oled_write_ln_P(PSTR("base"), false);
707 break; 713 break;
diff --git a/keyboards/kyria/keymaps/winternebs/rules.mk b/keyboards/splitkb/kyria/keymaps/winternebs/rules.mk
index 5831e23cb..5831e23cb 100755
--- a/keyboards/kyria/keymaps/winternebs/rules.mk
+++ b/keyboards/splitkb/kyria/keymaps/winternebs/rules.mk
diff --git a/keyboards/kyria/kyria.c b/keyboards/splitkb/kyria/kyria.c
index 1692093fb..21ed5e84c 100644
--- a/keyboards/kyria/kyria.c
+++ b/keyboards/splitkb/kyria/kyria.c
@@ -14,4 +14,3 @@
14 * along with this program. If not, see <http://www.gnu.org/licenses/>. 14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */ 15 */
16#include "kyria.h" 16#include "kyria.h"
17
diff --git a/keyboards/kyria/kyria.h b/keyboards/splitkb/kyria/kyria.h
index c1db6307e..2b1a29815 100644
--- a/keyboards/kyria/kyria.h
+++ b/keyboards/splitkb/kyria/kyria.h
@@ -17,7 +17,7 @@
17 17
18#include "quantum.h" 18#include "quantum.h"
19 19
20#if defined(KEYBOARD_kyria_rev1) 20#if defined(KEYBOARD_splitkb_kyria_rev1)
21# include "rev1.h" 21# include "rev1.h"
22#endif 22#endif
23 23
diff --git a/keyboards/kyria/readme.md b/keyboards/splitkb/kyria/readme.md
index ed4b14508..ed4b14508 100644
--- a/keyboards/kyria/readme.md
+++ b/keyboards/splitkb/kyria/readme.md
diff --git a/keyboards/kyria/rev1/config.h b/keyboards/splitkb/kyria/rev1/config.h
index e832db105..1b7dc9849 100644
--- a/keyboards/kyria/rev1/config.h
+++ b/keyboards/splitkb/kyria/rev1/config.h
@@ -17,28 +17,33 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
17 17
18#pragma once 18#pragma once
19 19
20
21/* USB Device descriptor parameter */ 20/* USB Device descriptor parameter */
22#define VENDOR_ID 0xFEED 21#define VENDOR_ID 0x8D1D
23#define PRODUCT_ID 0x0000 22#define PRODUCT_ID 0x9D9D
24#define DEVICE_VER 0x0001 23#define DEVICE_VER 0x0001
25#define MANUFACTURER splitkb 24#define MANUFACTURER splitKB
26#define PRODUCT Kyria Keyboard 25#define PRODUCT Kyria
27 26
28/* key matrix size */ 27/* key matrix size */
29/* Rows are doubled up */ 28/* Rows are doubled up */
30#define MATRIX_ROWS 8 29#define MATRIX_ROWS 8
31#define MATRIX_COLS 8 30#define MATRIX_COLS 8
32 31
33// wiring 32// wiring
34#define MATRIX_ROW_PINS { B4, E6, D7, D4 } 33#define MATRIX_ROW_PINS \
35#define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6, F5, F4 } 34 { B4, E6, D7, D4 }
35#define MATRIX_COL_PINS \
36 { B6, B2, B3, B1, F7, F6, F5, F4 }
36#define UNUSED_PINS 37#define UNUSED_PINS
37 38
38#define ENCODERS_PAD_A { C6 } 39#define ENCODERS_PAD_A \
39#define ENCODERS_PAD_B { B5 } 40 { C6 }
40#define ENCODERS_PAD_A_RIGHT { B5 } 41#define ENCODERS_PAD_B \
41#define ENCODERS_PAD_B_RIGHT { C6 } 42 { B5 }
43#define ENCODERS_PAD_A_RIGHT \
44 { B5 }
45#define ENCODERS_PAD_B_RIGHT \
46 { C6 }
42 47
43/* COL2ROW, ROW2COL*/ 48/* COL2ROW, ROW2COL*/
44#define DIODE_DIRECTION COL2ROW 49#define DIODE_DIRECTION COL2ROW
@@ -47,18 +52,23 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
47//#define MATRIX_HAS_GHOST 52//#define MATRIX_HAS_GHOST
48 53
49/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ 54/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
50#define DEBOUNCE 5 55#define DEBOUNCE 5
51 56
52/* 57/*
53 * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. 58 * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
54 */ 59 */
55#define SOFT_SERIAL_PIN D2 60#define SOFT_SERIAL_PIN D2
56 61
57#define RGB_DI_PIN D3 62#define RGB_DI_PIN D3
58#define RGBLED_SPLIT { 10, 10 } 63#define RGBLED_SPLIT \
64 { 10, 10 }
59#define RGBLED_NUM 20 65#define RGBLED_NUM 20
60 66
61/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ 67/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
62#define LOCKING_SUPPORT_ENABLE 68#define LOCKING_SUPPORT_ENABLE
63/* Locking resynchronize hack */ 69/* Locking resynchronize hack */
64#define LOCKING_RESYNC_ENABLE 70#define LOCKING_RESYNC_ENABLE
71
72#ifdef OLED_DRIVER_ENABLE
73# define OLED_DISPLAY_128X64
74#endif
diff --git a/keyboards/splitkb/kyria/rev1/rev1.c b/keyboards/splitkb/kyria/rev1/rev1.c
new file mode 100644
index 000000000..fef272e38
--- /dev/null
+++ b/keyboards/splitkb/kyria/rev1/rev1.c
@@ -0,0 +1,123 @@
1/* Copyright 2019 Thomas Baart <thomas@splitkb.com>
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include "rev1.h"
17
18#ifdef SWAP_HANDS_ENABLE
19// clang-format off
20__attribute__ ((weak)) const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
21 {{0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, {5, 4}, {6, 4}, {7, 4}},
22 {{0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {5, 5}, {6, 5}, {7, 5}},
23 {{0, 6}, {1, 6}, {2, 6}, {3, 6}, {4, 6}, {5, 6}, {6, 6}, {7, 6}},
24 {{0, 7}, {1, 7}, {2, 7}, {3, 7}, {4, 7}, {5, 7}, {6, 7}, {7, 7}},
25 {{0, 0}, {1, 0}, {2, 0}, {3, 0}, {4, 0}, {5, 0}, {6, 0}, {7, 0}},
26 {{0, 1}, {1, 1}, {2, 1}, {3, 1}, {4, 1}, {5, 1}, {6, 1}, {7, 1}},
27 {{0, 2}, {1, 2}, {2, 2}, {3, 2}, {4, 2}, {5, 2}, {6, 2}, {7, 2}},
28 {{0, 3}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, {5, 3}, {6, 3}, {7, 3}}
29};
30// clang-format on
31#endif
32
33#ifdef OLED_DRIVER_ENABLE
34__attribute__((weak)) oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_180; }
35
36__attribute__((weak)) void oled_task_user(void) {
37 if (is_keyboard_master()) {
38 // QMK Logo and version information
39 // clang-format off
40 static const char PROGMEM qmk_logo[] = {
41 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,
42 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,
43 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,0};
44 // clang-format on
45
46 oled_write_P(qmk_logo, false);
47 oled_write_P(PSTR("Kyria rev1.0\n\n"), false);
48
49 // Host Keyboard Layer Status
50 oled_write_P(PSTR("Layer: "), false);
51 switch (get_highest_layer(layer_state | default_layer_state)) {
52 case 0:
53 oled_write_P(PSTR("QWERTY\n"), false);
54 break;
55 case 1:
56 oled_write_P(PSTR("Dvorak\n"), false);
57 break;
58 case 2:
59 oled_write_P(PSTR("Colemak-DH\n"), false);
60 break;
61 case 3:
62 oled_write_P(PSTR("Nav\n"), false);
63 break;
64 case 4:
65 oled_write_P(PSTR("Sym\n"), false);
66 break;
67 case 5:
68 oled_write_P(PSTR("Function\n"), false);
69 break;
70 case 6:
71 oled_write_P(PSTR("Adjust\n"), false);
72 break;
73 default:
74 oled_write_P(PSTR("Undefined\n"), false);
75 }
76
77 // Host Keyboard LED Status
78 led_t led_usb_state = host_keyboard_led_state();
79 oled_write_P(led_usb_state.num_lock ? PSTR("NUMLCK ") : PSTR(" "), false);
80 oled_write_P(led_usb_state.caps_lock ? PSTR("CAPLCK ") : PSTR(" "), false);
81 oled_write_P(led_usb_state.scroll_lock ? PSTR("SCRLCK ") : PSTR(" "), false);
82 } else {
83 // clang-format off
84 static const char PROGMEM kyria_logo[] = {
85 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,192,224,240,112,120, 56, 60, 28, 30, 14, 14, 14, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 14, 14, 14, 30, 28, 60, 56,120,112,240,224,192,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
86 0, 0, 0, 0, 0, 0, 0,192,224,240,124, 62, 31, 15, 7, 3, 1,128,192,224,240,120, 56, 60, 28, 30, 14, 14, 7, 7,135,231,127, 31,255,255, 31,127,231,135, 7, 7, 14, 14, 30, 28, 60, 56,120,240,224,192,128, 1, 3, 7, 15, 31, 62,124,240,224,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
87 0, 0, 0, 0,240,252,255, 31, 7, 1, 0, 0,192,240,252,254,255,247,243,177,176, 48, 48, 48, 48, 48, 48, 48,120,254,135, 1, 0, 0,255,255, 0, 0, 1,135,254,120, 48, 48, 48, 48, 48, 48, 48,176,177,243,247,255,254,252,240,192, 0, 0, 1, 7, 31,255,252,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
88 0, 0, 0,255,255,255, 0, 0, 0, 0, 0,254,255,255, 1, 1, 7, 30,120,225,129,131,131,134,134,140,140,152,152,177,183,254,248,224,255,255,224,248,254,183,177,152,152,140,140,134,134,131,131,129,225,120, 30, 7, 1, 1,255,255,254, 0, 0, 0, 0, 0,255,255,255, 0, 0, 0, 0,255,255, 0, 0,192,192, 48, 48, 0, 0,240,240, 0, 0, 0, 0, 0, 0,240,240, 0, 0,240,240,192,192, 48, 48, 48, 48,192,192, 0, 0, 48, 48,243,243, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48,192,192, 0, 0, 0, 0, 0,
89 0, 0, 0,255,255,255, 0, 0, 0, 0, 0,127,255,255,128,128,224,120, 30,135,129,193,193, 97, 97, 49, 49, 25, 25,141,237,127, 31, 7,255,255, 7, 31,127,237,141, 25, 25, 49, 49, 97, 97,193,193,129,135, 30,120,224,128,128,255,255,127, 0, 0, 0, 0, 0,255,255,255, 0, 0, 0, 0, 63, 63, 3, 3, 12, 12, 48, 48, 0, 0, 0, 0, 51, 51, 51, 51, 51, 51, 15, 15, 0, 0, 63, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 63, 63, 48, 48, 0, 0, 12, 12, 51, 51, 51, 51, 51, 51, 63, 63, 0, 0, 0, 0, 0,
90 0, 0, 0, 0, 15, 63,255,248,224,128, 0, 0, 3, 15, 63,127,255,239,207,141, 13, 12, 12, 12, 12, 12, 12, 12, 30,127,225,128, 0, 0,255,255, 0, 0,128,225,127, 30, 12, 12, 12, 12, 12, 12, 12, 13,141,207,239,255,127, 63, 15, 3, 0, 0,128,224,248,255, 63, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
91 0, 0, 0, 0, 0, 0, 0, 3, 7, 15, 62,124,248,240,224,192,128, 1, 3, 7, 15, 30, 28, 60, 56,120,112,112,224,224,225,231,254,248,255,255,248,254,231,225,224,224,112,112,120, 56, 60, 28, 30, 15, 7, 3, 1,128,192,224,240,248,124, 62, 15, 7, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
92 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 3, 7, 15, 14, 30, 28, 60, 56,120,112,112,112,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,112,112,112,120, 56, 60, 28, 30, 14, 15, 7, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
93 };
94 // clang-format on
95 oled_write_raw_P(kyria_logo, sizeof(kyria_logo));
96 }
97}
98#endif
99
100#ifdef ENCODER_ENABLE
101bool encoder_update_kb(uint8_t index, bool clockwise) {
102 if (!encoder_update_user(index, clockwise)) {
103 return false;
104 }
105
106 if (index == 0) {
107 // Volume control
108 if (clockwise) {
109 tap_code(KC_VOLU);
110 } else {
111 tap_code(KC_VOLD);
112 }
113 } else if (index == 1) {
114 // Page up/Page down
115 if (clockwise) {
116 tap_code(KC_PGDN);
117 } else {
118 tap_code(KC_PGUP);
119 }
120 }
121 return true;
122}
123#endif
diff --git a/keyboards/kyria/rev1/rev1.h b/keyboards/splitkb/kyria/rev1/rev1.h
index 44060a153..bf9864fe3 100644
--- a/keyboards/kyria/rev1/rev1.h
+++ b/keyboards/splitkb/kyria/rev1/rev1.h
@@ -64,19 +64,4 @@
64 { R45, R46, R47, R48, R49, KC_NO, KC_NO, KC_NO }, \ 64 { R45, R46, R47, R48, R49, KC_NO, KC_NO, KC_NO }, \
65} 65}
66 66
67#define LAYOUT_split_3x6_5( \ 67#define LAYOUT_split_3x6_5 LAYOUT
68 L00, L01, L02, L03, L04, L05, R06, R07, R08, R09, R10, R11, \
69 L12, L13, L14, L15, L16, L17, R18, R19, R20, R21, R22, R23, \
70 L24, L25, L26, L27, L28, L29, R34, R35, R36, R37, R38, R39, \
71 L40, L41, L42, L43, L44, R45, R46, R47, R48, R49 \
72) \
73{ \
74 { KC_NO, KC_NO, L05, L04, L03, L02, L01, L00 }, \
75 { KC_NO, KC_NO, L17, L16, L15, L14, L13, L12 }, \
76 { KC_NO, KC_NO, L29, L28, L27, L26, L25, L24 }, \
77 { L44, L43, L42, L41, L40, KC_NO, KC_NO, KC_NO }, \
78 { KC_NO, KC_NO, R06, R07, R08, R09, R10, R11 }, \
79 { KC_NO, KC_NO, R18, R19, R20, R21, R22, R23 }, \
80 { KC_NO, KC_NO, R34, R35, R36, R37, R38, R39 }, \
81 { R45, R46, R47, R48, R49, KC_NO, KC_NO, KC_NO }, \
82}
diff --git a/keyboards/kyria/rev1/rules.mk b/keyboards/splitkb/kyria/rev1/rules.mk
index 8b1c9616c..8b1c9616c 100644
--- a/keyboards/kyria/rev1/rules.mk
+++ b/keyboards/splitkb/kyria/rev1/rules.mk
diff --git a/keyboards/kyria/rules.mk b/keyboards/splitkb/kyria/rules.mk
index 2c749186a..0b1eddbc5 100644
--- a/keyboards/kyria/rules.mk
+++ b/keyboards/splitkb/kyria/rules.mk
@@ -24,4 +24,4 @@ AUDIO_ENABLE = no # Audio output on port C6
24SPLIT_KEYBOARD = yes # Split common 24SPLIT_KEYBOARD = yes # Split common
25LTO_ENABLE = yes 25LTO_ENABLE = yes
26 26
27DEFAULT_FOLDER = kyria/rev1 27DEFAULT_FOLDER = splitkb/kyria/rev1
diff --git a/keyboards/splitkb/zima/config.h b/keyboards/splitkb/zima/config.h
index fcfa37ff3..7e79e7f35 100644
--- a/keyboards/splitkb/zima/config.h
+++ b/keyboards/splitkb/zima/config.h
@@ -20,15 +20,15 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
20#include "config_common.h" 20#include "config_common.h"
21 21
22/* USB Device descriptor parameter */ 22/* USB Device descriptor parameter */
23#define VENDOR_ID 0xFEED 23#define VENDOR_ID 0x8D1D
24#define PRODUCT_ID 0xF75B 24#define PRODUCT_ID 0xF75B
25#define DEVICE_VER 0x0001 25#define DEVICE_VER 0x0001
26#define MANUFACTURER splitkb 26#define MANUFACTURER splitkb
27#define PRODUCT Zima 27#define PRODUCT Zima
28 28
29/* key matrix size */ 29/* key matrix size */
30#define MATRIX_ROWS 4 30#define MATRIX_ROWS 4
31#define MATRIX_COLS 3 31#define MATRIX_COLS 3
32 32
33/* 33/*
34 * Keyboard Matrix Assignments 34 * Keyboard Matrix Assignments
@@ -37,9 +37,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
37 { C6, D6, D5 }, \ 37 { C6, D6, D5 }, \
38 { C7, F7, D4 }, \ 38 { C7, F7, D4 }, \
39 { E6, F5, F6 }, \ 39 { E6, F5, F6 }, \
40 { F0, F1, F4 } \ 40 { F0, F1, F4 }, \
41} 41}
42
43#define UNUSED_PINS 42#define UNUSED_PINS
44 43
45#define ENCODERS_PAD_A { B4 } 44#define ENCODERS_PAD_A { B4 }
@@ -53,11 +52,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
53#define AUDIO_CLICKY 52#define AUDIO_CLICKY
54#define NO_MUSIC_MODE 53#define NO_MUSIC_MODE
55 54
56#define RGB_DI_PIN B5 55#define RGB_DI_PIN B5
57#define RGBLED_NUM 5 56#define RGBLED_NUM 5
58#define RGBLIGHT_HUE_STEP 8 57#define RGBLIGHT_HUE_STEP 8
59#define RGBLIGHT_SAT_STEP 8 58#define RGBLIGHT_SAT_STEP 8
60#define RGBLIGHT_VAL_STEP 8 59#define RGBLIGHT_VAL_STEP 8
61#define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ 60#define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
62#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ 61#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
63#define RGBLIGHT_EFFECT_BREATHING 62#define RGBLIGHT_EFFECT_BREATHING
@@ -67,7 +66,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
67#define RGBLIGHT_EFFECT_TWINKLE 66#define RGBLIGHT_EFFECT_TWINKLE
68 67
69/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ 68/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
70#define DEBOUNCE 5 69#define DEBOUNCE 5
71 70
72/* define if matrix has ghost (lacks anti-ghosting diodes) */ 71/* define if matrix has ghost (lacks anti-ghosting diodes) */
73//#define MATRIX_HAS_GHOST 72//#define MATRIX_HAS_GHOST
@@ -77,16 +76,16 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
77/* Locking resynchronize hack */ 76/* Locking resynchronize hack */
78// #define LOCKING_RESYNC_ENABLE 77// #define LOCKING_RESYNC_ENABLE
79 78
80#define FB_ERM_LRA 0 79#define FB_ERM_LRA 0
81#define FB_BRAKEFACTOR 3 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ 80#define FB_BRAKEFACTOR 3 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */
82#define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ 81#define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */
83 82
84/* Please refer to your datasheet for the optimal setting for your specific motor. */ 83/* Please refer to your datasheet for the optimal setting for your specific motor. */
85#define RATED_VOLTAGE 3 84#define RATED_VOLTAGE 3
86#define V_PEAK 5 85#define V_PEAK 5
87 86
88#define DRV_GREETING alert_750ms 87#define DRV_GREETING alert_750ms
89#define DRV_MODE_DEFAULT buzz 88#define DRV_MODE_DEFAULT buzz
90// EC11K encoders have a different resolution than other EC11 encoders. 89// EC11K encoders have a different resolution than other EC11 encoders.
91// When using the default resolution of 4, if you notice your encoder skipping 90// When using the default resolution of 4, if you notice your encoder skipping
92// every other tick, lower the resolution to 2. 91// every other tick, lower the resolution to 2.
diff --git a/keyboards/splitkb/zima/keymaps/via/config.h b/keyboards/splitkb/zima/keymaps/via/config.h
new file mode 100644
index 000000000..5a0e407c9
--- /dev/null
+++ b/keyboards/splitkb/zima/keymaps/via/config.h
@@ -0,0 +1,20 @@
1/* Copyright 2019 Thomas Baart
2 * Copyright 2021 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
3 *
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18#pragma once
19
20#define DYNAMIC_KEYMAP_LAYER_COUNT 8
diff --git a/keyboards/splitkb/zima/keymaps/via/keymap.c b/keyboards/splitkb/zima/keymaps/via/keymap.c
new file mode 100644
index 000000000..e9fb001bb
--- /dev/null
+++ b/keyboards/splitkb/zima/keymaps/via/keymap.c
@@ -0,0 +1,68 @@
1/* Copyright 2019 Thomas Baart
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19 // clang-format off
20 [0] = LAYOUT_ortho_4x3(/* Base */
21 KC_MUTE, TG(1), TG(2),
22 KC_P7, KC_P8, KC_P9,
23 KC_P4, KC_P5, KC_P6,
24 KC_P1, KC_P2, KC_P3
25 ),
26 [1] = LAYOUT_ortho_4x3(/* Layer 1 */
27 RESET, _______, XXXXXXX,
28 AU_ON, AU_OFF, XXXXXXX,
29 CK_TOGG, XXXXXXX, CK_UP,
30 CK_RST, XXXXXXX, CK_DOWN
31 ),
32 [2] = LAYOUT_ortho_4x3(/* Layer 2*/
33 RGB_TOG, RGB_MOD, _______,
34 RGB_HUI, RGB_SAI, RGB_VAI,
35 RGB_HUD, RGB_SAD, RGB_VAD,
36 HPT_TOG, HPT_FBK, HPT_CONT
37 ),
38 [3] = LAYOUT_ortho_4x3(
39 _______, _______, _______,
40 _______, _______, _______,
41 _______, _______, _______,
42 _______, _______, _______
43 ),
44 [4] = LAYOUT_ortho_4x3(
45 _______, _______, _______,
46 _______, _______, _______,
47 _______, _______, _______,
48 _______, _______, _______
49 ),
50 [5] = LAYOUT_ortho_4x3(
51 _______, _______, _______,
52 _______, _______, _______,
53 _______, _______, _______,
54 _______, _______, _______
55 ),
56 [6] = LAYOUT_ortho_4x3(
57 _______, _______, _______,
58 _______, _______, _______,
59 _______, _______, _______,
60 _______, _______, _______
61 ),
62 [7] = LAYOUT_ortho_4x3(
63 _______, _______, _______,
64 _______, _______, _______,
65 _______, _______, _______,
66 _______, _______, _______
67 ),
68};
diff --git a/keyboards/splitkb/zima/keymaps/via/rules.mk b/keyboards/splitkb/zima/keymaps/via/rules.mk
new file mode 100644
index 000000000..1eb438e46
--- /dev/null
+++ b/keyboards/splitkb/zima/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
1VIA_ENABLE = yes
2HAPTIC_ENABLE = no