aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Baart <thomas@splitkb.com>2020-05-21 21:43:39 +0200
committerGitHub <noreply@github.com>2020-05-21 12:43:39 -0700
commit02a8c874f885241306a62e8f43d6ed1f0ef1d3ac (patch)
treea518a6513aa15b5a06b176d4fed398f32cb6a3bb
parentdae6f6b39bead1e5a709e7c07d4c3589fa5e1354 (diff)
downloadqmk_firmware-02a8c874f885241306a62e8f43d6ed1f0ef1d3ac.tar.gz
qmk_firmware-02a8c874f885241306a62e8f43d6ed1f0ef1d3ac.zip
[Keymap] Kyria: Updated personal keymap, added asapjockey's keymap (#8019)
* Updated personal keymap, added asapjockey's keymap * Update keyboards/kyria/keymaps/asapjockey/keymap.c * Update keyboards/kyria/keymaps/asapjockey/keymap.c * Update keyboards/kyria/keymaps/asapjockey/keymap.c * Update keyboards/kyria/keymaps/asapjockey/keymap.c * Update keyboards/kyria/keymaps/asapjockey/keymap.c * Update keyboards/kyria/keymaps/asapjockey/keymap.c * Fixed layers, brackets * Update keyboards/kyria/keymaps/asapjockey/keymap.c * Update keyboards/kyria/keymaps/asapjockey/keymap.c * Update keyboards/kyria/keymaps/asapjockey/keymap.c * Update keyboards/kyria/keymaps/asapjockey/keymap.c * Update keyboards/kyria/keymaps/asapjockey/keymap.c * Update keyboards/kyria/keymaps/asapjockey/keymap.c
-rw-r--r--keyboards/kyria/keymaps/asapjockey/config.h47
-rw-r--r--keyboards/kyria/keymaps/asapjockey/keymap.c312
-rw-r--r--keyboards/kyria/keymaps/asapjockey/rules.mk5
-rw-r--r--keyboards/kyria/keymaps/default/rules.mk2
-rw-r--r--keyboards/kyria/keymaps/thomasbaart/keymap.c47
5 files changed, 401 insertions, 12 deletions
diff --git a/keyboards/kyria/keymaps/asapjockey/config.h b/keyboards/kyria/keymaps/asapjockey/config.h
new file mode 100644
index 000000000..e878663bf
--- /dev/null
+++ b/keyboards/kyria/keymaps/asapjockey/config.h
@@ -0,0 +1,47 @@
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#ifdef OLED_DRIVER_ENABLE
20 #define OLED_DISPLAY_128X64
21#endif
22
23#ifdef RGBLIGHT_ENABLE
24 #define RGBLIGHT_ANIMATIONS
25 #define RGBLIGHT_HUE_STEP 8
26 #define RGBLIGHT_SAT_STEP 8
27 #define RGBLIGHT_VAL_STEP 8
28 #define RGBLIGHT_SLEEP
29#endif
30
31// EC11K encoders have a different resolution than other EC11 encoders.
32// When using the default resolution of 4, if you notice your encoder skipping
33// every other tick, lower the resolution to 2.
34#define ENCODER_RESOLUTION 2
35
36// The Leader key allows to flexibly assign macros to key sequences.
37#define LEADER_PER_KEY_TIMING
38#define LEADER_TIMEOUT 350
39
40#define TAPPING_TERM 200
41
42// Allows to use either side as the master. Look at the documentation for info:
43// https://docs.qmk.fm/#/config_options?id=setting-handedness
44#define EE_HANDS
45
46// Allows media codes to properly register in macros and rotary encoder code
47#define TAP_CODE_DELAY 10 \ No newline at end of file
diff --git a/keyboards/kyria/keymaps/asapjockey/keymap.c b/keyboards/kyria/keymaps/asapjockey/keymap.c
new file mode 100644
index 000000000..46e70e9e9
--- /dev/null
+++ b/keyboards/kyria/keymaps/asapjockey/keymap.c
@@ -0,0 +1,312 @@
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,
20 LOWER,
21 RAISE,
22 NAV,
23 ADJUST
24};
25
26enum custom_keycodes {
27 KC_LBR = SAFE_RANGE,
28 KC_RBR
29};
30
31const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
32/*
33 * Base Layer: QWERTY
34 *
35 * ,-------------------------------------------. ,-------------------------------------------.
36 * | TAB | Q | W | E | R | T | | Y | U | I | O | P | RCTL |
37 * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
38 * | LCTL | A | S | D | F | G | | H | J | K | L | ; : | ' " |
39 * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
40 * | LSFT | Z | X | C | V | B | Del | Raise| |Adjust| Esc | N | M | , < | . > | / ? | LSFT |
41 * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
42 * | | LALT | | Bspc | Lower| | Enter| Space| [ { | ] } | |
43 * | | | | | | | | | | | |
44 * `----------------------------------' `----------------------------------'
45 */
46 [QWERTY] = LAYOUT(
47 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_RCTL,
48 KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
49 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_DEL, MO(RAISE), MO(ADJUST), KC_ESC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT,
50 XXXXXXX, KC_LALT, XXXXXXX, KC_BSPC, MO(LOWER), KC_ENT, KC_SPC, KC_LBR, KC_RBR, XXXXXXX
51 ),
52/*
53 * Lower Layer: Numbers, functions, symbols
54 *
55 * ,-------------------------------------------. ,-------------------------------------------.
56 * | | 1 ! | 2 @ | 3 # | 4 $ | 5 % | | 6 ^ | 7 & | 8 * | 9 ( | 0 ) | |
57 * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
58 * | | ! | @ | # | $ | % | | ^ | & | * | ( | ) | |
59 * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
60 * | | F1 | F2 | F3 | F4 | F5 | | | | | | F6 | F7 | F8 | F9 | F10 | |
61 * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
62 * | | | | | | | | | ( | ) | |
63 * | | | | | | | | | | | |
64 * `----------------------------------' `----------------------------------'
65 */
66 [LOWER] = LAYOUT(
67 _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
68 _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
69 _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
70 _______, _______, _______, _______, _______, _______, _______, KC_LPRN, KC_RPRN, _______
71 ),
72/*
73 * Raise Layer: Functions, Numbers
74 *
75 * ,-------------------------------------------. ,-------------------------------------------.
76 * | | | F7 | F8 | F9 | | | | 7 & | 8 * | 9 ( | - _ | |
77 * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
78 * | | | F4 | F5 | F6 | | | | 4 * | 5 % | 6 ^ | = + | RCTL |
79 * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
80 * | | | F1 | F2 | F3 | | | | | | | | 1 ! | 2 @ | 3 # | \ | | |
81 * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
82 * | | | | | | | | | 0 ) | | |
83 * | | | | | | | | | | | |
84 * `----------------------------------' `----------------------------------'
85 */
86 [RAISE] = LAYOUT(
87 _______, _______, KC_F7, KC_F8, KC_F9, _______, _______, KC_7, KC_8, KC_9, _______, _______,
88 _______, _______, KC_F4, KC_F5, KC_F6, _______, _______, KC_4, KC_5, KC_6, _______, KC_RCTL,
89 _______, _______, KC_F1, KC_F2, KC_F3, _______, _______, _______, _______, _______, _______, KC_1, KC_2, KC_3, _______, _______,
90 _______, _______, _______, _______, _______, _______, _______, KC_0, _______, _______
91 ),
92/*
93 * Navigation Layer
94 *
95 * ,-------------------------------------------. ,-------------------------------------------.
96 * | | | | | | | | | | Up | | | RGBTOG |
97 * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
98 * | | | | | | | | | Left | Down | Right| | RGBOFF |
99 * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
100 * | | | | | | | | | | | | | | | | | RGBON |
101 * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
102 * | | | | | | | | | Reset|Debug | |
103 * | | | | | | | | | | | |
104 * `----------------------------------' `----------------------------------'
105 */
106 [ADJUST] = LAYOUT(
107 _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, RGB_TOG,
108 _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, RGB_HUI,
109 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD,
110 _______, _______, _______, _______, _______, _______, _______, RESET, DEBUG, _______
111 ),
112// /*
113// * Layer template
114// *
115// * ,-------------------------------------------. ,-------------------------------------------.
116// * | | | | | | | | | | | | | |
117// * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
118// * | | | | | | | | | | | | | |
119// * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
120// * | | | | | | | | | | | | | | | | | |
121// * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
122// * | | | | | | | | | | | |
123// * | | | | | | | | | | | |
124// * `----------------------------------' `----------------------------------'
125// */
126// [_LAYERINDEX] = LAYOUT(
127// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
128// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
129// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
130// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
131// ),
132};
133
134bool process_record_user(uint16_t keycode, keyrecord_t *record) {
135 switch (keycode) {
136 case KC_LBR: {
137 if (record->event.pressed) {
138 if ((get_mods() & MOD_MASK_SHIFT) == MOD_MASK_SHIFT) {
139 register_code(KC_9);
140 } else {
141 register_code(KC_LBRC);
142 }
143 } else { // Release the key
144 if ((get_mods() & MOD_MASK_SHIFT) == MOD_MASK_SHIFT) {
145 unregister_code(KC_9);
146 } else {
147 unregister_code(KC_LBRC);
148 }
149 }
150 return false;
151 break;
152 }
153 case KC_RBR: {
154 if (record->event.pressed) {
155 if ((get_mods() & MOD_MASK_SHIFT) == MOD_MASK_SHIFT) {
156 register_code(KC_0);
157 } else {
158 register_code(KC_RBRC);
159 }
160 } else { // Release the key
161 if ((get_mods() & MOD_MASK_SHIFT) == MOD_MASK_SHIFT) {
162 unregister_code(KC_0);
163 } else {
164 unregister_code(KC_RBRC);
165 }
166 }
167 return false;
168 break;
169 }
170 }
171 return true;
172}
173
174LEADER_EXTERNS();
175
176void matrix_scan_user(void) {
177 LEADER_DICTIONARY() {
178 leading = false;
179 leader_end();
180
181 SEQ_ONE_KEY(KC_F) { // Shift + Ctrl + F
182 tap_code16(S(C(KC_F)));
183 }
184 }
185}
186
187#ifdef OLED_DRIVER_ENABLE
188oled_rotation_t oled_init_user(oled_rotation_t rotation) {
189 return OLED_ROTATION_180;
190}
191
192static void render_kyria_logo(void) {
193 static const char PROGMEM kyria_logo[] = {
194 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,
195 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,
196 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,
197 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,
198 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,
199 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,
200 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,
201 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
202 };
203 oled_write_raw_P(kyria_logo, sizeof(kyria_logo));
204}
205
206static void render_qmk_logo(void) {
207 static const char PROGMEM qmk_logo[] = {
208 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,
209 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,
210 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,0};
211
212 oled_write_P(qmk_logo, false);
213}
214
215static void render_status(void) {
216 // QMK Logo and version information
217 render_qmk_logo();
218 oled_write_P(PSTR(" Kyria rev1.0\n\n"), false);
219
220 // Host Keyboard Layer Status
221 oled_write_P(PSTR("Layer: "), false);
222 switch (get_highest_layer(layer_state)) {
223 case QWERTY:
224 oled_write_P(PSTR("Default\n"), false);
225 break;
226 case LOWER:
227 oled_write_P(PSTR("Lower\n"), false);
228 break;
229 case RAISE:
230 oled_write_P(PSTR("Raise\n"), false);
231 break;
232 case NAV:
233 oled_write_P(PSTR("Navigation\n"), false);
234 break;
235 case ADJUST:
236 oled_write_P(PSTR("Adjust\n"), false);
237 break;
238 default:
239 oled_write_P(PSTR("Undefined\n"), false);
240 }
241
242 // Host Keyboard LED Status
243 led_t led_state = host_keyboard_led_state();
244 oled_write_P(led_state.num_lock ? PSTR("NUMLCK ") : PSTR(" "), false);
245 oled_write_P(led_state.caps_lock ? PSTR("CAPLCK ") : PSTR(" "), false);
246 oled_write_P(led_state.scroll_lock ? PSTR("SCRLCK ") : PSTR(" "), false);
247}
248
249void oled_task_user(void) {
250 if (is_keyboard_master()) {
251 render_status(); // Renders the current keyboard state (layer, lock, caps, scroll, etc)
252 } else {
253 render_kyria_logo();
254 }
255}
256#endif
257
258#ifdef ENCODER_ENABLE
259void encoder_update_user(uint8_t index, bool clockwise) {
260 if (index == 0) {
261 switch (get_highest_layer(layer_state)) {
262 case QWERTY:
263 if (clockwise) { // Ctrl + I
264 tap_code16(C(KC_I));
265 } else { // Shift + F3
266 tap_code16(S(KC_F3));
267 }
268 break;
269 case LOWER:
270 // History scrubbing. For Adobe products, hold shift while moving
271 // backward to go forward instead.
272 if (clockwise) {
273 tap_code16(C(KC_Y));
274 } else {
275 tap_code16(C(KC_Z));
276 }
277 break;
278 case RAISE:
279 if (clockwise) { // Subscript: CTRL + =
280 tap_code16(C(KC_EQL));
281 }
282 break;
283 default:
284 // Nothing
285 break;
286 }
287 } else if (index == 1) {
288 switch (get_highest_layer(layer_state)) {
289 case QWERTY:
290 // Scroll by letter horizontally
291 if (clockwise) {
292 tap_code16(KC_RGHT);
293 } else {
294 tap_code16(KC_LEFT);
295 }
296 case LOWER:
297 // Nothing
298 break;
299 case RAISE:
300 // Find previous/Find next
301 if (clockwise) {
302 tap_code(KC_F3);
303 } else {
304 tap_code16(S(KC_F3));
305 }
306 default:
307 // Nothing
308 break;
309 }
310 }
311}
312#endif
diff --git a/keyboards/kyria/keymaps/asapjockey/rules.mk b/keyboards/kyria/keymaps/asapjockey/rules.mk
new file mode 100644
index 000000000..9b8e29419
--- /dev/null
+++ b/keyboards/kyria/keymaps/asapjockey/rules.mk
@@ -0,0 +1,5 @@
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
4LEADER_ENABLE = yes # Enable the Leader Key feature
5MOUSEKEY_ENABLE = no
diff --git a/keyboards/kyria/keymaps/default/rules.mk b/keyboards/kyria/keymaps/default/rules.mk
index 213c50a80..e3486a8a9 100644
--- a/keyboards/kyria/keymaps/default/rules.mk
+++ b/keyboards/kyria/keymaps/default/rules.mk
@@ -1,3 +1,3 @@
1OLED_DRIVER_ENABLE = yes # Enables the use of OLED displays 1OLED_DRIVER_ENABLE = yes # Enables the use of OLED displays
2ENCODER_ENABLE = yes # ENables the use of one or more encoders 2ENCODER_ENABLE = yes # Enables the use of one or more encoders
3RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow \ No newline at end of file 3RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow \ No newline at end of file
diff --git a/keyboards/kyria/keymaps/thomasbaart/keymap.c b/keyboards/kyria/keymaps/thomasbaart/keymap.c
index ea6ce0a74..6709cd867 100644
--- a/keyboards/kyria/keymaps/thomasbaart/keymap.c
+++ b/keyboards/kyria/keymaps/thomasbaart/keymap.c
@@ -173,9 +173,20 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
173 return true; 173 return true;
174} 174}
175 175
176
177bool is_alt_tab_active = false;
178uint16_t alt_tab_timer = 0;
179
176LEADER_EXTERNS(); 180LEADER_EXTERNS();
177 181
178void matrix_scan_user(void) { 182void matrix_scan_user(void) {
183 if (is_alt_tab_active) {
184 if (timer_elapsed(alt_tab_timer) > 1000) {
185 unregister_code(KC_LALT);
186 is_alt_tab_active = false;
187 }
188 }
189
179 LEADER_DICTIONARY() { 190 LEADER_DICTIONARY() {
180 leading = false; 191 leading = false;
181 leader_end(); 192 leader_end();
@@ -192,7 +203,13 @@ void matrix_scan_user(void) {
192 SEQ_TWO_KEYS(KC_F, KC_P) { // Fusion Projection prefix 203 SEQ_TWO_KEYS(KC_F, KC_P) { // Fusion Projection prefix
193 SEND_STRING("[Projection] "); 204 SEND_STRING("[Projection] ");
194 } 205 }
195 SEQ_TWO_KEYS(KC_E, KC_S) { // Email splitkb 206 SEQ_TWO_KEYS(KC_B, KC_B) { // Basecone invoice description
207 SEND_STRING("[Leveranciersnaam] [Factuurnummer]");
208 }
209 SEQ_TWO_KEYS(KC_E, KC_S) { // Support email splitkb
210 SEND_STRING("support@splitkb.com");
211 }
212 SEQ_TWO_KEYS(KC_E, KC_T) { // Email splitkb
196 SEND_STRING("thomas@splitkb.com"); 213 SEND_STRING("thomas@splitkb.com");
197 } 214 }
198 SEQ_TWO_KEYS(KC_E, KC_P) { // Email personal 215 SEQ_TWO_KEYS(KC_E, KC_P) { // Email personal
@@ -204,15 +221,18 @@ void matrix_scan_user(void) {
204 SEQ_TWO_KEYS(KC_S, KC_V) { // Splitkb VAT number 221 SEQ_TWO_KEYS(KC_S, KC_V) { // Splitkb VAT number
205 SEND_STRING("NL210593349B01"); 222 SEND_STRING("NL210593349B01");
206 } 223 }
207 SEQ_THREE_KEYS(KC_S, KC_D, KC_K) { // Splitkb Kyria build log
208 SEND_STRING("https://docs.splitkb.com/docs/kyria-build-log/");
209 }
210 SEQ_TWO_KEYS(KC_B, KC_C) { // Discord bongocat 224 SEQ_TWO_KEYS(KC_B, KC_C) { // Discord bongocat
211 SEND_STRING(":bongocat:\n"); 225 SEND_STRING(":bongocat:\n");
212 } 226 }
213 SEQ_TWO_KEYS(KC_C, KC_B) { // Discord code block 227 SEQ_TWO_KEYS(KC_C, KC_B) { // Discord code block
214 SEND_STRING("```c" SS_LSFT("\n\n") "``` " SS_TAP(X_UP)); 228 SEND_STRING("```c" SS_LSFT("\n\n") "``` " SS_TAP(X_UP));
215 } 229 }
230 SEQ_TWO_KEYS(KC_Y, KC_S) { // Greeting
231 SEND_STRING("Yours sincerely,\n\nThomas Baart");
232 }
233 SEQ_THREE_KEYS(KC_M, KC_V, KC_G) { // Greeting
234 SEND_STRING("Met vriendelijke groet,\n\nThomas Baart");
235 }
216 } 236 }
217} 237}
218 238
@@ -292,20 +312,25 @@ void encoder_update_user(uint8_t index, bool clockwise) {
292 if (index == 0) { 312 if (index == 0) {
293 switch (biton32(layer_state)) { 313 switch (biton32(layer_state)) {
294 case QWERTY: 314 case QWERTY:
295 // Move whole words. Hold shift to select while moving. 315 // History scrubbing. For Adobe products, hold shift while moving
316 // backward to go forward instead.
296 if (clockwise) { 317 if (clockwise) {
297 tap_code16(C(KC_RGHT)); 318 tap_code16(C(KC_Z));
298 } else { 319 } else {
299 tap_code16(C(KC_LEFT)); 320 tap_code16(C(KC_Y));
300 } 321 }
301 break; 322 break;
302 default: 323 default:
303 // History scrubbing. For Adobe products, hold shift while moving 324 // Switch between windows on Windows with alt tab.
304 // backward to go forward instead.
305 if (clockwise) { 325 if (clockwise) {
306 tap_code16(C(KC_Z)); 326 if (!is_alt_tab_active) {
327 is_alt_tab_active = true;
328 register_code(KC_LALT);
329 }
330 alt_tab_timer = timer_read();
331 tap_code16(KC_TAB);
307 } else { 332 } else {
308 tap_code16(C(KC_Y)); 333 tap_code16(S(KC_TAB));
309 } 334 }
310 break; 335 break;
311 } 336 }