aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keyboards/planck/keymaps/oeywil/.gitignore1
-rw-r--r--keyboards/planck/keymaps/oeywil/config.h37
-rw-r--r--keyboards/planck/keymaps/oeywil/keymap.c392
-rw-r--r--keyboards/planck/keymaps/oeywil/no_keycodes.h28
-rw-r--r--keyboards/planck/keymaps/oeywil/readme.md4
-rw-r--r--keyboards/planck/keymaps/oeywil/rules.mk11
6 files changed, 0 insertions, 473 deletions
diff --git a/keyboards/planck/keymaps/oeywil/.gitignore b/keyboards/planck/keymaps/oeywil/.gitignore
deleted file mode 100644
index 03b2b4666..000000000
--- a/keyboards/planck/keymaps/oeywil/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
1secrets.h
diff --git a/keyboards/planck/keymaps/oeywil/config.h b/keyboards/planck/keymaps/oeywil/config.h
deleted file mode 100644
index 09b22e193..000000000
--- a/keyboards/planck/keymaps/oeywil/config.h
+++ /dev/null
@@ -1,37 +0,0 @@
1#pragma once
2
3#ifdef AUDIO_ENABLE
4 #define STARTUP_SONG SONG(PLANCK_SOUND)
5 // #define STARTUP_SONG SONG(NO_SOUND)
6#endif
7
8/*
9 * MIDI options
10 */
11
12/* Prevent use of disabled MIDI features in the keymap */
13//#define MIDI_ENABLE_STRICT 1
14
15/* enable basic MIDI features:
16 - MIDI notes can be sent when in Music mode is on
17*/
18
19#define MIDI_BASIC
20
21/* enable advanced MIDI features:
22 - MIDI notes can be added to the keymap
23 - Octave shift and transpose
24 - Virtual sustain, portamento, and modulation wheel
25 - etc.
26*/
27//#define MIDI_ADVANCED
28
29/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
30//#define MIDI_TONE_KEYCODE_OCTAVES 2
31
32// Leader Key
33#define LEADER_TIMEOUT 250
34#define LEADER_PER_KEY_TIMING
35
36// Tap dance
37#define TAPPING_TERM 200
diff --git a/keyboards/planck/keymaps/oeywil/keymap.c b/keyboards/planck/keymaps/oeywil/keymap.c
deleted file mode 100644
index 59e76cab1..000000000
--- a/keyboards/planck/keymaps/oeywil/keymap.c
+++ /dev/null
@@ -1,392 +0,0 @@
1#include QMK_KEYBOARD_H
2#include "no_keycodes.h"
3
4#if __has_include("secrets.h")
5# include "secrets.h"
6#else
7# define mail_str ""
8# define pwd_str ""
9#endif
10
11// layer definitions
12enum planck_layers {
13 _DEFAULT,
14 _LOWER,
15 _RAISE,
16 _GAME,
17 _GLOW
18};
19
20// sounds
21#ifdef AUDIO_ENABLE
22 float gamesong[][2] = SONG(MARIO_MUSHROOM);
23 float defsong[][2] = SONG(PLOVER_GOODBYE_SOUND);
24 float failed[][2] = SONG(TERMINAL_SOUND);
25#endif
26
27// leader key
28bool leader_succeed;
29bool leader_layer_game;
30bool leader_layer_def;
31LEADER_EXTERNS();
32
33void matrix_scan_user(void) {
34 LEADER_DICTIONARY() {
35 leader_succeed = leading = false;
36 leader_layer_game = false;
37 leader_layer_def = false;
38
39 SEQ_TWO_KEYS(KC_P, KC_P) {
40 SEND_STRING(pwd_str);
41 leader_succeed = true;
42 }
43 SEQ_TWO_KEYS(KC_P, KC_M) {
44 SEND_STRING(mail_str);
45 leader_succeed = true;
46 }
47 SEQ_TWO_KEYS(KC_B, KC_B) {
48 SEND_STRING("build"SS_TAP(X_ENTER));
49 leader_succeed = true;
50 }
51 SEQ_TWO_KEYS(KC_B, KC_F) {
52 SEND_STRING("flash"SS_TAP(X_ENTER));
53 reset_keyboard();
54 leader_succeed = true;
55 }
56 SEQ_TWO_KEYS(KC_L, KC_G) {
57 layer_on(_GAME);
58 leader_layer_game = true;
59 }
60 SEQ_TWO_KEYS(KC_L, KC_D) {
61 layer_off(_GAME);
62 leader_layer_def = true;
63 }
64 leader_end();
65 }
66}
67
68void leader_end(void) {
69 if (leader_succeed) {
70 // do nothing
71 } else if (leader_layer_game) {
72 #ifdef AUDIO_ENABLE
73 PLAY_SONG(gamesong);
74 #endif
75 } else if (leader_layer_def) {
76 #ifdef AUDIO_ENABLE
77 PLAY_SONG(defsong);
78 #endif
79 } else {
80 #ifdef AUDIO_ENABLE
81 PLAY_SONG(failed);
82 #endif
83 }
84}
85
86// tap dance definitions
87typedef struct {
88 bool is_press_action;
89 int state;
90} tap;
91
92enum {
93 SINGLE_TAP = 1,
94 SINGLE_HOLD = 2,
95 DOUBLE_TAP = 3,
96 DOUBLE_HOLD = 4,
97 DOUBLE_SINGLE_TAP = 5,
98 TRIPLE_TAP = 6,
99 TRIPLE_HOLD = 7
100};
101
102enum {
103 TD_LSFT = 0,
104 TD_LCTL,
105 TD_RSFT,
106 TD_RCTL
107};
108
109int cur_dance (qk_tap_dance_state_t *state);
110void lsft_finished (qk_tap_dance_state_t *state, void *user_data);
111void lsft_reset (qk_tap_dance_state_t *state, void *user_data);
112void rsft_finished (qk_tap_dance_state_t *state, void *user_data);
113void rsft_reset (qk_tap_dance_state_t *state, void *user_data);
114void lctl_finished (qk_tap_dance_state_t *state, void *user_data);
115void lctl_reset (qk_tap_dance_state_t *state, void *user_data);
116void rctl_finished (qk_tap_dance_state_t *state, void *user_data);
117void rctl_reset (qk_tap_dance_state_t *state, void *user_data);
118
119// layer declarations
120const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
121 /* Default
122 * ,-----------------------------------------------------------------------------------.
123 * | Tab | Q | W | E | R | T | Y | U | I | O | Å | BkSp |
124 * |------+------+------+------+------+-------------+------+------+------+------+------|
125 * | Esc | A | S | D | F | G | H | J | K | L | Ø | Æ |
126 * |------+------+------+------+------+------+------+------+------+------+------+------|
127 * | Shift| Z | X | C | V | B | N | M | P | , | . | Shift|
128 * |------+------+------+------+------+------+------+------+------+------+------+------|
129 * | Ctrl | Lead | Win | Alt | Lower| Space| Enter| Raise| AltGr| App | Lead | Ctrl |
130 * `-----------------------------------------------------------------------------------'
131 */
132 [_DEFAULT] = LAYOUT_planck_grid(
133 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, NO_AA, KC_BSPC,
134 KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, NO_OE, NO_AE,
135 TD(TD_LSFT), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_P, KC_COMM, KC_DOT, TD(TD_RSFT),
136 TD(TD_LCTL), KC_LEAD, KC_LGUI, KC_LALT, MO(_LOWER), KC_SPC, KC_ENT, MO(_RAISE), KC_ALGR, KC_APP, KC_LEAD, TD(TD_RCTL)
137 ),
138 /* Lower
139 * ,-----------------------------------------------------------------------------------.
140 * | Tab | <Word| Up | Word>| PgUp | | | | F7 | F8 | F9 | Del |
141 * |------+------+------+------+------+-------------+------+------+------+------+------|
142 * | BkSp | Left | Down | Right| PgDn | | | | F4 | F5 | F6 | |
143 * |------+------+------+------+------+------|------+------+------+------+------+------|
144 * | Shift| Home | | End | | | | | F1 | F2 | F3 | Shift|
145 * |------+------+------+------+------+------+------+------+------+------+------+------|
146 * | Ctrl | | Win | Alt | Lower| M_PP |M_Next| | | Mute | VolD | VolUp|
147 * `-----------------------------------------------------------------------------------'
148 */
149 [_LOWER] = LAYOUT_planck_grid(
150 KC_TRNS, LCTL(KC_LEFT), KC_UP, LCTL(KC_RIGHT), KC_PGUP, KC_NO, KC_NO, KC_NO, KC_F7, KC_F8, KC_F9, KC_DEL,
151 KC_BSPC, KC_LEFT, KC_DOWN, KC_RIGHT, KC_PGDN, KC_NO, KC_NO, KC_NO, KC_F4, KC_F5, KC_F6, KC_NO,
152 KC_TRNS, KC_HOME, KC_NO, KC_END, KC_NO, KC_NO, KC_NO, KC_NO, KC_F1, KC_F2, KC_F3, KC_TRNS,
153 KC_TRNS, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_NO, KC_NO, KC_MUTE, KC_VOLD, KC_VOLU
154 ),
155 /* Raise
156 * ,-----------------------------------------------------------------------------------.
157 * | Tab | ! | ? | # | * | | | = | / | 7 | 8 | 9 | Ins |
158 * |------+------+------+------+------+-------------+------+------+------+------+------|
159 * | BkSp | @ | & | $ | % | ~ | + | \ | 4 | 5 | 6 | |
160 * |------+------+------+------+------+------+------+------+------+------+------+------|
161 * | Shift| ' | " | ¨ | | | - | 0 | 1 | 2 | 3 | Shift|
162 * |------+------+------+------+------+------+------+------+------+------+------+------|
163 * | Ctrl | | Win | Alt | | Space| Enter| Raise| AltGr| | | |
164 * `-----------------------------------------------------------------------------------'
165 */
166 [_RAISE] = LAYOUT_planck_grid(
167 KC_TRNS, NO_EXCL, NO_QEST, NO_HASH, NO_ASTE, NO_PIPE, NO_EQUA, NO_FSLS, KC_7, KC_8, KC_9, KC_INS,
168 KC_BSPC, NO_ALFA, NO_AMPE, NO_USDO, NO_PERC, NO_TILD, NO_PLUS, NO_BSLS, KC_4, KC_5, KC_6, KC_NO,
169 KC_TRNS, NO_APOS, NO_QUOT, NO_UMLA, KC_NO, KC_NO, NO_DASH, KC_0, KC_1, KC_2, KC_3, KC_TRNS,
170 KC_TRNS, KC_NO, KC_TRNS, KC_TRNS, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO
171 ),
172 /* Game
173 * ,-----------------------------------------------------------------------------------.
174 * | Tab | Q | W | E | R | T | Y | U | I | O | | BkSp |
175 * |------+------+------+------+------+-------------+------+------+------+------+------|
176 * | Esc | A | S | D | F | G | H | J | K | L | | |
177 * |------+------+------+------+------+------+------+------+------+------+------+------|
178 * | Shift| Z | X | C | V | B | N | M | P | , | . | |
179 * |------+------+------+------+------+------+------+------+------+------+------+------|
180 * | Ctrl | Lead | | Alt | Lower| Space| Enter| Lower| | | Lead | |
181 * `-----------------------------------------------------------------------------------'
182 */
183 [_GAME] = LAYOUT_planck_grid(
184 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_NO, KC_BSPC,
185 KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_NO, KC_NO,
186 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_P, KC_COMM, KC_DOT, KC_NO,
187 KC_LCTL, KC_LEAD, KC_NO, KC_LALT, MO(_GLOW), KC_SPC, KC_ENT, MO(_GLOW), KC_NO, KC_NO, KC_LEAD, KC_NO
188 ),
189 /* Game lower
190 * ,-----------------------------------------------------------------------------------.
191 * | Tab | 1 | 2 | 3 | | | | | | | | Steam|
192 * |------+------+------+------+------+-------------+------+------+------+------+------|
193 * | Esc | 4 | 5 | 6 | | | | | | | | F12 |
194 * |------+------+------+------+------+------+------+------+------+------+------+------|
195 * | Shift| 7 | 8 | 9 | 0 | | | | | | | |
196 * |------+------+------+------+------+------+------+------+------+------+------+------|
197 * | Ctrl | | | Alt | | PlyPa| Next | | | Mute | VolD | VolUp|
198 * `-----------------------------------------------------------------------------------'
199 */
200 [_GLOW] = LAYOUT_planck_grid(
201 KC_TRNS, KC_1, KC_2, KC_3, KC_PPLS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, LSFT(KC_F7),
202 KC_TRNS, KC_4, KC_5, KC_6, KC_PMNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_F12,
203 KC_TRNS, KC_7, KC_8, KC_9, KC_0, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MUTE,
204 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_NO, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU
205 )
206};
207
208// tap dance declarations
209int cur_dance (qk_tap_dance_state_t *state) {
210 if (state->count == 1) {
211 if (state->interrupted || !state->pressed) return SINGLE_TAP;
212 else return SINGLE_HOLD;
213 }
214 else if (state->count == 2) {
215 if (state->interrupted) return DOUBLE_SINGLE_TAP;
216 else if (state->pressed) return DOUBLE_HOLD;
217 else return DOUBLE_TAP;
218 }
219 if (state->count == 3) {
220 if (state->interrupted || !state->pressed) return TRIPLE_TAP;
221 else return TRIPLE_HOLD;
222 }
223 else return 8;
224}
225
226static tap xtap_state = {
227 .is_press_action = true,
228 .state = 0
229};
230
231void lsft_finished (qk_tap_dance_state_t *state, void *user_data) {
232 xtap_state.state = cur_dance(state);
233 switch (xtap_state.state) {
234 case SINGLE_TAP:
235 register_code16(LSFT(KC_8));
236 break;
237 case SINGLE_HOLD:
238 register_code(KC_LSFT);
239 break;
240 case DOUBLE_TAP:
241 register_code(KC_NUBS);
242 break;
243 case DOUBLE_SINGLE_TAP:
244 register_code(KC_NUBS);
245 break;
246 }
247}
248
249void lsft_reset (qk_tap_dance_state_t *state, void *user_data) {
250 switch (xtap_state.state) {
251 case SINGLE_TAP:
252 unregister_code16(LSFT(KC_8));
253 break;
254 case SINGLE_HOLD:
255 unregister_code(KC_LSFT);
256 break;
257 case DOUBLE_TAP:
258 unregister_code(KC_NUBS);
259 break;
260 case DOUBLE_SINGLE_TAP:
261 unregister_code(KC_NUBS);
262 break;
263 }
264 xtap_state.state = 0;
265}
266
267void rsft_finished (qk_tap_dance_state_t *state, void *user_data) {
268 xtap_state.state = cur_dance(state);
269 switch (xtap_state.state) {
270 case SINGLE_TAP:
271 register_code16(LSFT(KC_9));
272 break;
273 case SINGLE_HOLD:
274 register_code(KC_RSFT);
275 break;
276 case DOUBLE_TAP:
277 register_code16(LSFT(KC_NUBS));
278 break;
279 case DOUBLE_SINGLE_TAP:
280 register_code16(LSFT(KC_NUBS));
281 break;
282 }
283}
284
285void rsft_reset (qk_tap_dance_state_t *state, void *user_data) {
286 switch (xtap_state.state) {
287 case SINGLE_TAP:
288 unregister_code16(LSFT(KC_9));
289 break;
290 case SINGLE_HOLD:
291 unregister_code(KC_RSFT);
292 break;
293 case DOUBLE_TAP:
294 unregister_code16(LSFT(KC_NUBS));
295 break;
296 case DOUBLE_SINGLE_TAP:
297 unregister_code16(LSFT(KC_NUBS));
298 break;
299 }
300 xtap_state.state = 0;
301}
302
303void lctl_finished (qk_tap_dance_state_t *state, void *user_data) {
304 xtap_state.state = cur_dance(state);
305 switch (xtap_state.state) {
306 case SINGLE_TAP:
307 register_mods(MOD_BIT(KC_ALGR));
308 register_code(KC_7);
309 break;
310 case SINGLE_HOLD:
311 register_code(KC_LCTL);
312 break;
313 case DOUBLE_TAP:
314 register_mods(MOD_BIT(KC_ALGR));
315 register_code(KC_8);
316 break;
317 case DOUBLE_SINGLE_TAP:
318 register_mods(MOD_BIT(KC_ALGR));
319 register_code(KC_8);
320break;
321 }
322}
323
324void lctl_reset (qk_tap_dance_state_t *state, void *user_data) {
325 switch (xtap_state.state) {
326 case SINGLE_TAP:
327 unregister_code(KC_7);
328 unregister_mods(MOD_BIT(KC_ALGR));
329 break;
330 case SINGLE_HOLD:
331 unregister_code(KC_LCTL);
332 break;
333 case DOUBLE_TAP:
334 unregister_code(KC_8);
335 unregister_mods(MOD_BIT(KC_ALGR));
336 break;
337 case DOUBLE_SINGLE_TAP:
338 unregister_code(KC_8);
339 unregister_mods(MOD_BIT(KC_ALGR));
340break;
341 }
342 xtap_state.state = 0;
343}
344
345void rctl_finished (qk_tap_dance_state_t *state, void *user_data) {
346 xtap_state.state = cur_dance(state);
347 switch (xtap_state.state) {
348 case SINGLE_TAP:
349 register_mods(MOD_BIT(KC_ALGR));
350 register_code(KC_0);
351 break;
352 case SINGLE_HOLD:
353 register_code(KC_RCTL);
354 break;
355 case DOUBLE_TAP:
356 register_mods(MOD_BIT(KC_ALGR));
357 register_code(KC_9);
358 break;
359 case DOUBLE_SINGLE_TAP:
360 register_mods(MOD_BIT(KC_ALGR));
361 register_code(KC_9);
362 break;
363 }
364}
365
366void rctl_reset (qk_tap_dance_state_t *state, void *user_data) {
367 switch (xtap_state.state) {
368 case SINGLE_TAP:
369 unregister_code(KC_0);
370 unregister_mods(MOD_BIT(KC_ALGR));
371 break;
372 case SINGLE_HOLD:
373 unregister_code(KC_RCTL);
374 break;
375 case DOUBLE_TAP:
376 unregister_code(KC_9);
377 unregister_mods(MOD_BIT(KC_ALGR));
378 break;
379 case DOUBLE_SINGLE_TAP:
380 unregister_code(KC_9);
381 unregister_mods(MOD_BIT(KC_ALGR));
382 break;
383 }
384 xtap_state.state = 0;
385}
386
387qk_tap_dance_action_t tap_dance_actions[] = {
388 [TD_LSFT] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, lsft_finished, lsft_reset),
389 [TD_RSFT] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, rsft_finished, rsft_reset),
390 [TD_LCTL] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, lctl_finished, lctl_reset),
391 [TD_RCTL] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, rctl_finished, rctl_reset),
392};
diff --git a/keyboards/planck/keymaps/oeywil/no_keycodes.h b/keyboards/planck/keymaps/oeywil/no_keycodes.h
deleted file mode 100644
index c412c35d8..000000000
--- a/keyboards/planck/keymaps/oeywil/no_keycodes.h
+++ /dev/null
@@ -1,28 +0,0 @@
1// øæå
2#define NO_OE KC_SCLN
3#define NO_AE KC_QUOT
4#define NO_AA KC_LBRC
5// rename
6#define NO_ANBR KC_NUBS
7#define NO_APOS KC_BSLS
8#define NO_BSLS KC_EQL
9#define NO_DASH KC_SLSH
10#define NO_PLUS KC_MINS
11#define NO_UMLA KC_RBRC
12#define NO_PIPE KC_GRV
13// shifted
14#define NO_EXCL LSFT(KC_1)
15#define NO_QUOT LSFT(KC_2)
16#define NO_HASH LSFT(KC_3)
17#define NO_PERC LSFT(KC_5)
18#define NO_AMPE LSFT(KC_6)
19#define NO_FSLS LSFT(KC_7)
20#define NO_LPAR LSFT(KC_8)
21#define NO_RPAR LSFT(KC_9)
22#define NO_EQUA LSFT(KC_0)
23#define NO_QEST LSFT(KC_MINS)
24#define NO_ASTE LSFT(KC_BSLS)
25// altgr
26#define NO_ALFA ALGR(KC_2)
27#define NO_USDO ALGR(KC_4)
28#define NO_TILD ALGR(KC_RBRC)
diff --git a/keyboards/planck/keymaps/oeywil/readme.md b/keyboards/planck/keymaps/oeywil/readme.md
deleted file mode 100644
index 364f9422c..000000000
--- a/keyboards/planck/keymaps/oeywil/readme.md
+++ /dev/null
@@ -1,4 +0,0 @@
1About
2------
3
4A simple Norwegian grid layout using Leader Key, Tap Dance and audio.
diff --git a/keyboards/planck/keymaps/oeywil/rules.mk b/keyboards/planck/keymaps/oeywil/rules.mk
deleted file mode 100644
index 23b261173..000000000
--- a/keyboards/planck/keymaps/oeywil/rules.mk
+++ /dev/null
@@ -1,11 +0,0 @@
1SRC += muse.c
2
3# Build Options
4NKRO_ENABLE = yes
5EXTRAKEY_ENABLE = yes
6LEADER_ENABLE = yes
7TAP_DANCE_ENABLE = yes
8AUDIO_ENABLE = yes
9COMMAND_ENABLE = no
10CONSOLE_ENABLE = no
11MOUSEKEY_ENABLE = no