aboutsummaryrefslogtreecommitdiff
path: root/keyboards/splitkb
diff options
context:
space:
mode:
authorLucas W <31965233+LucasWaelti@users.noreply.github.com>2022-01-13 18:17:54 +0100
committerGitHub <noreply@github.com>2022-01-13 09:17:54 -0800
commitddc4c0d2527b059bdcd53e1e364a03907cf9c9fe (patch)
tree6eb0a82458e87661dbf3c134b3ba98d25e15ca28 /keyboards/splitkb
parentd1eac293542a622ad2d35b490340ca8baf2997f0 (diff)
downloadqmk_firmware-ddc4c0d2527b059bdcd53e1e364a03907cf9c9fe.tar.gz
qmk_firmware-ddc4c0d2527b059bdcd53e1e364a03907cf9c9fe.zip
[Keymap] Kyria new custom keymap lw (#15729)
Diffstat (limited to 'keyboards/splitkb')
-rw-r--r--keyboards/splitkb/kyria/keymaps/lw/config.h26
-rw-r--r--keyboards/splitkb/kyria/keymaps/lw/keymap.c251
-rw-r--r--keyboards/splitkb/kyria/keymaps/lw/readme.md104
-rw-r--r--keyboards/splitkb/kyria/keymaps/lw/rules.mk6
4 files changed, 387 insertions, 0 deletions
diff --git a/keyboards/splitkb/kyria/keymaps/lw/config.h b/keyboards/splitkb/kyria/keymaps/lw/config.h
new file mode 100644
index 000000000..038a8ff3d
--- /dev/null
+++ b/keyboards/splitkb/kyria/keymaps/lw/config.h
@@ -0,0 +1,26 @@
1/* Copyright 2022 Lucas Waelti (@LucasWaelti)
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// Lets you roll mod-tap keys
20#define IGNORE_MOD_TAP_INTERRUPT
21
22// If you are using an Elite C rev3 on the slave side, uncomment the lines below:
23// #define SPLIT_USB_DETECT
24// #define NO_USB_STARTUP_CHECK
25
26#define UNICODE_SELECTED_MODES UC_LNX, UC_WINC // support for Linux and Windows unicode \ No newline at end of file
diff --git a/keyboards/splitkb/kyria/keymaps/lw/keymap.c b/keyboards/splitkb/kyria/keymaps/lw/keymap.c
new file mode 100644
index 000000000..411295e86
--- /dev/null
+++ b/keyboards/splitkb/kyria/keymaps/lw/keymap.c
@@ -0,0 +1,251 @@
1/* Copyright 2022 Lucas Waelti (@LucasWaelti)
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
18#include <keymap_us_international.h>
19// US_ACUT KC_QUOT // ´ (dead)
20// US_DGRV KC_GRV // ` (dead)
21// US_DCIR S(US_6) // ^ (dead)
22// US_DIAE S(US_ACUT) // ¨ (dead)
23
24enum layers {
25 _QWERTZ = 0, // base text layer
26 _SYM, // symbol layer
27 _NAV, // navigation layer + accents
28};
29
30enum unicode_names {
31 APOST,
32 QUOTE,
33 CIRCUM,
34 GRAVE,
35 ACUTE,
36 UMLAUT,
37 CEDIL_MAJ,
38 CEDIL,
39 SECTION,
40 DEGREE,
41};
42
43const uint32_t PROGMEM unicode_map[] = {
44 [APOST] = 0x0027, // '
45 [QUOTE] = 0x0022, // "
46 [ACUTE] = 0x00B4, // ´
47 [GRAVE] = 0x0060, // `
48 [CIRCUM] = 0x005E, // ^
49 [UMLAUT] = 0x00A8, // ¨
50 [CEDIL_MAJ] = 0x00C7, // Ç
51 [CEDIL] = 0x00E7, // ç
52 [SECTION] = 0x00A7, // §
53 [DEGREE] = 0x00B0, // °
54};
55// usage: X(ACUTE), XP(CEDIL,CEDIL_MAJ)
56
57
58// clang-format off
59const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
60
61/*
62 * 0. Base Layer: QWERTZ
63 *
64 * ,-------------------------------------------. ,-------------------------------------------.
65 * | Esc | Q | W | E | R | T | | Z | U | I | O | P | Del |
66 * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
67 * | Tab | A | S | D | F | G | | H | J | K | L | ' " | BkSpace|
68 * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
69 * | LShift | Y | X | C | V | B | \ | | ` ~ | | ( | ) | N | M | , < | . > | ; : | CpLock |
70 * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
71 * |LCtrl | LGUI | LAlt | Space| MO(1)| | MO(2)| Enter| - _ | ! | / ? |
72 * | | | | | | | |/shift| | | |
73 * `----------------------------------' `----------------------------------'
74 */
75 [_QWERTZ] = LAYOUT(
76 KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Z, KC_U, KC_I, KC_O, KC_P, KC_DEL,
77 KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, XP(APOST,QUOTE), KC_BSPC, // XP(APOST,QUOTE) or KC_QUOT
78 KC_LSFT, KC_Y, KC_X, KC_C, KC_V, KC_B, KC_BSLS, KC_GRV, KC_LPRN, KC_RPRN, KC_N, KC_M, KC_COMM, KC_DOT, KC_SCLN, KC_CAPS,
79 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), MO(2), KC_SFTENT, KC_MINS, KC_EXLM, KC_SLSH
80 ),
81
82// /*
83// * 1. Sym Layer: Numbers and symbols (DEPRECATED)
84// *
85// * ,-------------------------------------------. ,-------------------------------------------.
86// * | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
87// * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
88// * | . | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | = |
89// * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
90// * | LAlt | ? | ! | @ | # | < | [ | { | | } | ] | > | ^ | / | * | - | + |
91// * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
92// * | $ | % | & | | MO(1)| | MO(2)| RAlt | ~ | _ | | |
93// * | | | | | | | | | | | |
94// * `----------------------------------' `----------------------------------'
95// */
96// [_SYM] = LAYOUT(
97// KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
98// KC_DOT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_PEQL,
99// KC_LALT, KC_QUES, KC_EXLM, KC_AT, KC_HASH, KC_LT, KC_LBRC, KC_LCBR, KC_RCBR, KC_RBRC, KC_GT, KC_CIRC, KC_PSLS, KC_ASTR, KC_PMNS, KC_PLUS,
100// KC_DLR, KC_PERC, KC_AMPR, _______, MO(1), MO(2), KC_RALT, KC_TILD, KC_UNDS, KC_PIPE
101// ),
102
103/*
104 * 1. Sym Layer: Numbers and symbols
105 *
106 * ,-------------------------------------------. ,-------------------------------------------.
107 * | F1 | F2 | F3 | F4 | LAlt | PASTE| | , | 7 | 8 | 9 | * | / |
108 * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
109 * | F5 | F6 | F7 | F8 | @ | COPY | | . | 6 | 7 | 8 | = | |
110 * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
111 * | F9 | F10 | F11 | F12 | & | CUT | UNDO | FIND | | [ | ] | 0 | 1 | 2 | 3 | + | - |
112 * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
113 * | $ | # | % | | MO(1)| | MO(2)| | \ | | { | } |
114 * | | | | | | | | | | | |
115 * `----------------------------------' `----------------------------------'
116 */
117 [_SYM] = LAYOUT(
118 KC_F1, KC_F2, KC_F3, KC_F4, KC_LALT,LCTL(KC_V), KC_COMM, KC_7, KC_8, KC_9, KC_ASTR, KC_PSLS,
119 KC_F5, KC_F6, KC_F7, KC_F8, KC_AT, LCTL(KC_C), KC_DOT, KC_4, KC_5, KC_6, KC_PEQL, _______,
120 KC_F9, KC_F10, KC_F11, KC_F12, KC_AMPR,LCTL(KC_X),LCTL(KC_Z), LCTL(KC_F), KC_LBRC, KC_RBRC, KC_0, KC_1, KC_2, KC_3, KC_PLUS, KC_PMNS,
121 KC_DLR, KC_HASH, KC_PERC, _______, MO(1), MO(2), _______, KC_BSLS, KC_LCBR, KC_RCBR
122 ),
123
124/*
125 * 2. Nav Layer: Media, navigation, accents
126 *
127 * ,-------------------------------------------. ,-------------------------------------------.
128 * | | Brt+ | Next | Fwd | Play | Vol+ | | Home | PgUp | Up | PgDn | | Del |
129 * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
130 * | | Brt- | Prev | Bckw | Stop | Vol- | | End | Left | Down | Right|ScrLck| BkSpace|
131 * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
132 * | LShift | ´ | ` | ^ | ¨ | Mute | |UC_MOD| |RShift| Menu | PrtSc| ç/Ç | § ° | | SAVE | Insert |
133 * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
134 * |LCtrl | LGUI | LAlt | | MO(1)| | MO(2)| UNDO | CUT | COPY | PASTE|
135 * | | | | | | | | | | | |
136 * `----------------------------------' `----------------------------------'
137 */
138 [_NAV] = LAYOUT(
139 _______, KC_BRIU, KC_MNXT, KC_MFFD, KC_MPLY, KC_VOLU, KC_HOME, KC_PGUP, KC_UP, KC_PGDN, _______, KC_DEL,
140 _______, KC_BRID, KC_MPRV, KC_MRWD, KC_MSTP, KC_VOLD, KC_END, KC_LEFT, KC_DOWN, KC_RGHT, KC_SLCK, KC_BSPC,
141 KC_LSFT, US_ACUT, US_DGRV, US_DCIR, US_DIAE, KC_MUTE, _______, UC_MOD, KC_RSFT, KC_APP, KC_PSCR, XP(CEDIL,CEDIL_MAJ), XP(SECTION,DEGREE), _______, LCTL(KC_S), KC_INS,
142 KC_LCTL, KC_LGUI, KC_LALT, _______, MO(1), MO(2), LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V)
143 ),
144
145// /*
146// * Layer template
147// *
148// * ,-------------------------------------------. ,-------------------------------------------.
149// * | | | | | | | | | | | | | |
150// * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
151// * | | | | | | | | | | | | | |
152// * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
153// * | | | | | | | | | | | | | | | | | |
154// * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
155// * | | | | | | | | | | | |
156// * | | | | | | | | | | | |
157// * `----------------------------------' `----------------------------------'
158// */
159// [_LAYERINDEX] = LAYOUT(
160// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
161// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
162// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
163// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
164// ),
165};
166
167/* The default OLED and rotary encoder code can be found at the bottom of qmk_firmware/keyboards/splitkb/kyria/rev1/rev1.c
168 * These default settings can be overriden by your own settings in your keymap.c
169 * For your convenience, here's a copy of those settings so that you can uncomment them if you wish to apply your own modifications.
170 * DO NOT edit the rev1.c file; instead override the weakly defined default functions by your own.
171 */
172
173/* DELETE THIS LINE TO UNCOMMENT (1/2)
174#ifdef OLED_ENABLE
175oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_180; }
176
177bool oled_task_user(void) {
178 if (is_keyboard_master()) {
179 // QMK Logo and version information
180 // clang-format off
181 static const char PROGMEM qmk_logo[] = {
182 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,
183 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,
184 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,0};
185 // clang-format on
186
187 oled_write_P(qmk_logo, false);
188 oled_write_P(PSTR("Kyria rev1.0\n\n"), false);
189
190 // Host Keyboard Layer Status
191 oled_write_P(PSTR("Layer: "), false);
192 switch (get_highest_layer(layer_state|default_layer_state)) {
193 case _QWERTZ:
194 oled_write_P(PSTR("QWERTZ\n"), false);
195 break;
196 case _NAV:
197 oled_write_P(PSTR("Nav\n"), false);
198 break;
199 case _SYM:
200 oled_write_P(PSTR("Sym\n"), false);
201 break;
202 default:
203 oled_write_P(PSTR("Undefined\n"), false);
204 }
205
206 // Write host Keyboard LED Status to OLEDs
207 led_t led_usb_state = host_keyboard_led_state();
208 oled_write_P(led_usb_state.num_lock ? PSTR("NUMLCK ") : PSTR(" "), false);
209 oled_write_P(led_usb_state.caps_lock ? PSTR("CAPLCK ") : PSTR(" "), false);
210 oled_write_P(led_usb_state.scroll_lock ? PSTR("SCRLCK ") : PSTR(" "), false);
211 } else {
212 // clang-format off
213 static const char PROGMEM kyria_logo[] = {
214 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,
215 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,
216 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,
217 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,
218 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,
219 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,
220 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,
221 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
222 };
223 // clang-format on
224 oled_write_raw_P(kyria_logo, sizeof(kyria_logo));
225 }
226 return false;
227}
228#endif
229
230#ifdef ENCODER_ENABLE
231bool encoder_update_user(uint8_t index, bool clockwise) {
232
233 if (index == 0) {
234 // Volume control
235 if (clockwise) {
236 tap_code(KC_VOLU);
237 } else {
238 tap_code(KC_VOLD);
239 }
240 } else if (index == 1) {
241 // Page up/Page down
242 if (clockwise) {
243 tap_code(KC_PGDN);
244 } else {
245 tap_code(KC_PGUP);
246 }
247 }
248 return false;
249}
250#endif
251// DELETE THIS LINE TO UNCOMMENT (2/2) */
diff --git a/keyboards/splitkb/kyria/keymaps/lw/readme.md b/keyboards/splitkb/kyria/keymaps/lw/readme.md
new file mode 100644
index 000000000..67be1950a
--- /dev/null
+++ b/keyboards/splitkb/kyria/keymaps/lw/readme.md
@@ -0,0 +1,104 @@
1# Kyria's lw Keymap
2
3Custom keymap for the [kyria keyboard](https://blog.splitkb.com/blog/introducing-the-kyria). It is intended to be used with an *English (US, intl. with dead keys)* keyboard layout (includes the `keymap_us_international.h` header).
4
5This layout is mainly designed for every day writing in either English, French or German and programming.
6
7The layout implements all accents and symbols (leveraging dead keys) found on a **swiss** keyboard. It uses Unicode for special characters. It makes use of the [Linux built-in IBus Unicode input](https://docs.qmk.fm/#/feature_unicode?id=input-modes) and relies on [WinCompose](https://github.com/samhocevar/wincompose) for Windows.
8
9## Build this keymap
10```bash
11qmk compile -kb splitkb/kyria/rev1 -km lw
12```
13
14## Flash this keymap
15
16> **Note**: this was tested for an Elite-C microcontroller.
17
18First, check that the bootloader is visible. For instance:
19```bash
20$ lsusb
21...
22Bus 001 Device 034: ID 03eb:2ff4 Atmel Corp. atmega32u4 DFU bootloader
23...
24```
25If the bootloader is not visible, press the reset button of the microcontroller. The bootloader should become visible when running the `lsusb` command again.
26
27The microcontroller can now be flashed:
28```bash
29qmk flash -kb splitkb/kyria/rev1 -km lw
30```
31> **Note**: if there is any issue, run `qmk doctor` to see whether the qmk configuration is valid.
32
33## Implemented keymaps
34The default keymap contains 5 layers which allows it to include all keys found on an ANSI layout TKL keyboard plus media keys.
35Hardware features of the Kyria such as OLEDs, rotary encoders and underglow are also supported.
36
37The five different layers are the following:
381. Base layer (QWERTZ)
392. Symbols/Numbers layer
403. Navigation layer
41
42### Base layer
43This layer is activated by default.
44
45```
46/*
47 * 0. Base Layer: QWERTZ
48 *
49 * ,-------------------------------------------. ,-------------------------------------------.
50 * | Esc | Q | W | E | R | T | | Z | U | I | O | P | Del |
51 * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
52 * | Tab | A | S | D | F | G | | H | J | K | L | ' " | BkSpace|
53 * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
54 * | LShift | Y | X | C | V | B | \ | | ` ~ | | ( | ) | N | M | , < | . > | ; : | CpLock |
55 * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
56 * |LCtrl | LGUI | LAlt | Space| MO(1)| | MO(2)| Enter| - _ | ! | / ? |
57 * | | | | | | | |/shift| | | |
58 * `----------------------------------' `----------------------------------'
59 */
60```
61
62Hold down the `Enter` key to make it a shift. This compensates for the poor placement of the dedicated `LShift` key.
63
64### Symbol layer
65This layer is activated when holding `MO(1)`.
66
67```
68/*
69 * 1. Sym Layer: Numbers and symbols
70 *
71 * ,-------------------------------------------. ,-------------------------------------------.
72 * | F1 | F2 | F3 | F4 | LAlt | PASTE| | , | 7 | 8 | 9 | * | / |
73 * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
74 * | F5 | F6 | F7 | F8 | @ | COPY | | . | 6 | 7 | 8 | = | |
75 * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
76 * | F9 | F10 | F11 | F12 | & | CUT | UNDO | FIND | | [ | ] | 0 | 1 | 2 | 3 | + | - |
77 * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
78 * | $ | # | % | | MO(1)| | MO(2)| | \ | | { | } |
79 * | | | | | | | | | | | |
80 * `----------------------------------' `----------------------------------'
81 */
82```
83
84### Navigation layer
85This layer is activated when holding `MO(2)`.
86
87```
88/*
89 * 2. Nav Layer: Media, navigation, accents
90 *
91 * ,-------------------------------------------. ,-------------------------------------------.
92 * | | Brt+ | Next | Fwd | Play | Vol+ | | Home | PgUp | Up | PgDn | | Del |
93 * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
94 * | | Brt- | Prev | Bckw | Stop | Vol- | | End | Left | Down | Right|ScrLck| BkSpace|
95 * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
96 * | LShift | ´ | ` | ^ | ¨ | Mute | |UC_MOD| |RShift| Menu | PrtSc| ç/Ç | § ° | | SAVE | Insert |
97 * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
98 * |LCtrl | LGUI | LAlt | | MO(1)| | MO(2)| UNDO | CUT | COPY | PASTE|
99 * | | | | | | | | | | | |
100 * `----------------------------------' `----------------------------------'
101 */
102```
103
104The key `UC_MOD` allows to switch between Linux and Windows unicode. Note however that [WinCompose](https://github.com/samhocevar/wincompose) must be installed on Windows (simply download and install the latest release and it will run). \ No newline at end of file
diff --git a/keyboards/splitkb/kyria/keymaps/lw/rules.mk b/keyboards/splitkb/kyria/keymaps/lw/rules.mk
new file mode 100644
index 000000000..41156dd41
--- /dev/null
+++ b/keyboards/splitkb/kyria/keymaps/lw/rules.mk
@@ -0,0 +1,6 @@
1OLED_ENABLE = no
2OLED_DRIVER = SSD1306 # Enables the use of OLED displays
3ENCODER_ENABLE = no # Enables the use of one or more encoders
4RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
5
6UNICODEMAP_ENABLE = yes # Enable unicode \ No newline at end of file