summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/config.h75
-rw-r--r--keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/features/auto_shift.c199
-rw-r--r--keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/features/combo.c275
-rw-r--r--keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/features/leader.c268
-rw-r--r--keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/keycodes.h44
-rw-r--r--keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/keymap.c133
-rw-r--r--keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/oled/glcdfont.c232
-rw-r--r--keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/oled/oled.c457
-rw-r--r--keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/readme.md130
-rw-r--r--keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/rules.mk22
10 files changed, 1835 insertions, 0 deletions
diff --git a/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/config.h b/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/config.h
new file mode 100644
index 0000000000..c147d5e67f
--- /dev/null
+++ b/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/config.h
@@ -0,0 +1,75 @@
1/* Copyright 2023 Florent Linguenheld (@FLinguenheld)
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/* Flash */
20#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET // Activates the double-tap behavior
21#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 200U // Timeout window in ms in which the double tap can occur.
22
23/* OLED */
24#undef OLED_FONT_H
25#define OLED_FONT_H "./oled/glcdfont.c"
26
27#define OLED_TIMEOUT 25000
28#define OLED_BRIGHTNESS 60 // Protect my eyesss
29#define SPLIT_LAYER_STATE_ENABLE
30#define SPLIT_MODS_ENABLE
31#define SPLIT_OLED_ENABLE
32
33/* Auto shift ♥ */
34#define AUTO_SHIFT_TIMEOUT 115
35
36/* Redefine CTRL + space (See space cadet shift) */
37#define LCPO_KEYS KC_LCTL, KC_TRNS, KC_SPC
38
39/* Unicode */
40// #define UNICODE_SELECTED_MODES UC_LNX
41#define UNICODE_SELECTED_MODES UNICODE_MODE_LINUX
42
43/* leader */
44#define LEADER_PER_KEY_TIMING
45#define LEADER_TIMEOUT 280
46#define LEADER_NO_TIMEOUT
47
48/* Mouse */
49#define MK_3_SPEED
50#define MK_MOMENTARY_ACCEL
51
52#define MK_C_OFFSET_0 1
53#define MK_C_INTERVAL_0 12
54
55#define MK_C_OFFSET_1 4
56#define MK_C_INTERVAL_1 18
57
58#define MK_C_OFFSET_UNMOD 13
59#define MK_C_INTERVAL_UNMOD 15
60
61#define MK_C_OFFSET_2 25
62#define MK_C_INTERVAL_2 10
63
64
65#define MK_W_OFFSET_0 1
66#define MK_W_INTERVAL_0 160
67
68#define MK_W_OFFSET_1 2
69#define MK_W_INTERVAL_1 120
70
71#define MK_W_OFFSET_UNMOD 4
72#define MK_W_INTERVAL_UNMOD 70
73
74#define MK_W_OFFSET_2 10
75#define MK_W_INTERVAL_2 30
diff --git a/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/features/auto_shift.c b/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/features/auto_shift.c
new file mode 100644
index 0000000000..d6bd3818b4
--- /dev/null
+++ b/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/features/auto_shift.c
@@ -0,0 +1,199 @@
1// Copyright 2023 Florent Linguenheld (@FLinguenheld)
2// SPDX-License-Identifier: GPL-2.0-or-later
3
4#include QMK_KEYBOARD_H
5#include "keycodes.h"
6
7/* Only for basis letters
8 Exceptions like Tab or Enter */
9bool get_auto_shifted_key(uint16_t keycode, keyrecord_t *record) {
10
11 switch (keycode) {
12
13 case KC_TAB:
14 case KC_ENT:
15
16 // --
17 case KC_A:
18 case KC_B:
19 case KC_C:
20 case KC_D:
21 case KC_E:
22 case KC_F:
23 case KC_G:
24 case KC_H:
25 case KC_I:
26 case KC_J:
27 case KC_K:
28 case KC_L:
29 case KC_M:
30 case KC_N:
31 case KC_O:
32 case KC_P:
33 case KC_Q:
34 case KC_R:
35 case KC_S:
36 case KC_T:
37 case KC_U:
38 case KC_V:
39 case KC_W:
40 case KC_X:
41 case KC_Y:
42 case KC_Z:
43
44 return true;
45 }
46
47 return get_custom_auto_shifted_key(keycode, record);
48}
49
50
51/* Custom auto shift
52 I use this instead of tap dance because double tap is horrible
53 Add here the letter or the custom enum, then add in press_user and press_release the actions */
54bool get_custom_auto_shifted_key(uint16_t keycode, keyrecord_t *record) {
55 switch(keycode) {
56
57 case KC_BSPC:
58 case KC_LABK: // Easy indent with vim
59 case KC_RABK:
60
61 /* French */
62 case CS_E_ACUTE:
63
64 case CS_A_GRAVE:
65 case CS_E_GRAVE:
66 case CS_I_GRAVE:
67 case CS_O_GRAVE:
68 case CS_U_GRAVE:
69
70 case CS_A_CIRCUMFLEX:
71 case CS_E_CIRCUMFLEX:
72 case CS_I_CIRCUMFLEX:
73 case CS_O_CIRCUMFLEX:
74 case CS_U_CIRCUMFLEX:
75
76 case CS_A_DIAERESIS:
77 case CS_E_DIAERESIS:
78 case CS_I_DIAERESIS:
79 case CS_O_DIAERESIS:
80 case CS_U_DIAERESIS:
81 case CS_Y_DIAERESIS:
82
83 case CS_C_CEDILLA:
84 case CS_AE:
85 case CS_OE:
86
87 return true;
88
89 default:
90 return false;
91 }
92}
93
94void autoshift_press_user(uint16_t keycode, bool shifted, keyrecord_t *record) {
95 switch(keycode) {
96
97 case KC_BSPC:
98 register_code16((!shifted) ? KC_BSPC : KC_DEL);
99 break;
100
101 case KC_LABK:
102 if (shifted) { send_unicode_string("<<"); }
103 else { send_unicode_string("<"); } break;
104
105 case KC_RABK:
106 if (shifted) { send_unicode_string(">>"); }
107 else { send_unicode_string(">"); } break;
108
109 /* French
110 Release is not necessary with 'send_unicode_string()' */
111 case CS_E_ACUTE:
112 if (shifted) { send_unicode_string("É"); }
113 else { send_unicode_string("é"); } break;
114
115 case CS_A_GRAVE:
116 if (shifted) { send_unicode_string("À"); }
117 else { send_unicode_string("à"); } break;
118 case CS_E_GRAVE:
119 if (shifted) { send_unicode_string("È"); }
120 else { send_unicode_string("è"); } break;
121 case CS_I_GRAVE:
122 if (shifted) { send_unicode_string("Ì"); }
123 else { send_unicode_string("ì"); } break;
124 case CS_O_GRAVE:
125 if (shifted) { send_unicode_string("Ò"); }
126 else { send_unicode_string("ò"); } break;
127 case CS_U_GRAVE:
128 if (shifted) { send_unicode_string("Ù"); }
129 else { send_unicode_string("ù"); } break;
130
131 case CS_A_CIRCUMFLEX:
132 if (shifted) { send_unicode_string("Â"); }
133 else { send_unicode_string("â"); } break;
134 case CS_E_CIRCUMFLEX:
135 if (shifted) { send_unicode_string("Ê"); }
136 else { send_unicode_string("ê"); } break;
137 case CS_I_CIRCUMFLEX:
138 if (shifted) { send_unicode_string("Î"); }
139 else { send_unicode_string("î"); } break;
140 case CS_O_CIRCUMFLEX:
141 if (shifted) { send_unicode_string("Ô"); }
142 else { send_unicode_string("ô"); } break;
143 case CS_U_CIRCUMFLEX:
144 if (shifted) { send_unicode_string("Û"); }
145 else { send_unicode_string("û"); } break;
146
147 case CS_A_DIAERESIS:
148 if (shifted) { send_unicode_string("Ä"); }
149 else { send_unicode_string("ä"); } break;
150 case CS_E_DIAERESIS:
151 if (shifted) { send_unicode_string("Ë"); }
152 else { send_unicode_string("ë"); } break;
153 case CS_I_DIAERESIS:
154 if (shifted) { send_unicode_string("Ï"); }
155 else { send_unicode_string("ï"); } break;
156 case CS_O_DIAERESIS:
157 if (shifted) { send_unicode_string("Ö"); }
158 else { send_unicode_string("ö"); } break;
159 case CS_U_DIAERESIS:
160 if (shifted) { send_unicode_string("Ü"); }
161 else { send_unicode_string("ü"); } break;
162 case CS_Y_DIAERESIS:
163 if (shifted) { send_unicode_string("Ÿ"); }
164 else { send_unicode_string("ÿ"); } break;
165
166 case CS_C_CEDILLA:
167 if (shifted) { send_unicode_string("Ç"); }
168 else { send_unicode_string("ç"); } break;
169 case CS_AE:
170 if (shifted) { send_unicode_string("Æ"); }
171 else { send_unicode_string("æ"); } break;
172 case CS_OE:
173 if (shifted) { send_unicode_string("Œ"); }
174 else { send_unicode_string("œ"); } break;
175
176
177 default:
178 if (shifted) {
179 add_weak_mods(MOD_BIT(KC_LSFT));
180 }
181 /* & 0xFF gets the Tap key for Tap Holds, required when using Retro Shift */
182 register_code16((IS_RETRO(keycode)) ? keycode & 0xFF : keycode);
183 }
184}
185
186void autoshift_release_user(uint16_t keycode, bool shifted, keyrecord_t *record) {
187 switch(keycode) {
188
189 case KC_BSPC:
190 unregister_code16((!shifted) ? KC_BSPC : KC_DEL);
191 break;
192
193 default:
194 /* & 0xFF gets the Tap key for Tap Holds, required when using Retro Shift
195 The IS_RETRO check isn't really necessary here, always using
196 keycode & 0xFF would be fine. */
197 unregister_code16((IS_RETRO(keycode)) ? keycode & 0xFF : keycode);
198 }
199}
diff --git a/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/features/combo.c b/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/features/combo.c
new file mode 100644
index 0000000000..e5b897dc62
--- /dev/null
+++ b/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/features/combo.c
@@ -0,0 +1,275 @@
1// Copyright 2023 Florent Linguenheld (@FLinguenheld)
2// SPDX-License-Identifier: GPL-2.0-or-later
3
4#include QMK_KEYBOARD_H
5#include "keycodes.h"
6
7/* How to :
8 - Add an entry in the enum
9 - Create a new sequence of keys
10 - Link the enum to this sequence in the key_combos table
11
12 For macros :
13 - Same steps
14 - And add the macro in the process_combo_event() function
15*/
16
17enum combos {
18 LEADER,
19 BOOTLOADER,
20
21 LAYER_ADJUST,
22 LAYER_FN,
23 LAYER_LEFT_HAND,
24
25 /* French */
26 E_ACUTE,
27 C_CEDILLA,
28 E_A,
29 E_O,
30
31 A_GRAVE,
32 E_GRAVE,
33 I_GRAVE,
34 O_GRAVE,
35 U_GRAVE,
36
37 A_CIRCUMFLEX,
38 E_CIRCUMFLEX,
39 I_CIRCUMFLEX,
40 O_CIRCUMFLEX,
41 U_CIRCUMFLEX,
42
43 A_DIAERESIS,
44 E_DIAERESIS,
45 I_DIAERESIS,
46 O_DIAERESIS,
47 U_DIAERESIS,
48 Y_DIAERESIS,
49
50 /* -- */
51 AMPERSAND,
52 AT_SIGN,
53 BACKSLASH,
54 CIRCUMFLEX,
55 COLON,
56 DOLLAR,
57 EQUAL,
58 EXCLAMATION_MARK,
59 GRAVE,
60 HASH,
61 MINUS,
62 PERCENT,
63 PIPE,
64 PLUS,
65 QUESTION_MARK,
66 QUOTE,
67 QUOTE_DOUBLE,
68 SEMICOLON,
69 SLASH,
70 STAR,
71 TILDE,
72 UNDERSCORE,
73
74 ANGLE_BRACKET_LEFT,
75 ANGLE_BRACKET_RIGHT,
76
77 BRACKET_LEFT,
78 BRACKET_RIGHT,
79 CURLY_BRACKET_LEFT,
80 CURLY_BRACKET_RIGHT,
81 PARENTHESIS_LEFT,
82 PARENTHESIS_RIGHT,
83
84 /* -- */
85 ALT_SHIFT,
86 CONTROL_SHIFT,
87 CONTROL_ALT,
88 CONTROL_SHIFT_ALT,
89 RIGHT_ALT,
90
91 /* One hand special */
92 CONTROL_RIGHT,
93 CONTROL_SHIFT_RIGHT,
94
95 // DEL_LEFT,
96 SHIFT_LEFT,
97 ALTGR_LEFT,
98 CONTROL_SHIFT_LEFT,
99
100 /* Just to replace the define in config.h */
101 COMBO_LENGTH,
102};
103uint16_t COMBO_LEN = COMBO_LENGTH;
104
105
106/* Sequences fo keys */
107const uint16_t PROGMEM combo_leader[] = {LT(_MOUSE, KC_COMM), LT(_ARROWS, KC_DOT), COMBO_END};
108const uint16_t PROGMEM combo_bootloader[] = {KC_K, KC_TAB, KC_Z, KC_BSPC, KC_V, KC_J, COMBO_END};
109
110const uint16_t PROGMEM combo_adjust[] = {KC_LCPO, LT(_NUMERIC, KC_ENT), COMBO_END};
111const uint16_t PROGMEM combo_fn[] = {LT(_NUMERIC, KC_ENT), KC_N, COMBO_END};
112const uint16_t PROGMEM combo_left_hand[] = {KC_LCPO, GUI_T(KC_ESC), COMBO_END};
113
114/* -- */
115// const uint16_t PROGMEM combo_enter_shifted[] = {LT(_NUMERIC, KC_ENT), KC_S, COMBO_END};
116const uint16_t PROGMEM combo_control_shift[] = {KC_LCPO, KC_S, COMBO_END};
117const uint16_t PROGMEM combo_control_alt[] = {KC_LCPO, KC_LALT, COMBO_END};
118const uint16_t PROGMEM combo_control_shift_alt[] = {KC_LCPO, KC_S, KC_A, COMBO_END};
119const uint16_t PROGMEM combo_right_alt[] = {KC_LAPO, KC_G, COMBO_END};
120const uint16_t PROGMEM combo_alt_shift[] = {KC_LALT, KC_S, COMBO_END};
121
122/* -- */
123const uint16_t PROGMEM combo_e_acute[] = {KC_LCPO, KC_E, COMBO_END};
124const uint16_t PROGMEM combo_c_cedilla[] = {KC_LCPO, KC_I, COMBO_END};
125const uint16_t PROGMEM combo_ea[] = {KC_LCPO, KC_A, COMBO_END};
126const uint16_t PROGMEM combo_eo[] = {KC_LCPO, KC_O, COMBO_END};
127
128const uint16_t PROGMEM combo_a_grave[] = {LT(_MOUSE, KC_COMM), KC_A, COMBO_END};
129const uint16_t PROGMEM combo_e_grave[] = {LT(_MOUSE, KC_COMM), KC_E, COMBO_END};
130const uint16_t PROGMEM combo_i_grave[] = {LT(_MOUSE, KC_COMM), KC_I, COMBO_END};
131const uint16_t PROGMEM combo_o_grave[] = {LT(_MOUSE, KC_COMM), KC_O, COMBO_END};
132const uint16_t PROGMEM combo_u_grave[] = {LT(_MOUSE, KC_COMM), KC_U, COMBO_END};
133
134const uint16_t PROGMEM combo_a_circumflex[] = {KC_C, KC_A, COMBO_END};
135const uint16_t PROGMEM combo_e_circumflex[] = {KC_C, KC_E, COMBO_END};
136const uint16_t PROGMEM combo_i_circumflex[] = {KC_C, KC_I, COMBO_END};
137const uint16_t PROGMEM combo_o_circumflex[] = {KC_C, KC_O, COMBO_END};
138const uint16_t PROGMEM combo_u_circumflex[] = {KC_C, KC_U, COMBO_END};
139
140const uint16_t PROGMEM combo_a_diaeresis[] = {KC_T, KC_A, COMBO_END};
141const uint16_t PROGMEM combo_e_diaeresis[] = {KC_T, KC_E, COMBO_END};
142const uint16_t PROGMEM combo_i_diaeresis[] = {KC_T, KC_I, COMBO_END};
143const uint16_t PROGMEM combo_o_diaeresis[] = {KC_T, KC_O, COMBO_END};
144const uint16_t PROGMEM combo_u_diaeresis[] = {KC_T, KC_U, COMBO_END};
145const uint16_t PROGMEM combo_y_diaeresis[] = {KC_T, KC_Y, COMBO_END};
146
147/* -- */
148const uint16_t PROGMEM combo_ampersand[] = {KC_I, KC_E, COMBO_END};
149const uint16_t PROGMEM combo_at_sign[] = {KC_Q, KC_Y, COMBO_END};
150const uint16_t PROGMEM combo_backslash[] = {KC_D, KC_R, COMBO_END};
151const uint16_t PROGMEM combo_circumflex[] = {KC_T, KC_D, COMBO_END};
152const uint16_t PROGMEM combo_colon[] = {KC_C, KC_G, COMBO_END};
153const uint16_t PROGMEM combo_dollar[] = {KC_D, KC_L, COMBO_END};
154const uint16_t PROGMEM combo_equal[] = {KC_T, KC_H, COMBO_END};
155const uint16_t PROGMEM combo_exclamation_mark[] = {KC_O, KC_W, COMBO_END};
156const uint16_t PROGMEM combo_grave[] = {KC_T, KC_G, COMBO_END};
157const uint16_t PROGMEM combo_hash[] = {KC_I, KC_O, COMBO_END};
158const uint16_t PROGMEM combo_minus[] = {KC_T, KC_R, COMBO_END};
159const uint16_t PROGMEM combo_percent[] = {KC_O, KC_U, COMBO_END};
160const uint16_t PROGMEM combo_pipe[] = {KC_E, KC_U, COMBO_END};
161const uint16_t PROGMEM combo_plus[] = {KC_T, KC_L, COMBO_END};
162const uint16_t PROGMEM combo_question_mark[] = {KC_B, KC_O, COMBO_END};
163const uint16_t PROGMEM combo_quote[] = {KC_T, KC_N, COMBO_END};
164const uint16_t PROGMEM combo_quote_double[] = {KC_A, KC_U, COMBO_END};
165const uint16_t PROGMEM combo_semicolon[] = {KC_G, KC_H, COMBO_END};
166const uint16_t PROGMEM combo_slash[] = {KC_S, KC_L, COMBO_END};
167const uint16_t PROGMEM combo_star[] = {KC_S, KC_T, COMBO_END};
168const uint16_t PROGMEM combo_tilde[] = {KC_I, KC_U, COMBO_END};
169const uint16_t PROGMEM combo_underscore[] = {KC_S, KC_R, COMBO_END};
170
171const uint16_t PROGMEM combo_angle_bracket_left[] = {KC_C, KC_S, COMBO_END};
172const uint16_t PROGMEM combo_angle_bracket_right[] = {KC_S, KC_H, COMBO_END};
173
174const uint16_t PROGMEM combo_bracket_left[] = {KC_Q, KC_U, COMBO_END};
175const uint16_t PROGMEM combo_bracket_right[] = {KC_E, KC_Y, COMBO_END};
176const uint16_t PROGMEM combo_curly_bracket_left[] = {KC_X, KC_E, COMBO_END};
177const uint16_t PROGMEM combo_curly_bracket_right[] = {KC_I, KC_Q, COMBO_END};
178const uint16_t PROGMEM combo_parenthesis_left[] = {KC_X, KC_U, COMBO_END};
179const uint16_t PROGMEM combo_parenthesis_right[] = {KC_I, KC_Y, COMBO_END};
180
181/* One hand special */
182const uint16_t PROGMEM combo_control_right[] = {LT(_NUMERIC, KC_ENT), KC_R, COMBO_END};
183const uint16_t PROGMEM combo_control_shift_right[] = {LT(_NUMERIC, KC_ENT), KC_S, COMBO_END};
184
185const uint16_t PROGMEM combo_shift_left[] = {KC_LCPO, KC_LALT, COMBO_END};
186// const uint16_t PROGMEM combo_altgr_left[] = {LT(_MOUSE, KC_COMM), KC_LALT, COMBO_END};
187// const uint16_t PROGMEM combo_del_left[] = {GUI_T(KC_ESC), KC_K, COMBO_END};
188const uint16_t PROGMEM combo_control_shift_left[] = {LT(_MOUSE, KC_COMM), KC_LALT, COMBO_END};
189
190
191/* Sequences fo keys */
192combo_t key_combos[] = {
193 [LEADER] = COMBO(combo_leader, KC_LEAD),
194 [BOOTLOADER] = COMBO(combo_bootloader, QK_BOOTLOADER),
195
196 [LAYER_ADJUST] = COMBO(combo_adjust, OSL(_ADJUST)),
197 [LAYER_FN] = COMBO(combo_fn, OSL(_FN)),
198 [LAYER_LEFT_HAND] = COMBO(combo_left_hand, OSL(_LEFT_HAND)),
199
200 /* -- */
201 // [ENTER_SHIFTED] = COMBO(combo_enter_shifted, S(KC_ENT)),
202 [ALT_SHIFT] = COMBO(combo_alt_shift, A(S(XXXXXXX))),
203 [CONTROL_SHIFT] = COMBO(combo_control_shift, C(S(XXXXXXX))),
204 [CONTROL_ALT] = COMBO(combo_control_alt, C(A(XXXXXXX))),
205 [CONTROL_SHIFT_ALT] = COMBO(combo_control_shift_alt, C(S(A(XXXXXXX)))),
206 [RIGHT_ALT] = COMBO(combo_right_alt, KC_RALT),
207
208 /* French */
209 [E_ACUTE] = COMBO(combo_e_acute, CS_E_ACUTE),
210 [C_CEDILLA] = COMBO(combo_c_cedilla, CS_C_CEDILLA),
211 [E_A] = COMBO(combo_ea, CS_AE),
212 [E_O] = COMBO(combo_eo, CS_OE),
213
214 [A_GRAVE] = COMBO(combo_a_grave, CS_A_GRAVE),
215 [E_GRAVE] = COMBO(combo_e_grave, CS_E_GRAVE),
216 [I_GRAVE] = COMBO(combo_i_grave, CS_I_GRAVE),
217 [O_GRAVE] = COMBO(combo_o_grave, CS_O_GRAVE),
218 [U_GRAVE] = COMBO(combo_u_grave, CS_U_GRAVE),
219
220 [A_CIRCUMFLEX] = COMBO(combo_a_circumflex, CS_A_CIRCUMFLEX),
221 [E_CIRCUMFLEX] = COMBO(combo_e_circumflex, CS_E_CIRCUMFLEX),
222 [I_CIRCUMFLEX] = COMBO(combo_i_circumflex, CS_I_CIRCUMFLEX),
223 [O_CIRCUMFLEX] = COMBO(combo_o_circumflex, CS_O_CIRCUMFLEX),
224 [U_CIRCUMFLEX] = COMBO(combo_u_circumflex, CS_U_CIRCUMFLEX),
225
226 [A_DIAERESIS] = COMBO(combo_a_diaeresis, CS_A_DIAERESIS),
227 [E_DIAERESIS] = COMBO(combo_e_diaeresis, CS_E_DIAERESIS),
228 [I_DIAERESIS] = COMBO(combo_i_diaeresis, CS_I_DIAERESIS),
229 [O_DIAERESIS] = COMBO(combo_o_diaeresis, CS_O_DIAERESIS),
230 [U_DIAERESIS] = COMBO(combo_u_diaeresis, CS_U_DIAERESIS),
231 [Y_DIAERESIS] = COMBO(combo_y_diaeresis, CS_Y_DIAERESIS),
232
233 /* -- */
234 [AMPERSAND] = COMBO(combo_ampersand, KC_AMPR),
235 [AT_SIGN] = COMBO(combo_at_sign, KC_AT),
236 [BACKSLASH] = COMBO(combo_backslash, KC_BSLS),
237 [CIRCUMFLEX] = COMBO(combo_circumflex, KC_CIRC),
238 [COLON] = COMBO(combo_colon, KC_COLON),
239 [DOLLAR] = COMBO(combo_dollar, KC_DLR),
240 [EQUAL] = COMBO(combo_equal, KC_EQL),
241 [EXCLAMATION_MARK] = COMBO(combo_exclamation_mark, KC_EXCLAIM),
242 [GRAVE] = COMBO(combo_grave, KC_GRV),
243 [HASH] = COMBO(combo_hash, KC_HASH),
244 [MINUS] = COMBO(combo_minus, KC_MINS),
245 [PERCENT] = COMBO(combo_percent, KC_PERC),
246 [PIPE] = COMBO(combo_pipe, KC_PIPE),
247 [PLUS] = COMBO(combo_plus, KC_PLUS),
248 [QUESTION_MARK] = COMBO(combo_question_mark, KC_QUESTION),
249 [QUOTE] = COMBO(combo_quote, KC_QUOTE),
250 [QUOTE_DOUBLE] = COMBO(combo_quote_double, KC_DOUBLE_QUOTE),
251 [SEMICOLON] = COMBO(combo_semicolon, KC_SEMICOLON),
252 [SLASH] = COMBO(combo_slash, KC_SLSH),
253 [STAR] = COMBO(combo_star, KC_ASTR),
254 [TILDE] = COMBO(combo_tilde, KC_TILD),
255 [UNDERSCORE] = COMBO(combo_underscore, KC_UNDS),
256
257 [ANGLE_BRACKET_LEFT] = COMBO(combo_angle_bracket_left, KC_LABK),
258 [ANGLE_BRACKET_RIGHT] = COMBO(combo_angle_bracket_right, KC_RABK),
259
260 [BRACKET_LEFT] = COMBO(combo_bracket_left, KC_LEFT_BRACKET),
261 [BRACKET_RIGHT] = COMBO(combo_bracket_right, KC_RIGHT_BRACKET),
262 [CURLY_BRACKET_LEFT] = COMBO(combo_curly_bracket_left, KC_LEFT_CURLY_BRACE),
263 [CURLY_BRACKET_RIGHT] = COMBO(combo_curly_bracket_right, KC_RIGHT_CURLY_BRACE),
264 [PARENTHESIS_LEFT] = COMBO(combo_parenthesis_left, KC_LEFT_PAREN),
265 [PARENTHESIS_RIGHT] COMBO(combo_parenthesis_right, KC_RIGHT_PAREN),
266
267 /* One hand special */
268 [CONTROL_RIGHT] = COMBO(combo_control_right, KC_RCTL),
269 [CONTROL_SHIFT_RIGHT] = COMBO(combo_control_shift_right, C(S(XXXXXXX))),
270
271 [SHIFT_LEFT] = COMBO(combo_shift_left, KC_LSFT),
272 // [ALTGR_LEFT] = COMBO(combo_altgr_left, KC_ALGR),
273 [CONTROL_SHIFT_LEFT] = COMBO(combo_control_shift_left, C(S(XXXXXXX))),
274 // [DEL_LEFT] = COMBO(combo_del_left, KC_BSPC),
275};
diff --git a/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/features/leader.c b/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/features/leader.c
new file mode 100644
index 0000000000..7cfd30af6d
--- /dev/null
+++ b/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/features/leader.c
@@ -0,0 +1,268 @@
1// Copyright 2023 Florent Linguenheld (@FLinguenheld)
2// SPDX-License-Identifier: GPL-2.0-or-later
3
4#include QMK_KEYBOARD_H
5
6LEADER_EXTERNS();
7
8void matrix_scan_user(void) {
9 LEADER_DICTIONARY() {
10 leading = false;
11 leader_end();
12
13 // SEQ_ONE_KEY(KC_F) {
14 // // Anything you can do in a macro.
15 // SEND_STRING("QMK is awesome."); }
16
17
18 SEQ_TWO_KEYS(KC_M, KC_S) {
19 SEND_STRING("f@linguenheld.fr"); }
20 SEQ_TWO_KEYS(KC_M, KC_L) {
21 SEND_STRING("florent@linguenheld.fr"); }
22 SEQ_TWO_KEYS(KC_F, KC_L) {
23 SEND_STRING("FLinguenheld"); }
24
25 SEQ_THREE_KEYS(KC_T, KC_E, KC_S) {
26 SEND_STRING("test01234"); }
27 SEQ_THREE_KEYS(KC_A, KC_D, KC_M) {
28 SEND_STRING("admin01234"); }
29
30 SEQ_ONE_KEY(KC_C) {
31 SEND_STRING(" | xclip -r -selection clipboard"); }
32
33 /* Degree */
34 SEQ_THREE_KEYS(KC_D, KC_E, KC_G) {
35 send_unicode_string("°"); }
36
37 /* Copyright / Register */
38 SEQ_THREE_KEYS(KC_C, KC_O, KC_P) {
39 send_unicode_string("©"); }
40 SEQ_THREE_KEYS(KC_R, KC_E, KC_G) {
41 send_unicode_string("®"); }
42
43 /* Diameter */
44 SEQ_THREE_KEYS(KC_D, KC_I, KC_A) {
45 send_unicode_string("ø"); }
46 SEQ_FOUR_KEYS(KC_D, KC_I, KC_A, KC_M) {
47 send_unicode_string("Ø"); }
48
49 /* Currency */
50 SEQ_THREE_KEYS(KC_E, KC_U, KC_R) {
51 send_unicode_string("€"); }
52 SEQ_THREE_KEYS(KC_P, KC_O, KC_U) {
53 send_unicode_string("£"); }
54 SEQ_THREE_KEYS(KC_Y, KC_E, KC_N) {
55 send_unicode_string("¥"); }
56 SEQ_THREE_KEYS(KC_C, KC_E, KC_N) {
57 send_unicode_string("¢"); }
58
59 /* Fractions */
60 SEQ_THREE_KEYS(KC_F, KC_C, KC_T) {
61 send_unicode_string("¼"); }
62 SEQ_THREE_KEYS(KC_F, KC_C, KC_G) {
63 send_unicode_string("½"); }
64 SEQ_THREE_KEYS(KC_F, KC_H, KC_T) {
65 send_unicode_string("¾"); }
66
67 /* Maths */
68 SEQ_THREE_KEYS(KC_M, KC_U, KC_L) {
69 send_unicode_string("×"); }
70 SEQ_THREE_KEYS(KC_D, KC_I, KC_V) {
71 send_unicode_string("÷"); }
72 SEQ_TWO_KEYS(KC_P, KC_M) {
73 send_unicode_string("±"); }
74 SEQ_THREE_KEYS(KC_I, KC_N, KC_E) {
75 send_unicode_string("≠"); }
76 SEQ_THREE_KEYS(KC_A, KC_L, KC_M) {
77 send_unicode_string("≈"); }
78 SEQ_THREE_KEYS(KC_S, KC_Q, KC_U) {
79 send_unicode_string("√"); }
80 SEQ_THREE_KEYS(KC_I, KC_N, KC_F) {
81 send_unicode_string("∞"); }
82 SEQ_TWO_KEYS(KC_LABK, KC_LABK) {
83 send_unicode_string("≤"); }
84 SEQ_TWO_KEYS(KC_RABK, KC_RABK) {
85 send_unicode_string("≥"); }
86
87 /* Greek */
88 SEQ_TWO_KEYS(KC_P, KC_I) {
89 send_unicode_string("π"); }
90 SEQ_THREE_KEYS(KC_P, KC_I, KC_I) {
91 send_unicode_string("Π"); }
92
93 SEQ_THREE_KEYS(KC_O, KC_M, KC_E) {
94 send_unicode_string("ω"); }
95 SEQ_FOUR_KEYS(KC_O, KC_M, KC_E, KC_G) {
96 send_unicode_string("Ω"); }
97
98 /* Icons */
99 SEQ_THREE_KEYS(KC_F, KC_L, KC_A) {
100 send_unicode_string("⚡"); }
101 SEQ_THREE_KEYS(KC_S, KC_T, KC_A) {
102 send_unicode_string("⭐"); }
103 SEQ_THREE_KEYS(KC_S, KC_P, KC_A) {
104 send_unicode_string("✨"); }
105 SEQ_THREE_KEYS(KC_P, KC_O, KC_P) {
106 send_unicode_string("🎉"); }
107 SEQ_THREE_KEYS(KC_R, KC_E, KC_C) {
108 send_unicode_string("♻️"); }
109 SEQ_THREE_KEYS(KC_L, KC_O, KC_V) {
110 send_unicode_string("❤️"); }
111 SEQ_THREE_KEYS(KC_F, KC_I, KC_R) {
112 send_unicode_string("🔥"); }
113 SEQ_THREE_KEYS(KC_B, KC_O, KC_M) {
114 send_unicode_string("💣"); }
115 SEQ_FOUR_KEYS(KC_B, KC_O, KC_U, KC_M) {
116 send_unicode_string("💥"); }
117 SEQ_THREE_KEYS(KC_R, KC_O, KC_C) {
118 send_unicode_string("🚀"); }
119 SEQ_THREE_KEYS(KC_T, KC_E, KC_L) {
120 send_unicode_string("🔭"); }
121 SEQ_THREE_KEYS(KC_M, KC_A, KC_G) {
122 send_unicode_string("🔎"); }
123 SEQ_THREE_KEYS(KC_W, KC_A, KC_R) {
124 send_unicode_string("⚠️"); }
125
126 SEQ_THREE_KEYS(KC_B, KC_U, KC_L) {
127 send_unicode_string("💡"); }
128 SEQ_FOUR_KEYS(KC_I, KC_N, KC_F, KC_O) {
129 send_unicode_string("ℹ️"); }
130 SEQ_THREE_KEYS(KC_G, KC_E, KC_A) {
131 send_unicode_string("⚙️"); }
132 SEQ_THREE_KEYS(KC_L, KC_I, KC_N) {
133 send_unicode_string("🔗"); }
134 SEQ_THREE_KEYS(KC_P, KC_I, KC_N) {
135 send_unicode_string("📌"); }
136 SEQ_FOUR_KEYS(KC_F, KC_L, KC_A, KC_G) {
137 send_unicode_string("🚩"); }
138 SEQ_THREE_KEYS(KC_B, KC_A, KC_L) {
139 send_unicode_string("🎈"); }
140 SEQ_THREE_KEYS(KC_G, KC_I, KC_F) {
141 send_unicode_string("🎁"); }
142
143 SEQ_THREE_KEYS(KC_P, KC_E, KC_N) {
144 send_unicode_string("✏️"); }
145 SEQ_THREE_KEYS(KC_K, KC_E, KC_Y) {
146 send_unicode_string("🔑"); }
147 SEQ_THREE_KEYS(KC_B, KC_O, KC_X) {
148 send_unicode_string("🧰"); }
149
150 SEQ_TWO_KEYS(KC_O, KC_K) {
151 send_unicode_string("👌"); }
152 SEQ_THREE_KEYS(KC_O, KC_W, KC_D) {
153 send_unicode_string("⛔"); }
154
155 SEQ_ONE_KEY(KC_V) {
156 send_unicode_string("✓"); }
157 SEQ_TWO_KEYS(KC_V, KC_B) {
158 send_unicode_string("☑"); }
159 SEQ_TWO_KEYS(KC_V, KC_G) {
160 send_unicode_string("✅"); }
161
162 SEQ_ONE_KEY(KC_X) {
163 send_unicode_string("✗"); }
164 SEQ_TWO_KEYS(KC_X, KC_B) {
165 send_unicode_string("☒"); }
166 SEQ_TWO_KEYS(KC_X, KC_G) {
167 send_unicode_string("❎"); }
168 SEQ_TWO_KEYS(KC_X, KC_R) {
169 send_unicode_string("❌"); }
170
171 SEQ_ONE_KEY(KC_QUESTION) {
172 send_unicode_string("❔"); }
173 SEQ_ONE_KEY(KC_EXCLAIM) {
174 send_unicode_string("❕"); }
175 SEQ_TWO_KEYS(KC_QUESTION, KC_QUESTION) {
176 send_unicode_string("❓"); }
177 SEQ_TWO_KEYS(KC_EXCLAIM, KC_EXCLAIM) {
178 send_unicode_string("❗"); }
179
180 SEQ_THREE_KEYS(KC_C, KC_O, KC_F) {
181 send_unicode_string("☕"); }
182 SEQ_THREE_KEYS(KC_U, KC_M, KC_B) {
183 send_unicode_string("☔"); }
184
185 SEQ_THREE_KEYS(KC_L, KC_O, KC_L) {
186 send_unicode_string("😀"); }
187 SEQ_THREE_KEYS(KC_M, KC_D, KC_R) {
188 send_unicode_string("🤣"); }
189 SEQ_THREE_KEYS(KC_K, KC_I, KC_S) {
190 send_unicode_string("😙"); }
191 SEQ_THREE_KEYS(KC_A, KC_N, KC_G) {
192 send_unicode_string("😇"); }
193 SEQ_THREE_KEYS(KC_G, KC_L, KC_A) {
194 send_unicode_string("😎"); }
195 SEQ_THREE_KEYS(KC_A, KC_N, KC_G) {
196 send_unicode_string("🤬"); }
197 SEQ_THREE_KEYS(KC_F, KC_E, KC_A) {
198 send_unicode_string("😱"); }
199 SEQ_THREE_KEYS(KC_N, KC_E, KC_U) {
200 send_unicode_string("😐"); }
201 SEQ_THREE_KEYS(KC_T, KC_H, KC_I) {
202 send_unicode_string("🤔"); }
203 SEQ_THREE_KEYS(KC_Z, KC_I, KC_P) {
204 send_unicode_string("🤐"); }
205 SEQ_THREE_KEYS(KC_S, KC_U, KC_R) {
206 send_unicode_string("😯"); }
207 SEQ_THREE_KEYS(KC_R, KC_O, KC_L) {
208 send_unicode_string("🙄"); }
209 SEQ_THREE_KEYS(KC_M, KC_O, KC_O) {
210 send_unicode_string("🌝"); }
211 SEQ_THREE_KEYS(KC_H, KC_U, KC_G) {
212 send_unicode_string("🫂"); }
213
214 SEQ_THREE_KEYS(KC_H, KC_E, KC_N) {
215 send_unicode_string("🐔"); }
216 SEQ_THREE_KEYS(KC_R, KC_O, KC_O) {
217 send_unicode_string("🐓"); }
218 SEQ_THREE_KEYS(KC_D, KC_U, KC_C) {
219 send_unicode_string("🦆"); }
220 SEQ_THREE_KEYS(KC_P, KC_E, KC_A) {
221 send_unicode_string("🦚"); }
222 SEQ_THREE_KEYS(KC_B, KC_I, KC_R) {
223 send_unicode_string("🐦"); }
224
225 /* Subscript / superscript */
226 SEQ_THREE_KEYS(KC_U, KC_P, KC_F) {
227 send_unicode_string("⁰"); }
228 SEQ_THREE_KEYS(KC_D, KC_N, KC_F) {
229 send_unicode_string("₀"); }
230 SEQ_THREE_KEYS(KC_U, KC_P, KC_C) {
231 send_unicode_string("¹"); }
232 SEQ_THREE_KEYS(KC_D, KC_N, KC_C) {
233 send_unicode_string("₁"); }
234 SEQ_THREE_KEYS(KC_U, KC_P, KC_G) {
235 send_unicode_string("²"); }
236 SEQ_THREE_KEYS(KC_D, KC_N, KC_G) {
237 send_unicode_string("₂"); }
238 SEQ_THREE_KEYS(KC_U, KC_P, KC_H) {
239 send_unicode_string("³"); }
240 SEQ_THREE_KEYS(KC_D, KC_N, KC_H) {
241 send_unicode_string("₃"); }
242 SEQ_THREE_KEYS(KC_U, KC_P, KC_T) {
243 send_unicode_string("⁴"); }
244 SEQ_THREE_KEYS(KC_D, KC_N, KC_T) {
245 send_unicode_string("₄"); }
246 SEQ_THREE_KEYS(KC_U, KC_P, KC_S) {
247 send_unicode_string("⁵"); }
248 SEQ_THREE_KEYS(KC_D, KC_N, KC_S) {
249 send_unicode_string("₅"); }
250 SEQ_THREE_KEYS(KC_U, KC_P, KC_R) {
251 send_unicode_string("⁶"); }
252 SEQ_THREE_KEYS(KC_D, KC_N, KC_R) {
253 send_unicode_string("₆"); }
254 SEQ_THREE_KEYS(KC_U, KC_P, KC_P) {
255 send_unicode_string("⁷"); }
256 SEQ_THREE_KEYS(KC_D, KC_N, KC_P) {
257 send_unicode_string("₇"); }
258 SEQ_THREE_KEYS(KC_U, KC_P, KC_D) {
259 send_unicode_string("⁸"); }
260 SEQ_THREE_KEYS(KC_D, KC_N, KC_D) {
261 send_unicode_string("₈"); }
262 SEQ_THREE_KEYS(KC_U, KC_P, KC_L) {
263 send_unicode_string("⁹"); }
264 SEQ_THREE_KEYS(KC_D, KC_N, KC_L) {
265 send_unicode_string("₉"); }
266
267 };
268}
diff --git a/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/keycodes.h b/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/keycodes.h
new file mode 100644
index 0000000000..b90b28fda4
--- /dev/null
+++ b/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/keycodes.h
@@ -0,0 +1,44 @@
1// Copyright 2023 Florent Linguenheld (@FLinguenheld)
2// SPDX-License-Identifier: GPL-2.0-or-later
3
4#pragma once
5
6enum layers {
7 _BASE,
8 _NUMERIC,
9 _ARROWS,
10 _MOUSE,
11 _ADJUST,
12 _FN,
13 _LEFT_HAND,
14};
15
16enum custom_keys {
17 UNICODE = SAFE_RANGE, // Shortcut to write unicodes, see numeric layer
18
19 /* See auto-shift */
20 CS_E_ACUTE,
21
22 CS_A_GRAVE,
23 CS_E_GRAVE,
24 CS_I_GRAVE,
25 CS_O_GRAVE,
26 CS_U_GRAVE,
27
28 CS_C_CEDILLA,
29 CS_AE,
30 CS_OE,
31
32 CS_A_CIRCUMFLEX,
33 CS_E_CIRCUMFLEX,
34 CS_I_CIRCUMFLEX,
35 CS_O_CIRCUMFLEX,
36 CS_U_CIRCUMFLEX,
37
38 CS_A_DIAERESIS,
39 CS_E_DIAERESIS,
40 CS_I_DIAERESIS,
41 CS_O_DIAERESIS,
42 CS_U_DIAERESIS,
43 CS_Y_DIAERESIS,
44};
diff --git a/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/keymap.c b/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/keymap.c
new file mode 100644
index 0000000000..50fb7909f3
--- /dev/null
+++ b/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/keymap.c
@@ -0,0 +1,133 @@
1/* Copyright 2023 Florent Linguenheld (@FLinguenheld)
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#include QMK_KEYBOARD_H
18#include "keycodes.h"
19
20
21bool process_record_user(uint16_t keycode, keyrecord_t *record) {
22
23 /* Macros */
24 switch (keycode) {
25
26 case UNICODE:
27 if (record->event.pressed) {
28 register_code(KC_LCTL);
29 register_code(KC_LSFT);
30 tap_code16(KC_U);
31 } else {
32 unregister_code(KC_LCTL);
33 unregister_code(KC_LSFT);
34 }
35 break;
36 }
37
38 return true;
39}
40
41const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
42
43 [_BASE] = LAYOUT(
44 //|---------------+---------------+---------------+---------------+---------------| |---------------+---------------+---------------+---------------+---------------|
45 GUI_T(KC_ESC) , KC_B , KC_O , KC_W , KC_BSPC , KC_J , KC_P , KC_D , KC_L , KC_F ,
46 //|---------------+---------------+---------------+---------------+---------------| |---------------+---------------+---------------+---------------+---------------|
47 KC_A , KC_I , KC_E , KC_U , KC_TAB , KC_V , KC_T , KC_S , KC_R , KC_N ,
48 //|---------------+---------------+---------------+---------------+---------------| |---------------+---------------+---------------+---------------+---------------|
49 KC_LALT , KC_X , KC_Q , KC_Y , KC_K , KC_Z , KC_C , KC_G , KC_H , KC_M ,
50 //|---------------+---------------+---------------+---------------+---------------| |---------------+---------------+---------------+---------------+---------------|
51 // |-------------------------+-------------------------| |-------------------------+-------------------------|
52 LT(_MOUSE, KC_COMM) , KC_LCPO , LT(_NUMERIC, KC_ENT) , LT(_ARROWS, KC_DOT)
53 // |-------------------------+----/* Space ctl */------| |-------------------------+-------------------------|
54 ),
55
56 [_NUMERIC] = LAYOUT(
57 //|---------------+---------------+---------------+---------------+---------------| |---------------+---------------+---------------+---------------+---------------|
58 _______ , XXXXXXX , XXXXXXX , XXXXXXX , _______ , XXXXXXX , KC_7 , KC_8 , KC_9 , KC_DOT ,
59 //|---------------+---------------+---------------+---------------+---------------| |---------------+---------------+---------------+---------------+---------------|
60 XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , _______ , XXXXXXX , KC_4 , KC_5 , KC_6 , KC_0 ,
61 //|---------------+---------------+---------------+---------------+---------------| |---------------+---------------+---------------+---------------+---------------|
62 _______ , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , KC_1 , KC_2 , KC_3 , KC_COMM ,
63 //|---------------+---------------+---------------+---------------+---------------| |---------------+---------------+---------------+---------------+---------------|
64 // |-------------------------+-------------------------| |-------------------------+-------------------------|
65 XXXXXXX , UNICODE , XXXXXXX , XXXXXXX
66 // |-------------------------+-------------------------| |-------------------------+-------------------------|
67 ),
68
69 [_MOUSE] = LAYOUT(
70 //|---------------+---------------+---------------+---------------+---------------| |---------------+---------------+---------------+---------------+---------------|
71 KC_MS_WH_LEFT , KC_MS_WH_UP , KC_MS_WH_DOWN , KC_MS_WH_RIGHT, _______ , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX ,
72 //|---------------+---------------+---------------+---------------+---------------| |---------------+---------------+---------------+---------------+---------------|
73 KC_MS_LEFT , KC_MS_UP , KC_MS_DOWN , KC_MS_RIGHT , _______ , XXXXXXX , KC_MS_ACCEL0 , KC_MS_ACCEL1 , KC_MS_ACCEL2 , XXXXXXX ,
74 //|---------------+---------------+---------------+---------------+---------------| |---------------+---------------+---------------+---------------+---------------|
75 KC_MS_BTN1 , XXXXXXX , KC_MS_BTN3 , KC_MS_BTN2 , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX ,
76 //|---------------+---------------+---------------+---------------+---------------| |---------------+---------------+---------------+---------------+---------------|
77 // |-------------------------+-------------------------| |-------------------------+-------------------------|
78 XXXXXXX , _______ , KC_MS_BTN1 , KC_MS_BTN2
79 // |-------------------------+-------------------------| |-------------------------+-------------------------|
80 ),
81
82 [_ARROWS] = LAYOUT(
83 //|---------------+---------------+---------------+---------------+---------------| |---------------+---------------+---------------+---------------+---------------|
84 _______ , XXXXXXX , XXXXXXX , XXXXXXX , _______ , XXXXXXX , KC_HOME , KC_PAGE_DOWN , KC_PAGE_UP , KC_END ,
85 //|---------------+---------------+---------------+---------------+---------------| |---------------+---------------+---------------+---------------+---------------|
86 XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , _______ , XXXXXXX , KC_LEFT , KC_DOWN , KC_UP , KC_RIGHT ,
87 //|---------------+---------------+---------------+---------------+---------------| |---------------+---------------+---------------+---------------+---------------|
88 _______ , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , C(KC_D) , C(KC_U) , XXXXXXX ,
89 //|---------------+---------------+---------------+---------------+---------------| |---------------+---------------+---------------+---------------+---------------|
90 // |-------------------------+-------------------------| |-------------------------+-------------------------|
91 XXXXXXX , _______ , XXXXXXX , XXXXXXX
92 // |-------------------------+-------------------------| |-------------------------+-------------------------|
93 ),
94
95 [_ADJUST] = LAYOUT(
96 //|---------------+---------------+---------------+---------------+------------------| |---------------+---------------+---------------+---------------+-----------------|
97 XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , KC_PRINT_SCREEN , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , KC_AUDIO_VOL_UP ,
98 //|---------------+---------------+---------------+---------------+------------------| |---------------+---------------+---------------+---------------+-----------------|
99 XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX ,S(KC_PRINT_SCREEN), XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX ,KC_AUDIO_VOL_DOWN,
100 //|---------------+---------------+---------------+---------------+------------------| |---------------+---------------+---------------+---------------+-----------------|
101 XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , KC_AUDIO_MUTE ,
102 //|---------------+---------------+---------------+---------------+------------------| |---------------+---------------+---------------+---------------+-----------------|
103 // |-------------------------+-------------------------| |-------------------------+-------------------------|
104 XXXXXXX , _______ , XXXXXXX , XXXXXXX
105 // |-------------------------+-------------------------| |-------------------------+-------------------------|
106 ),
107
108 [_FN] = LAYOUT(
109 //|---------------+---------------+---------------+---------------+---------------| |---------------+---------------+---------------+---------------+---------------|
110 _______ , XXXXXXX , XXXXXXX , XXXXXXX , _______ , XXXXXXX , KC_F7 , KC_F8 , KC_F9 , KC_F10 ,
111 //|---------------+---------------+---------------+---------------+---------------| |---------------+---------------+---------------+---------------+---------------|
112 XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , _______ , XXXXXXX , KC_F4 , KC_F5 , KC_F6 , KC_F11 ,
113 //|---------------+---------------+---------------+---------------+---------------| |---------------+---------------+---------------+---------------+---------------|
114 _______ , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , KC_F1 , KC_F2 , KC_F3 , KC_F12 ,
115 //|---------------+---------------+---------------+---------------+---------------| |---------------+---------------+---------------+---------------+---------------|
116 // |-------------------------+-------------------------| |-------------------------+-------------------------|
117 XXXXXXX , _______ , XXXXXXX , XXXXXXX
118 // |-------------------------+-------------------------| |-------------------------+-------------------------|
119 ),
120
121 [_LEFT_HAND] = LAYOUT(
122 //|---------------+---------------+---------------+---------------+---------------| |---------------+---------------+---------------+---------------+---------------|
123 _______ , XXXXXXX , XXXXXXX , XXXXXXX , _______ , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX ,
124 //|---------------+---------------+---------------+---------------+---------------| |---------------+---------------+---------------+---------------+---------------|
125 XXXXXXX , C(KC_X) , C(KC_C) , C(KC_V) , _______ , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX ,
126 //|---------------+---------------+---------------+---------------+---------------| |---------------+---------------+---------------+---------------+---------------|
127 _______ , XXXXXXX , XXXXXXX , C(KC_Z) , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX ,
128 //|---------------+---------------+---------------+---------------+---------------| |---------------+---------------+---------------+---------------+---------------|
129 // |-------------------------+-------------------------| |-------------------------+-------------------------|
130 XXXXXXX , _______ , XXXXXXX , XXXXXXX
131 // |-------------------------+-------------------------| |-------------------------+-------------------------|
132 ),
133};
diff --git a/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/oled/glcdfont.c b/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/oled/glcdfont.c
new file mode 100644
index 0000000000..ad4448993f
--- /dev/null
+++ b/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/oled/glcdfont.c
@@ -0,0 +1,232 @@
1// Copyright 2023 Florent Linguenheld (@FLinguenheld)
2// SPDX-License-Identifier: GPL-2.0-or-later
3
4#include "progmem.h"
5
6/* Online editor: https://joric.github.io/qle/ */
7static const unsigned char PROGMEM font[] = {
8 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
9 0xFC, 0xFE, 0x0E, 0x06, 0xE6, 0xE6,
10 0xE6, 0xE6, 0xE6, 0xFE, 0xFE, 0xE6,
11 0xE6, 0xE6, 0x06, 0x06, 0xE6, 0xE6,
12 0xE6, 0xFE, 0xFE, 0x06, 0x06, 0xFE,
13 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFC,
14 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
15 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
16 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
17 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
18 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
19 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
20 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
21 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
22 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
23 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
24 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
25 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
26 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
27 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
28 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
29 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
30 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
31 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
32 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
33 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
34 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
35 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
36 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
37 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
38 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
39 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
40 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
41 0x3F, 0x7F, 0x70, 0x60, 0x67, 0x67,
42 0x67, 0x67, 0x67, 0x7F, 0x7F, 0x7F,
43 0x7F, 0x7F, 0x60, 0x60, 0x7F, 0x7F,
44 0x7F, 0x7F, 0x7F, 0x60, 0x60, 0x67,
45 0x67, 0x67, 0x67, 0x67, 0x7F, 0x3F,
46 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
47 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
48 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
49 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
50 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
51 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
52 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
53 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
54 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
55 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
56 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
57 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
58 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
59 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
60 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
61 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
62 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
63 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
64 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
65 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
66 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
67 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
68 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
69 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
70 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
71 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
72 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
73 0xFC, 0xFE, 0x0E, 0x06, 0xE6, 0xE6,
74 0xE6, 0xE6, 0x06, 0x0E, 0xFE, 0xFE,
75 0x06, 0x06, 0xFE, 0xFE, 0xFE, 0xFE,
76 0xFE, 0xFE, 0xE6, 0xE6, 0xE6, 0x06,
77 0x06, 0xE6, 0xE6, 0xE6, 0xFE, 0xFC,
78 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
79 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
80 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
81 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
82 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
83 0xFC, 0xFE, 0x0E, 0x06, 0x66, 0x66,
84 0x66, 0x66, 0xE6, 0xFE, 0xFE, 0x06,
85 0x06, 0x66, 0x66, 0x66, 0xE6, 0xE6,
86 0xFE, 0xFE, 0xE6, 0xE6, 0xE6, 0x06,
87 0x06, 0xE6, 0xE6, 0xE6, 0xFE, 0xFC,
88 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
89 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
90 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
91 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
92 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
93 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
94 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
95 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
96 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
97 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
98 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
99 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
100 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
101 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
102 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
103 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
104 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
105 0x3F, 0x7F, 0x60, 0x60, 0x7C, 0x7C,
106 0x7C, 0x7C, 0x60, 0x60, 0x7F, 0x7F,
107 0x60, 0x60, 0x67, 0x67, 0x67, 0x67,
108 0x67, 0x7F, 0x7F, 0x7F, 0x7F, 0x60,
109 0x60, 0x7F, 0x7F, 0x7F, 0x7F, 0x3F,
110 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
111 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
112 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
113 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
114 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
115 0x3F, 0x7F, 0x67, 0x66, 0x66, 0x66,
116 0x66, 0x60, 0x70, 0x7F, 0x7F, 0x60,
117 0x60, 0x7E, 0x7E, 0x7E, 0x7F, 0x7F,
118 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x60,
119 0x60, 0x7F, 0x7F, 0x7F, 0x7F, 0x3F,
120 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
121 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
122 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
123 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
124 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
125 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
126 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
127 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
128 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
129 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
130 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
131 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
132 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
133 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
134 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
135 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
136 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
137 0xFC, 0xFE, 0x0E, 0x06, 0xE6, 0xE6,
138 0xE6, 0x06, 0x0E, 0xFE, 0xFE, 0x0E,
139 0x06, 0xE6, 0xE6, 0xE6, 0xE6, 0xE6,
140 0xFE, 0xFE, 0x06, 0x06, 0x66, 0x66,
141 0x66, 0x66, 0x06, 0x0E, 0xFE, 0xFC,
142 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
143 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
144 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
145 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
146 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
147 0xFC, 0xFE, 0x0E, 0x06, 0xE6, 0xE6,
148 0xE6, 0xE6, 0xE6, 0xFE, 0xFE, 0x06,
149 0x06, 0xCE, 0x9E, 0x9E, 0xCE, 0x06,
150 0x06, 0xFE, 0xFE, 0x06, 0x06, 0xE6,
151 0xE6, 0xE6, 0x0E, 0x1E, 0xFE, 0xFC,
152 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
153 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
154 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
155 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
156 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
157 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
158 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
159 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
160 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
161 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
162 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
163 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
164 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
165 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
166 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
167 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
168 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
169 0x3F, 0x7F, 0x60, 0x60, 0x7C, 0x7C,
170 0x7C, 0x60, 0x60, 0x7F, 0x7F, 0x70,
171 0x60, 0x67, 0x67, 0x64, 0x60, 0x70,
172 0x7F, 0x7F, 0x60, 0x60, 0x7E, 0x7E,
173 0x78, 0x70, 0x62, 0x67, 0x7F, 0x3F,
174 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
175 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
176 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
177 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
178 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
179 0x3F, 0x7F, 0x70, 0x60, 0x67, 0x67,
180 0x67, 0x67, 0x67, 0x7F, 0x7F, 0x60,
181 0x60, 0x7F, 0x7F, 0x7F, 0x7F, 0x60,
182 0x60, 0x7F, 0x7F, 0x60, 0x60, 0x67,
183 0x67, 0x67, 0x70, 0x78, 0x7F, 0x3F,
184 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
185 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
186 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
187 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
188 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
189 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
190 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
191 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
192 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
193 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
194 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
195 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
196 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
197 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
198 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
199 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
200 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
201 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
202 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
203 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
204 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
205 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
206 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
207 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
208 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
209 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
210 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
211 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
212 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
213 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
214 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
215 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
216 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
217 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
218 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
219 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
220 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
221 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
222 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
223 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
224 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
225 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
226 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
227 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
228 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
229 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
230 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
231 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
232};
diff --git a/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/oled/oled.c b/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/oled/oled.c
new file mode 100644
index 0000000000..5b177acc7c
--- /dev/null
+++ b/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/oled/oled.c
@@ -0,0 +1,457 @@
1// Copyright 2023 Florent Linguenheld (@FLinguenheld)
2// SPDX-License-Identifier: GPL-2.0-or-later
3
4#include QMK_KEYBOARD_H
5#include "keycodes.h"
6
7/* Leader state */
8static bool is_leader_active = false;
9void leader_start(void) {
10 is_leader_active = true;
11}
12void leader_end(void) {
13 is_leader_active = false;
14}
15
16
17void oled_display(void) {
18
19 /* Layers */
20 switch (get_highest_layer(layer_state)) {
21
22 case _BASE: ;
23 if (is_keyboard_master()) {
24 static const char PROGMEM qmk_logo_master[] = {
25 // 'raven', 32x128px
26 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
27 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
28 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
29 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
30 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x8f, 0x5f, 0x31, 0x79, 0x33, 0x7f,
31 0x3b, 0x71, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
32 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x4c, 0x02, 0x01, 0x95, 0xff, 0xb5, 0x05, 0x02, 0x4c, 0x30,
33 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
34 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x7e, 0x01, 0x01, 0x01, 0x7e, 0x40, 0x00, 0x00,
35 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
36 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
37 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
38 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
39 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
40 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xe0,
41 0xf0, 0xf8, 0xfc, 0xfc, 0xfe, 0xfe, 0xfe, 0xfe, 0xfc, 0x7c, 0x7c, 0xf8, 0xf0, 0xe0, 0x80, 0x00,
42 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf0, 0xf8, 0xfc, 0xfe, 0xcf, 0xef, 0xe7, 0xf3, 0xfb, 0xf9,
43 0xfd, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x0f, 0x0e, 0x1a, 0x23, 0x43, 0x3f, 0x03, 0x00,
44 0x00, 0x0c, 0x1e, 0x1f, 0x3f, 0x3f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x80, 0x40, 0xe0, 0xbf, 0x33,
45 0x30, 0x60, 0x20, 0x21, 0xff, 0x20, 0x60, 0x20, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
46 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 0xf8,
47 0xfc, 0xfc, 0x7c, 0x00, 0x00, 0x00, 0x7c, 0xfc, 0xfc, 0xf8, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
48 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x04, 0x04, 0x08, 0x08, 0x30,
49 0x20, 0x30, 0x20, 0x32, 0x20, 0x32, 0x20, 0x30, 0x20, 0x1c, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00,
50 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
51 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
52 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
53 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
54 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
55 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
56 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
57 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
58 };
59 oled_write_raw_P(qmk_logo_master, sizeof(qmk_logo_master));
60
61 } else {
62 static const char PROGMEM qmk_logo_slave[] = {
63 // 'birds', 32x128px
64 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
65 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
66 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
67 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
68 0x00, 0x40, 0xc0, 0xe0, 0xd0, 0x88, 0x84, 0x04, 0x04, 0xc4, 0xc4, 0x08, 0x08, 0x10, 0x60, 0x80,
69 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
70 0x00, 0x00, 0xf8, 0x46, 0x81, 0x02, 0x02, 0x06, 0x04, 0x04, 0x04, 0x74, 0x84, 0x06, 0x03, 0x81,
71 0x42, 0x24, 0x18, 0x10, 0xa0, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
72 0x00, 0x00, 0x01, 0x06, 0x08, 0x11, 0x12, 0x24, 0x24, 0x48, 0xc8, 0x48, 0x48, 0xc9, 0x49, 0x4a,
73 0x4a, 0x26, 0x25, 0x25, 0x14, 0x14, 0x14, 0x1d, 0x15, 0x2e, 0x54, 0x60, 0x40, 0x00, 0x00, 0x00,
74 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x01, 0x05, 0x02, 0x03, 0x02, 0x00,
75 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
76 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
77 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
78 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
79 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
80 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
81 0x80, 0x40, 0x20, 0x10, 0x08, 0x08, 0x08, 0x08, 0x88, 0xc8, 0x08, 0x30, 0xc0, 0xc0, 0x80, 0x00,
82 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x18, 0x04, 0x03,
83 0x00, 0x00, 0x00, 0x80, 0x80, 0x70, 0x18, 0x00, 0x00, 0x00, 0x80, 0x70, 0x0f, 0x00, 0x00, 0x00,
84 0x00, 0x00, 0x70, 0x50, 0x48, 0x48, 0x24, 0x24, 0x12, 0x0a, 0x05, 0x09, 0x13, 0x12, 0x22, 0x22,
85 0xe1, 0x21, 0x21, 0x20, 0xe0, 0x20, 0x20, 0x10, 0x08, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
86 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
87 0x04, 0x07, 0x04, 0x00, 0x04, 0x07, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
88 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
89 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
90 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
91 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
92 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
93 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
94 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
95 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
96 };
97 oled_write_raw_P(qmk_logo_slave, sizeof(qmk_logo_slave));
98 }
99 break;
100
101 case _NUMERIC: ;
102 static const char PROGMEM qmk_numeric[] = {
103 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0xe0, 0xc0, 0x80, 0x00, 0x00,
104 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
105 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x01, 0x03, 0x07, 0x0f, 0x1e,
106 0x3c, 0x78, 0xf0, 0xe0, 0xc0, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
107 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0x87, 0x87, 0x00, 0x00, 0x00, 0x00, 0x00,
108 0x00, 0x00, 0x00, 0x01, 0x03, 0x87, 0x87, 0x87, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
109 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,
110 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
111 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0f, 0x0f, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e,
112 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0f, 0x0f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
113 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x0e, 0x1c, 0x38, 0x70, 0xe0,
114 0xe0, 0x70, 0x38, 0x1c, 0x0e, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
115 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00,
116 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
117 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0xff, 0xc7, 0xc7, 0xc7, 0xc7, 0xc7,
118 0xc7, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
119 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x3f, 0x3f, 0x38, 0x38, 0x38, 0x38, 0x38,
120 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
121 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0x00, 0x1c, 0x1c, 0x1c, 0x1c,
122 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0xfc, 0xfc, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
123 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x06, 0x06, 0x06, 0x06,
124 0x06, 0x06, 0x0e, 0x1e, 0x3e, 0x77, 0xe7, 0xc3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
125 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x70, 0x70, 0xf0, 0xf0,
126 0xf0, 0xf0, 0x70, 0x70, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
127 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0xff, 0xff,
128 0xff, 0xff, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
129 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3,
130 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
131 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x01, 0x01, 0x01, 0x01, 0x01,
132 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
133 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0f, 0x0f, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e,
134 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
135 };
136
137 oled_write_raw_P(qmk_numeric, sizeof(qmk_numeric));
138 break;
139
140 case _MOUSE: ;
141 static const char PROGMEM qmk_mouse[] = {
142 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
143 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
144 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x3e, 0x3c, 0x78, 0xf0, 0xe0, 0xc0,
145 0xc0, 0xe0, 0xf0, 0x78, 0x3c, 0x3e, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
146 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03,
147 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
148 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x81, 0xc1, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
149 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc1, 0x81, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
150 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
151 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
152 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
153 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
154 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc1, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
155 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xc1, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
156 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
157 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
158 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x3f, 0x7f, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70,
159 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x7f, 0x3f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
160 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xf0, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70,
161 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
162 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x7f, 0xff, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,
163 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
164 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
165 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
166 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x81, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1,
167 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
168 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1,
169 0xc1, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
170 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1,
171 0xc1, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
172 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
173 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
174 };
175
176 oled_write_raw_P(qmk_mouse, sizeof(qmk_mouse));
177 break;
178
179 case _ARROWS: ;
180 static const char PROGMEM qmk_arrows[] = {
181 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
182 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
183 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc,
184 0xfc, 0xf8, 0xf0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
185 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x3e, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0xff, 0xff,
186 0xff, 0xff, 0x01, 0x03, 0x07, 0x0f, 0x1f, 0x3e, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
187 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff,
188 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
189 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03,
190 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
191 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0x7c, 0x3c, 0x1c, 0x0c,
192 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
193 0x00, 0x00, 0x00, 0x00, 0x0c, 0x1e, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xde, 0x9e, 0x1e, 0x1e, 0x1e,
194 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x00, 0x00, 0x00, 0x00,
195 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x0f, 0x0e, 0x0c,
196 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
197 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
198 0x30, 0x70, 0xf0, 0xf0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
199 0x00, 0x00, 0x00, 0x00, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
200 0x78, 0x78, 0x78, 0x79, 0x7b, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0x78, 0x30, 0x00, 0x00, 0x00, 0x00,
201 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
202 0x30, 0x38, 0x3c, 0x3e, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
203 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0,
204 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
205 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff,
206 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
207 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x7c, 0xf8, 0xf0, 0xe0, 0xc0, 0x80, 0xff, 0xff,
208 0xff, 0xff, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0x7c, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
209 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x1f, 0x3f,
210 0x3f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
211 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
212 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
213 };
214
215 oled_write_raw_P(qmk_arrows, sizeof(qmk_arrows));
216 break;
217
218 case _ADJUST: ;
219 static const char PROGMEM qmk_adjust[] = {
220 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf8, 0xf8, 0x38, 0x38, 0x38, 0x38, 0x38,
221 0x38, 0x38, 0x38, 0x38, 0x38, 0xf8, 0xf8, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
222 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x38, 0x38, 0x38, 0x38, 0x38,
223 0x38, 0x38, 0x38, 0x38, 0x38, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
224 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00,
225 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
226 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x07, 0x07, 0x07, 0x07,
227 0x07, 0x07, 0x07, 0x07, 0x0f, 0xfe, 0xfc, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
228 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xc0, 0xc0, 0xc0, 0xc0,
229 0xc0, 0xc0, 0xc0, 0xc0, 0xe0, 0xff, 0x7f, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
230 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe1, 0xe1, 0xe1, 0xe0, 0xe1, 0xe1, 0xe1, 0xe1,
231 0xe1, 0xe1, 0xe1, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
232 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00,
233 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
234 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x3f, 0x3f, 0x38,
235 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
236 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
237 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
238 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,
239 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
240 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87,
241 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
242 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3,
243 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
244 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1,
245 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
246 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0xf0, 0xf0,
247 0xf0, 0xf0, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
248 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff,
249 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
250 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f,
251 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
252 };
253
254 oled_write_raw_P(qmk_adjust, sizeof(qmk_adjust));
255 break;
256
257 case _FN: ;
258 static const char PROGMEM qmk_fn[] = {
259 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
260 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
261 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
262 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
263 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
264 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
265 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
266 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
267 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,
268 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
269 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
270 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
271 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
272 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
273 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
274 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
275 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
276 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
277 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xfe, 0xf8, 0xe0, 0x80, 0x00,
278 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
279 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, 0x07, 0x1f, 0x7f, 0xfe,
280 0xf8, 0xe0, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
281 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
282 0x07, 0x1f, 0x7f, 0xfe, 0xf8, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
283 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x7f, 0x7f, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
284 0x00, 0x00, 0x00, 0x01, 0x07, 0x1f, 0x7f, 0x7f, 0x7f, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
285 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
286 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
287 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
288 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
289 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
290 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
291 };
292
293 oled_write_raw_P(qmk_fn, sizeof(qmk_fn));
294 break;
295
296 case _LEFT_HAND: ;
297 static const char PROGMEM qmk_left_hand[] = {
298 // 'layers_left_hand', 32x128px
299 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
300 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
301 0xff, 0xff, 0xff, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00,
302 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
303 0xe1, 0xf1, 0xf1, 0x71, 0x71, 0x71, 0x71, 0x71, 0x71, 0x71, 0x71, 0x71, 0x71, 0x00, 0x00, 0x00,
304 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
305 0xff, 0xff, 0xff, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
306 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
307 0x0f, 0x1f, 0x1f, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x00, 0x00, 0x00,
308 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
309 0xff, 0xff, 0xff, 0x87, 0x87, 0x87, 0x87, 0x87, 0x07, 0x07, 0x07, 0x07, 0x07, 0x00, 0x00, 0x00,
310 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
311 0xff, 0xff, 0xff, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
312 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80,
313 0x71, 0x71, 0x71, 0x70, 0x70, 0xf0, 0xf0, 0xf0, 0x70, 0x70, 0x70, 0x70, 0x70, 0x00, 0x00, 0x00,
314 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xff, 0xff, 0xff,
315 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
316 0x00, 0x00, 0x00, 0x7f, 0x7f, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x7f, 0x7f,
317 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
318 0x00, 0x00, 0x00, 0xf0, 0xf8, 0xfc, 0x3c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x3c, 0xfc, 0xf8, 0xf0,
319 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
320 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0xff, 0xff, 0xff,
321 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
322 0x00, 0x00, 0x00, 0xe3, 0xe3, 0xe3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe3, 0xe3, 0xe3,
323 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
324 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x0f, 0x1e, 0x3c, 0x78, 0xf0, 0xe0, 0xc0, 0xff, 0xff, 0xff,
325 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
326 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x1f, 0x1f, 0x1f,
327 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
328 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x07, 0x07, 0x07, 0x07, 0x07, 0x0f, 0x1e, 0xfc, 0xf8, 0xf0,
329 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
330 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xf0, 0x78, 0x3f, 0x1f, 0x0f
331 };
332
333 oled_write_raw_P(qmk_left_hand, sizeof(qmk_left_hand));
334 break;
335 }
336
337 /* Leader */
338 if (is_leader_active) {
339
340 static const char PROGMEM qmk_leader[] = {
341 0x00, 0x00, 0xf8, 0xf8, 0x78, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
342 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x38, 0x78, 0xf8, 0xf8, 0x00, 0x00,
343 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf8, 0xf8, 0x00, 0x00, 0x00,
344 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00,
345 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xc0, 0xc0, 0xc0,
346 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00,
347 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1,
348 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00,
349 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x18, 0x18, 0x18,
350 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00,
351 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x87, 0x87, 0x87, 0x87, 0x87,
352 0x87, 0x87, 0x87, 0x87, 0x87, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00,
353 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xc3, 0xc3, 0xc3,
354 0xc3, 0xc3, 0xc3, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00,
355 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x1f, 0x00, 0x00, 0x00,
356 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00,
357 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe, 0x00, 0x0e, 0x0e,
358 0x0e, 0x0e, 0x0e, 0xfe, 0xfc, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00,
359 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x7f, 0x7f, 0x00, 0x70, 0x70,
360 0x70, 0x70, 0x70, 0x7f, 0x3f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00,
361 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf8, 0xf8, 0x38, 0x38, 0x38,
362 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00,
363 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xc6, 0xc6, 0xc6,
364 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00,
365 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1,
366 0xe1, 0xe1, 0xe1, 0xe1, 0xc1, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00,
367 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x38, 0x38, 0x38,
368 0x78, 0xf8, 0xf8, 0xbf, 0x1f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00,
369 0x00, 0x00, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x00, 0x00, 0x00,
370 0x00, 0x00, 0x01, 0x03, 0x07, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0xff, 0x00, 0x00,
371 0x00, 0x00, 0x07, 0x07, 0x07, 0x07, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
372 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x07, 0x07, 0x07, 0x07, 0x00, 0x00
373 };
374
375 oled_write_raw_P(qmk_leader, sizeof(qmk_leader));
376 }
377
378 /* Modifier keys */
379 if (get_mods()) {
380
381 if (get_mods() & MOD_MASK_CTRL) {
382
383 oled_write_char(0x01, false);
384 oled_write_char(0x02, false);
385 oled_write_char(0x03, false);
386 oled_write_char(0x04, false);
387 oled_write_char(0x05, false);
388
389 oled_write_char(0x21, false);
390 oled_write_char(0x22, false);
391 oled_write_char(0x23, false);
392 oled_write_char(0x24, false);
393 oled_write_char(0x25, false);
394 }
395 if (get_mods() & MOD_BIT(KC_LALT)) {
396
397 oled_write_char(0x41, false);
398 oled_write_char(0x42, false);
399 oled_write_char(0x43, false);
400 oled_write_char(0x44, false);
401 oled_write_char(0x45, false);
402
403 oled_write_char(0x61, false);
404 oled_write_char(0x62, false);
405 oled_write_char(0x63, false);
406 oled_write_char(0x64, false);
407 oled_write_char(0x65, false);
408 }
409 if (get_mods() & MOD_BIT(KC_RALT)) {
410
411 oled_write_char(0x81, false);
412 oled_write_char(0x82, false);
413 oled_write_char(0x83, false);
414 oled_write_char(0x84, false);
415 oled_write_char(0x85, false);
416
417 oled_write_char(0xA1, false);
418 oled_write_char(0xA2, false);
419 oled_write_char(0xA3, false);
420 oled_write_char(0xA4, false);
421 oled_write_char(0xA5, false);
422 }
423 if (get_mods() & MOD_MASK_SHIFT) {
424
425 oled_write_char(0x4B, false);
426 oled_write_char(0x4C, false);
427 oled_write_char(0x4D, false);
428 oled_write_char(0x4E, false);
429 oled_write_char(0x4F, false);
430
431 oled_write_char(0x6B, false);
432 oled_write_char(0x6C, false);
433 oled_write_char(0x6D, false);
434 oled_write_char(0x6E, false);
435 oled_write_char(0x6F, false);
436 }
437 if (get_mods() & MOD_MASK_GUI) {
438
439 oled_write_char(0x8B, false);
440 oled_write_char(0x8C, false);
441 oled_write_char(0x8D, false);
442 oled_write_char(0x8E, false);
443 oled_write_char(0x8F, false);
444
445 oled_write_char(0xAB, false);
446 oled_write_char(0xAC, false);
447 oled_write_char(0xAD, false);
448 oled_write_char(0xAE, false);
449 oled_write_char(0xAF, false);
450 }
451 }
452};
453
454bool oled_task_user(void) {
455 oled_display();
456 return false;
457}
diff --git a/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/readme.md b/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/readme.md
new file mode 100644
index 0000000000..3873ca45cf
--- /dev/null
+++ b/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/readme.md
@@ -0,0 +1,130 @@
1### Custom aurora sweep keymap
2
3
4This keymap is inspired by [optimot](https://bepo.fr/) which is a French layout.
5Nonetheless all French characters are sent in unicode, so it works with the standard US ANSI layout.
6
7It uses the *best* qmk features :
8- combos ♥
9- auto shift
10- leader
11
12I tried to optimise key positions for neovim and i3wm while limit digrams.
13The oled screens are used to display the current layout, the modifier keys and the leader key.
14
15![oledmodifiers](https://i.imgur.com/on95jx0.png)
16![oledmouse](https://i.imgur.com/PwkR6P2.png)
17
18#### Install
19
20Clone this repo in the folder :
21
22 ~/qmk_firmware/keyboards/splitkb/aurora/sweep/keymaps/
23
24#### Compile and flash
25
26Navigate into the keymap folder and launch this command for both sides :
27
28 qmk compile && qmk flash
29
30and :
31
32 Click twice on the flash button and use nautilus for instance to clic on the keyboard.
33 Don't forget to flash with the double tap bootloader define before soldering.
34
35#### Links
36
37[qmk](https://docs.qmk.fm/#/)
38[ferris sweep](https://github.com/davidphilipbarr/Sweep)
39[splitkb](https://splitkb.com)
40
41#### Layouts
42
43![base](https://i.imgur.com/E3hRkxW.png)
44![numeric](https://i.imgur.com/GeC0reE.png)
45![mouse](https://i.imgur.com/QhsWVrE.png)
46![arrows](https://i.imgur.com/4sAfGAt.png)
47![adjust](https://i.imgur.com/hcoN2P8.png)
48![fn](https://i.imgur.com/dVunqFF.png)
49![left hand](https://i.imgur.com/fk5YJj6.png)
50![combo](https://i.imgur.com/aZ8TpuY.png)
51![combo2](https://i.imgur.com/QayRuFA.png)
52![combo3](https://i.imgur.com/YpnbMeh.png)
53
54#### French
55
56| - | |
57|------------------|------------------------|
58| space + e | é |
59| space + i | ç |
60| space + a | æ |
61| space + o | œ |
62| comma + a | à |
63| comma + e | è |
64| comma + i | ì |
65| comma + o | ò |
66| comma + u | ù |
67| enter + a | â |
68| enter + e | ê |
69| enter + i | î |
70| enter + o | ô |
71| enter + u | û |
72| dot + a | ä |
73| dot + e | ë |
74| dot + i | ï |
75| dot + o | ö |
76| dot + u | ü |
77| dot + y | ÿ |
78
79
80#### Leader
81
82| - | |
83|--------------------|------------------------|
84| M + S | mail short |
85| M + L | mail long |
86| D + E + G | ° |
87| C + O + P | © |
88| R + E + G | ® |
89| D + I + A | ø |
90| D + I + A + M | Ø |
91| E + U + R | € |
92| P + O + U | £ |
93| Y + E + N | ¥ |
94| C + E + N | ¢ |
95| P + I | π |
96| P + I + I | Π |
97| O + M + E | ω |
98| O + M + E + G | Ω |
99| U + P + F | ⁰ |
100| D + N + F | ₀ |
101
102| - | |
103|--------------------|------------------------|
104| M + U + L | × |
105| D + I + V | ÷ |
106| P + M | ± |
107| I + N + E | ≠ |
108| A + L + M | ≈ |
109| S + Q + U | √ |
110| I + N + F | ∞ |
111| < + < | ≤ |
112| > + > | ≥ |
113| F + S + T | ¼ |
114| F + S + G | ½ |
115| F + H + T | ¾ |
116
117| - | |
118|--------------------|------------------------|
119| F + L + A | ⚡ |
120| S + P + A | ✨ |
121| O + W + D | ⛔ |
122| C + O + F | ☕ |
123| U + M + B | ☔ |
124| Y + E + S | ✅ |
125| N + O | ❎ |
126| C + R + O | ❌ |
127| ? | ❔ |
128| ! | ❕ |
129| ? + ? | ❓ |
130| ! + ! | ❗ |
diff --git a/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/rules.mk b/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/rules.mk
new file mode 100644
index 0000000000..d854cbb16b
--- /dev/null
+++ b/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/rules.mk
@@ -0,0 +1,22 @@
1LTO_ENABLE = yes
2CONVERT_TO = elite_pi
3
4SRC += features/auto_shift.c
5SRC += features/combo.c
6SRC += features/leader.c
7SRC += oled/oled.c
8
9OLED_ENABLE = yes
10OLED_DRIVER = SSD1306
11
12MOUSEKEY_ENABLE = yes
13AUTO_SHIFT_ENABLE = yes
14AUTO_SHIFT_MODIFIERS = no
15COMBO_ENABLE = yes
16LEADER_ENABLE = yes
17
18# Recommended for space cadet shift
19COMMAND_ENABLE = no
20
21UNICODE_ENABLE = yes
22SEND_STRING_ENABLE = yes