aboutsummaryrefslogtreecommitdiff
path: root/keyboards/splitkb/kyria/keymaps/shinze/keymap.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/splitkb/kyria/keymaps/shinze/keymap.c')
-rw-r--r--keyboards/splitkb/kyria/keymaps/shinze/keymap.c248
1 files changed, 248 insertions, 0 deletions
diff --git a/keyboards/splitkb/kyria/keymaps/shinze/keymap.c b/keyboards/splitkb/kyria/keymaps/shinze/keymap.c
new file mode 100644
index 000000000..98e127960
--- /dev/null
+++ b/keyboards/splitkb/kyria/keymaps/shinze/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#include "keymap_bepo.h"
18
19enum layers {
20 _BEPO = 0,
21 _LOWER,
22 _RAISE,
23 _ADJUST
24};
25
26#define RESC LT(_RAISE, KC_ESC)
27#define BP_EA BP_EACU
28#define BP_AG BP_AGRV
29#define BP_EG BP_EGRV
30#define BP_DC BP_DCIR
31#define BP_AP BP_QUOT
32#define BP_CO BP_COMM
33#define BP_DT BP_DOT
34#define LS KC_LSFT
35#define BP_DOL BP_DLR
36
37/* Bottom Row */
38#define BR01 KC_LCTL
39#define BR02 KC_LALT
40#define BR03 MT(MOD_LGUI, KC_ENT)
41#define BR04 LT(_LOWER, KC_SPC)
42#define BR05 LT(_RAISE, KC_ESC)
43#define BR06 LT(_LOWER, KC_ENT)
44#define BR07 LT(_RAISE, KC_SPC)
45#define BR08 KC_TAB
46#define BR09 KC_BSPC
47#define BR10 KC_RALT
48
49/* Under the screen row */
50#define U1 KC_LSFT
51
52const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
53
54/*
55 * Base Layer: BÉPO
56 *
57 * ,-------------------------------------------. ,-------------------------------------------.
58 * |RAIS/ESC| B | É | P | O | È | | ^ | V | D | L | J | | Z |
59 * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
60 * | W | A | U | I | E | , | | C | T | S | R | N | M |
61 * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
62 * | LShift | À | Y | X | . | K | SPC |LShift| |LShift|LShift| ’ | Q | G | H | F | Ç |
63 * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
64 * | CTRL | Alt | Enter| Space| Esc | | Enter| Space| Tab | Bksp | AltGr|
65 * | | | CMD | Lower| Raise| | Lower| Raise| | | |
66 * `----------------------------------' `----------------------------------'
67 */
68 [_BEPO] = LAYOUT(
69 RESC, BP_B, BP_EA, BP_P, BP_O, BP_EG, BP_DC, BP_V, BP_D, BP_L, BP_J, BP_Z,
70 BP_W, BP_A, BP_U, BP_I, BP_E, BP_CO, BP_C, BP_T, BP_S, BP_R, BP_N, BP_M,
71 LS, BP_AG, BP_Y, BP_X, BP_DT, BP_K, KC_SPC, U1, U1, U1, BP_AP, BP_Q, BP_G, BP_H, BP_F, BP_CCED,
72 BR01, BR02, BR03, BR04, BR05, BR06, BR07, BR08, BR09, BR10
73 ),
74/*
75 * Lower Layer: Numbers and symbols ?
76 *
77 * ,-------------------------------------------. ,-------------------------------------------.
78 * | $ | " | « | » | ( | ) | | @ | + | - | / | * | = |
79 * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
80 * | # | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ° |
81 * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
82 * | % | | | | | | | | | | | | | | | | ` |
83 * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
84 * | | | | | | | | | | | |
85 * | | | | | | | | | | | |
86 * `----------------------------------' `----------------------------------'
87 */
88 [_LOWER] = LAYOUT(
89 BP_DOL , BP_DQUO, BP_LDAQ, BP_RDAQ, BP_LPRN, BP_RPRN, BP_AT, BP_PLUS, BP_MINS, BP_SLSH, BP_ASTR, BP_EQL,
90 BP_HASH, BP_1, BP_2, BP_3, BP_4, BP_5, BP_6, BP_7, BP_8, BP_9, BP_0, BP_DEG,
91 BP_PERC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BP_GRV,
92 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
93 ),
94/*
95 * Raise Layer: Media
96 *
97 * ,-------------------------------------------. ,-------------------------------------------.
98 * | | | | | | | | | | | | | |
99 * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
100 * | | | Prev | Play | Next | VolUp| | Left | Down | Up | Right| | |
101 * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
102 * | | | | | Mute | VolDn| | | | | | MLeft| Mdown| MUp |MRight| | |
103 * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
104 * | | | | | | | | | | | |
105 * | | | | | | | | | | | |
106 * `----------------------------------' `----------------------------------'
107 */
108 [_RAISE] = LAYOUT(
109 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
110 _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLU, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______,
111 _______, _______, _______, _______, KC_MUTE, KC_VOLD, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, _______, _______,
112 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
113 ),
114/*
115 * Adjust Layer: Function keys, RGB
116 *
117 * ,-------------------------------------------. ,-------------------------------------------.
118 * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | |
119 * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
120 * | | TOG | SAI | HUI | VAI | MOD | | | | | F11 | F12 | |
121 * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
122 * | | | SAD | HUD | VAD | RMOD | | | | | | | | | | | |
123 * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
124 * | | | | | | | | | | | |
125 * | | | | | | | | | | | |
126 * `----------------------------------' `----------------------------------'
127 */
128 [_ADJUST] = LAYOUT(
129 _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
130 _______, RGB_TOG, RGB_SAI, RGB_HUI, RGB_VAI, RGB_MOD, _______, _______, _______, KC_F11, KC_F12, _______,
131 _______, _______, RGB_SAD, RGB_HUD, RGB_VAD, RGB_RMOD,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
132 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
133 ),
134// /*
135// * Layer template
136// *
137// * ,-------------------------------------------. ,-------------------------------------------.
138// * | | | | | | | | | | | | | |
139// * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
140// * | | | | | | | | | | | | | |
141// * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
142// * | | | | | | | | | | | | | | | | | |
143// * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
144// * | | | | | | | | | | | |
145// * | | | | | | | | | | | |
146// * `----------------------------------' `----------------------------------'
147// */
148// [_LAYERINDEX] = LAYOUT(
149// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
150// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
151// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
152// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
153// ),
154};
155
156layer_state_t layer_state_set_user(layer_state_t state) {
157 return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
158}
159
160#ifdef OLED_DRIVER_ENABLE
161oled_rotation_t oled_init_user(oled_rotation_t rotation) {
162 return OLED_ROTATION_180;
163}
164
165static void render_kyria_logo(void) {
166 static const char PROGMEM kyria_logo[] = {
167 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,
168 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,
169 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,
170 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,
171 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,
172 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,
173 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,
174 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
175 };
176 oled_write_raw_P(kyria_logo, sizeof(kyria_logo));
177}
178
179static void render_qmk_logo(void) {
180 static const char PROGMEM qmk_logo[] = {
181 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,
182 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,
183 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,0};
184
185 oled_write_P(qmk_logo, false);
186}
187
188static void render_status(void) {
189 // QMK Logo and version information
190 render_qmk_logo();
191 oled_write_P(PSTR("Kyria rev1.0\n\n"), false);
192
193 // Host Keyboard Layer Status
194 oled_write_P(PSTR("Layer: "), false);
195 switch (get_highest_layer(layer_state)) {
196 case _BEPO:
197 oled_write_P(PSTR("BEPO\n"), false);
198 break;
199 case _LOWER:
200 oled_write_P(PSTR("NumSym\n"), false);
201 break;
202 case _RAISE:
203 oled_write_P(PSTR("Media\n"), false);
204 break;
205 case _ADJUST:
206 oled_write_P(PSTR("Adjust\n"), false);
207 break;
208 default:
209 oled_write_P(PSTR("Undefined\n"), false);
210 }
211
212 // Host Keyboard LED Status
213 uint8_t led_usb_state = host_keyboard_leds();
214 oled_write_P(IS_LED_ON(led_usb_state, USB_LED_NUM_LOCK) ? PSTR("NUMLCK ") : PSTR(" "), false);
215 oled_write_P(IS_LED_ON(led_usb_state, USB_LED_CAPS_LOCK) ? PSTR("CAPLCK ") : PSTR(" "), false);
216 oled_write_P(IS_LED_ON(led_usb_state, USB_LED_SCROLL_LOCK) ? PSTR("SCRLCK ") : PSTR(" "), false);
217}
218
219void oled_task_user(void) {
220 if (is_keyboard_master()) {
221 render_status(); // Renders the current keyboard state (layer, lock, caps, scroll, etc)
222 } else {
223 render_kyria_logo();
224 }
225}
226#endif
227
228#ifdef ENCODER_ENABLE
229bool encoder_update_user(uint8_t index, bool clockwise) {
230 if (index == 0) {
231 // Volume control
232 if (clockwise) {
233 tap_code(KC_VOLU);
234 } else {
235 tap_code(KC_VOLD);
236 }
237 }
238 else if (index == 1) {
239 // Page up/Page down
240 if (clockwise) {
241 tap_code(KC_PGDN);
242 } else {
243 tap_code(KC_PGUP);
244 }
245 }
246 return true;
247}
248#endif