aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keyboards/lets_split/keymaps/khord/keymap.c122
-rw-r--r--keyboards/planck/keymaps/khord/config.h116
-rw-r--r--keyboards/planck/keymaps/khord/keymap.c237
-rw-r--r--keyboards/planck/keymaps/khord/rules.mk3
-rw-r--r--quantum/audio/song_list.h1
5 files changed, 96 insertions, 383 deletions
diff --git a/keyboards/lets_split/keymaps/khord/keymap.c b/keyboards/lets_split/keymaps/khord/keymap.c
index 66673e889..d9f850e02 100644
--- a/keyboards/lets_split/keymaps/khord/keymap.c
+++ b/keyboards/lets_split/keymaps/khord/keymap.c
@@ -4,24 +4,18 @@
4 4
5extern keymap_config_t keymap_config; 5extern keymap_config_t keymap_config;
6 6
7// Each layer gets a name for readability, which is then used in the keymap matrix below.
8// The underscores don't mean anything - you can have a layer called STUFF or any other name.
9// Layer names don't all need to be of the same length, obviously, and you can also skip them
10// entirely and just use numbers.
11#define _QWERTY 0 7#define _QWERTY 0
12#define _COLEMAK 1
13#define _DVORAK 2
14#define _LOWER 3 8#define _LOWER 3
15#define _RAISE 4 9#define _RAISE 4
16#define _ADJUST 16 10#define _ADJUST 16
17 11
18enum custom_keycodes { 12enum custom_keycodes {
19 QWERTY = SAFE_RANGE, 13 QWERTY = SAFE_RANGE,
20 COLEMAK,
21 DVORAK,
22 LOWER, 14 LOWER,
23 RAISE, 15 RAISE,
24 ADJUST, 16 ADJUST,
17 ADMIN,
18 SMSPC1
25}; 19};
26 20
27// Fillers to make layering more clear 21// Fillers to make layering more clear
@@ -30,11 +24,7 @@ enum custom_keycodes {
30 24
31// Tap Dance Declarations 25// Tap Dance Declarations
32enum { 26enum {
33 SFT_CAP = 0, 27 SFT_CAP = 0
34 LFT_HOM,
35 DWN_PDN,
36 UPP_PUP,
37 RGT_END
38}; 28};
39 29
40// Dylan's additions 30// Dylan's additions
@@ -61,49 +51,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
61 ADJUST, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \ 51 ADJUST, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \
62), 52),
63 53
64/* Colemak
65 * ,-----------------------------------------------------------------------------------.
66 * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp |
67 * |------+------+------+------+------+-------------+------+------+------+------+------|
68 * | Esc | A | R | S | T | D | H | N | E | I | O | " |
69 * |------+------+------+------+------+------|------+------+------+------+------+------|
70 * | Shift| Z | X | C | V | B | K | M | , | . | / |Enter |
71 * |------+------+------+------+------+------+------+------+------+------+------+------|
72 * |Adjust| Ctrl | Alt | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right |
73 * `-----------------------------------------------------------------------------------'
74 */
75[_COLEMAK] = KEYMAP( \
76 KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, \
77 KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, \
78 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , \
79 ADJUST, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \
80),
81
82/* Dvorak
83 * ,-----------------------------------------------------------------------------------.
84 * | Tab | " | , | . | P | Y | F | G | C | R | L | Bksp |
85 * |------+------+------+------+------+-------------+------+------+------+------+------|
86 * | Esc | A | O | E | U | I | D | H | T | N | S | / |
87 * |------+------+------+------+------+------|------+------+------+------+------+------|
88 * | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter |
89 * |------+------+------+------+------+------+------+------+------+------+------+------|
90 * |Adjust| Ctrl | Alt | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right |
91 * `-----------------------------------------------------------------------------------'
92 */
93[_DVORAK] = KEYMAP( \
94 KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC, \
95 KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH, \
96 KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT , \
97 ADJUST, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \
98),
99
100/* Lower 54/* Lower
101 * ,-----------------------------------------------------------------------------------. 55 * ,-----------------------------------------------------------------------------------.
102 * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp | 56 * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
103 * |------+------+------+------+------+-------------+------+------+------+------+------| 57 * |------+------+------+------+------+-------------+------+------+------+------+------|
104 * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | 58 * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
105 * |------+------+------+------+------+------|------+------+------+------+------+------| 59 * |------+------+------+------+------+------|------+------+------+------+------+------|
106 * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | END | HOME |Enter | 60 * | | F7 | F8 | F9 | F10 | F11 | F12 | | | END | HOME |Enter |
107 * |------+------+------+------+------+------+------+------+------+------+------+------| 61 * |------+------+------+------+------+------+------+------+------+------+------+------|
108 * | | | | | | | | Next | Vol- | Vol+ | Play | 62 * | | | | | | | | Next | Vol- | Vol+ | Play |
109 * `-----------------------------------------------------------------------------------' 63 * `-----------------------------------------------------------------------------------'
@@ -111,7 +65,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
111[_LOWER] = KEYMAP( \ 65[_LOWER] = KEYMAP( \
112 KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, \ 66 KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, \
113 KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, \ 67 KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, \
114 _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),KC_END, KC_HOME, _______, \ 68 _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_END, KC_HOME, _______, \
115 _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \ 69 _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \
116), 70),
117 71
@@ -121,7 +75,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
121 * |------+------+------+------+------+-------------+------+------+------+------+------| 75 * |------+------+------+------+------+-------------+------+------+------+------+------|
122 * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | 76 * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
123 * |------+------+------+------+------+------|------+------+------+------+------+------| 77 * |------+------+------+------+------+------|------+------+------+------+------+------|
124 * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / |PG DN |PG UP |Enter | 78 * | | F7 | F8 | F9 | F10 | F11 | F12 | | |PG DN |PG UP |Enter |
125 * |------+------+------+------+------+------+------+------+------+------+------+------| 79 * |------+------+------+------+------+------+------+------+------+------+------+------|
126 * | | | | | | | | Next | Vol- | Vol+ | Play | 80 * | | | | | | | | Next | Vol- | Vol+ | Play |
127 * `-----------------------------------------------------------------------------------' 81 * `-----------------------------------------------------------------------------------'
@@ -129,45 +83,34 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
129[_RAISE] = KEYMAP( \ 83[_RAISE] = KEYMAP( \
130 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, \ 84 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, \
131 KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, \ 85 KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, \
132 _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGDN, KC_PGUP, _______, \ 86 _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_PGDN, KC_PGUP, _______, \
133 _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \ 87 _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \
134), 88),
135 89
136/* Adjust (Lower + Raise) 90/* Adjust (Lower + Raise)
137 * ,-----------------------------------------------------------------------------------. 91 * ,-----------------------------------------------------------------------------------.
138 * | | Reset| | | | | | | | | | Del | 92 * | | Reset| | |AGnorm|AGswap| | | |string|string| Del |
139 * |------+------+------+------+------+-------------+------+------+------+------+------| 93 * |------+------+------+------+------+-------------+------+------+------+------+------|
140 * | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | | 94 * | |RGBMOD|HUE-UP|SAT-UP|BRI-UP| |PLAIN |BREATH|RANBOW| SWIRL| | |
141 * |------+------+------+------+------+------|------+------+------+------+------+------| 95 * |------+------+------+------+------+------|------+------+------+------+------+------|
142 * | | | | | | | | | | | | | 96 * | |RGBTOG|HUE-DN|SAT-DN|BRI-DN| |GRDNT | XMAS |KNIGHT| SNAKE| | CAIns|
143 * |------+------+------+------+------+------+------+------+------+------+------+------| 97 * |------+------+------+------+------+------+------+------+------+------+------+------|
144 * | | | | | | | | | | | | 98 * | | | | | | | | | | | CADel|
145 * `-----------------------------------------------------------------------------------' 99 * `-----------------------------------------------------------------------------------'
146 */ 100 */
147[_ADJUST] = KEYMAP( \ 101[_ADJUST] = KEYMAP( \
148 _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, \ 102 _______, RESET, _______, _______, AG_NORM, AG_SWAP, _______, _______, _______, ADMIN, SMSPC1, KC_DEL, \
149 _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, \ 103 _______, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, _______, _______, \
150 _______, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, _______, _______, C_A_INS, \ 104 _______, RGB_TOG, RGB_HUD, RGB_SAD, RGB_VAD, _______, RGB_M_G, RGB_M_X, RGB_M_K, RGB_M_SN, _______, C_A_INS, \
151 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, C_A_DEL \ 105 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, C_A_DEL \
152) 106)
153 107
154
155}; 108};
156 109
157qk_tap_dance_action_t tap_dance_actions[] = { 110qk_tap_dance_action_t tap_dance_actions[] = {
158 [SFT_CAP] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS), 111 [SFT_CAP] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS)
159 [LFT_HOM] = ACTION_TAP_DANCE_DOUBLE(KC_LEFT, KC_HOME),
160 [DWN_PDN] = ACTION_TAP_DANCE_DOUBLE(KC_DOWN, KC_PGDN),
161 [UPP_PUP] = ACTION_TAP_DANCE_DOUBLE(KC_UP, KC_PGUP),
162 [RGT_END] = ACTION_TAP_DANCE_DOUBLE(KC_RGHT, KC_END)
163}; 112};
164 113
165#ifdef AUDIO_ENABLE
166float tone_qwerty[][2] = SONG(QWERTY_SOUND);
167float tone_dvorak[][2] = SONG(DVORAK_SOUND);
168float tone_colemak[][2] = SONG(COLEMAK_SOUND);
169#endif
170
171void persistent_default_layer_set(uint16_t default_layer) { 114void persistent_default_layer_set(uint16_t default_layer) {
172 eeconfig_update_default_layer(default_layer); 115 eeconfig_update_default_layer(default_layer);
173 default_layer_set(default_layer); 116 default_layer_set(default_layer);
@@ -177,31 +120,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
177 switch (keycode) { 120 switch (keycode) {
178 case QWERTY: 121 case QWERTY:
179 if (record->event.pressed) { 122 if (record->event.pressed) {
180 #ifdef AUDIO_ENABLE
181 PLAY_SONG(tone_qwerty);
182 #endif
183 persistent_default_layer_set(1UL<<_QWERTY); 123 persistent_default_layer_set(1UL<<_QWERTY);
184 } 124 }
185 return false; 125 return false;
186 break; 126 break;
187 case COLEMAK:
188 if (record->event.pressed) {
189 #ifdef AUDIO_ENABLE
190 PLAY_SONG(tone_colemak);
191 #endif
192 persistent_default_layer_set(1UL<<_COLEMAK);
193 }
194 return false;
195 break;
196 case DVORAK:
197 if (record->event.pressed) {
198 #ifdef AUDIO_ENABLE
199 PLAY_SONG(tone_dvorak);
200 #endif
201 persistent_default_layer_set(1UL<<_DVORAK);
202 }
203 return false;
204 break;
205 case LOWER: 127 case LOWER:
206 if (record->event.pressed) { 128 if (record->event.pressed) {
207 layer_on(_LOWER); 129 layer_on(_LOWER);
@@ -230,6 +152,18 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
230 } 152 }
231 return false; 153 return false;
232 break; 154 break;
155 case ADMIN:
156 if (record->event.pressed) {
157 SEND_STRING("Administrator");
158 }
159 return false;
160 break;
161 case SMSPC1:
162 if (record->event.pressed) {
163 SEND_STRING("Simspace1!");
164 }
165 return false;
166 break;
233 } 167 }
234 return true; 168 return true;
235} 169}
diff --git a/keyboards/planck/keymaps/khord/config.h b/keyboards/planck/keymaps/khord/config.h
index 83dece50e..5482aba52 100644
--- a/keyboards/planck/keymaps/khord/config.h
+++ b/keyboards/planck/keymaps/khord/config.h
@@ -1,94 +1,44 @@
1/* 1#ifndef CONFIG_USER_H
2Copyright 2012 Jun Wako <wakojun@gmail.com> 2#define CONFIG_USER_H
3 3
4This program is free software: you can redistribute it and/or modify 4#include "../../config.h"
5it under the terms of the GNU General Public License as published by 5
6the Free Software Foundation, either version 2 of the License, or 6#ifdef AUDIO_ENABLE
7(at your option) any later version. 7 #define STARTUP_SONG SONG(SONIC_RING)
8 8 #define MUSIC_ON_SONG SONG(ZELDA_PUZZLE)
9This program is distributed in the hope that it will be useful, 9 #define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \
10but WITHOUT ANY WARRANTY; without even the implied warranty of 10 SONG(COLEMAK_SOUND), \
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 SONG(DVORAK_SOUND) \
12GNU General Public License for more details. 12 }
13 13#endif
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#ifndef CONFIG_H
19#define CONFIG_H
20
21#include "config_common.h"
22
23/* USB Device descriptor parameter */
24#define VENDOR_ID 0xFEED
25#define PRODUCT_ID 0x6060
26#define MANUFACTURER Ortholinear Keyboards
27#define PRODUCT The Planck Keyboard
28#define DESCRIPTION A compact ortholinear keyboard
29
30/* key matrix size */
31#define MATRIX_ROWS 4
32#define MATRIX_COLS 12
33
34/* Planck PCB default pin-out */
35#define MATRIX_ROW_PINS { D0, D5, B5, B6 }
36#define MATRIX_COL_PINS { F1, F0, B0, C7, F4, F5, F6, F7, D4, D6, B4, D7 }
37#define UNUSED_PINS
38
39#define AUDIO_VOICES
40
41#define BACKLIGHT_PIN B7
42
43/* COL2ROW or ROW2COL */
44#define DIODE_DIRECTION COL2ROW
45
46/* define if matrix has ghost */
47//#define MATRIX_HAS_GHOST
48 14
49/* number of backlight levels */
50#define BACKLIGHT_LEVELS 3
51#define BACKLIGHT_BREATHING 15#define BACKLIGHT_BREATHING
52
53/* Set 0 if debouncing isn't needed */
54#define DEBOUNCING_DELAY 5
55
56/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
57#define LOCKING_SUPPORT_ENABLE
58/* Locking resynchronize hack */
59#define LOCKING_RESYNC_ENABLE
60
61/* key combination for command */
62#define IS_COMMAND() ( \
63 keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
64)
65
66/* Tap Dance */
67#define TAPPING_TERM 150 16#define TAPPING_TERM 150
68 17
18#define MUSIC_MASK (keycode != KC_NO)
19
69/* 20/*
70 * Feature disable options 21 * MIDI options
71 * These options are also useful to firmware size reduction.
72 */ 22 */
73 23
74/* disable debug print */ 24/* Prevent use of disabled MIDI features in the keymap */
75//#define NO_DEBUG 25//#define MIDI_ENABLE_STRICT 1
76
77/* disable print */
78//#define NO_PRINT
79 26
80/* disable action features */ 27/* enable basic MIDI features:
81//#define NO_ACTION_LAYER 28 - MIDI notes can be sent when in Music mode is on
82//#define NO_ACTION_TAPPING 29*/
83//#define NO_ACTION_ONESHOT 30
84//#define NO_ACTION_MACRO 31#define MIDI_BASIC
85//#define NO_ACTION_FUNCTION 32
33/* enable advanced MIDI features:
34 - MIDI notes can be added to the keymap
35 - Octave shift and transpose
36 - Virtual sustain, portamento, and modulation wheel
37 - etc.
38*/
39//#define MIDI_ADVANCED
86 40
87#ifdef SUBPROJECT_rev3 41/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
88 #include "rev3/config.h" 42//#define MIDI_TONE_KEYCODE_OCTAVES 2
89#endif
90#ifdef SUBPROJECT_rev4
91 #include "rev4/config.h"
92#endif
93 43
94#endif 44#endif
diff --git a/keyboards/planck/keymaps/khord/keymap.c b/keyboards/planck/keymaps/khord/keymap.c
index 0adda43af..c0fd464ad 100644
--- a/keyboards/planck/keymaps/khord/keymap.c
+++ b/keyboards/planck/keymaps/khord/keymap.c
@@ -1,42 +1,25 @@
1// This is the canonical layout file for the Quantum project. If you want to add another keyboard,
2// this is the style you want to emulate.
3
4#include "planck.h" 1#include "planck.h"
5#include "action_layer.h" 2#include "action_layer.h"
6#ifdef AUDIO_ENABLE
7 #include "audio.h"
8#endif
9#include "eeconfig.h"
10 3
11extern keymap_config_t keymap_config; 4extern keymap_config_t keymap_config;
12 5
13// Each layer gets a name for readability, which is then used in the keymap matrix below. 6enum planck_layers {
14// The underscores don't mean anything - you can have a layer called STUFF or any other name. 7 _QWERTY,
15// Layer names don't all need to be of the same length, obviously, and you can also skip them 8 _LOWER,
16// entirely and just use numbers. 9 _RAISE,
17#define _QWERTY 0 10 _ADJUST
18#define _COLEMAK 1 11};
19#define _DVORAK 2
20#define _LOWER 3
21#define _RAISE 4
22#define _PLOVER 5
23#define _ADJUST 16
24 12
25enum planck_keycodes { 13enum planck_keycodes {
26 QWERTY = SAFE_RANGE, 14 QWERTY = SAFE_RANGE,
27 COLEMAK,
28 DVORAK,
29 PLOVER,
30 LOWER, 15 LOWER,
31 RAISE, 16 RAISE,
32 BACKLIT, 17 BACKLIT,
33 EXT_PLV 18 ADMIN,
19 SMSPC1
34}; 20};
35 21
36// Fillers to make layering more clear 22// LED backlight breathing
37#define _______ KC_TRNS
38#define XXXXXXX KC_NO
39
40#define MACRO_BREATH_TOGGLE 21 23#define MACRO_BREATH_TOGGLE 21
41#define MACRO_BREATH_SPEED_INC 23 24#define MACRO_BREATH_SPEED_INC 23
42#define MACRO_BREATH_SPEED_DEC 24 25#define MACRO_BREATH_SPEED_DEC 24
@@ -45,13 +28,10 @@ enum planck_keycodes {
45#define M_BRINC M(MACRO_BREATH_SPEED_INC) 28#define M_BRINC M(MACRO_BREATH_SPEED_INC)
46#define M_BRDEC M(MACRO_BREATH_SPEED_DEC) 29#define M_BRDEC M(MACRO_BREATH_SPEED_DEC)
47#define M_BRDFT M(MACRO_BREATH_DEFAULT) 30#define M_BRDFT M(MACRO_BREATH_DEFAULT)
31
48// Tap Dance Declarations 32// Tap Dance Declarations
49enum { 33enum {
50 SFT_CAP = 0, 34 SFT_CAP = 0
51 LFT_HOM,
52 DWN_PDN,
53 UPP_PUP,
54 RGT_END
55}; 35};
56 36
57// Dylan's additions 37// Dylan's additions
@@ -72,46 +52,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
72 * `-----------------------------------------------------------------------------------' 52 * `-----------------------------------------------------------------------------------'
73 */ 53 */
74[_QWERTY] = { 54[_QWERTY] = {
75 {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC }, 55 {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC},
76 {CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT }, 56 {CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT},
77 {TD(SFT_CAP), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_T(KC_ENT)}, 57 {TD(SFT_CAP), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_T(KC_ENT)},
78 {BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT } 58 {BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
79},
80
81/* Colemak
82 * ,-----------------------------------------------------------------------------------.
83 * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp |
84 * |------+------+------+------+------+-------------+------+------+------+------+------|
85 * | Esc | A | R | S | T | D | H | N | E | I | O | " |
86 * |------+------+------+------+------+------|------+------+------+------+------+------|
87 * | Shift| Z | X | C | V | B | K | M | , | . | / |Enter |
88 * |------+------+------+------+------+------+------+------+------+------+------+------|
89 * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
90 * `-----------------------------------------------------------------------------------'
91 */
92[_COLEMAK] = {
93 {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC},
94 {KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT},
95 {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT },
96 {BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
97},
98
99/* Dvorak
100 * ,-----------------------------------------------------------------------------------.
101 * | Tab | " | , | . | P | Y | F | G | C | R | L | Bksp |
102 * |------+------+------+------+------+-------------+------+------+------+------+------|
103 * | Esc | A | O | E | U | I | D | H | T | N | S | / |
104 * |------+------+------+------+------+------|------+------+------+------+------+------|
105 * | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter |
106 * |------+------+------+------+------+------+------+------+------+------+------+------|
107 * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
108 * `-----------------------------------------------------------------------------------'
109 */
110[_DVORAK] = {
111 {KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC},
112 {KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH},
113 {KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT },
114 {BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
115}, 59},
116 60
117/* Lower 61/* Lower
@@ -120,7 +64,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
120 * |------+------+------+------+------+-------------+------+------+------+------+------| 64 * |------+------+------+------+------+-------------+------+------+------+------+------|
121 * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | 65 * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
122 * |------+------+------+------+------+------|------+------+------+------+------+------| 66 * |------+------+------+------+------+------|------+------+------+------+------+------|
123 * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | END | HOME |Enter | 67 * | | F7 | F8 | F9 | F10 | F11 | F12 | | | End | Home | |
124 * |------+------+------+------+------+------+------+------+------+------+------+------| 68 * |------+------+------+------+------+------+------+------+------+------+------+------|
125 * | | | | | | | | Next | Vol- | Vol+ | Play | 69 * | | | | | | | | Next | Vol- | Vol+ | Play |
126 * `-----------------------------------------------------------------------------------' 70 * `-----------------------------------------------------------------------------------'
@@ -128,7 +72,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
128[_LOWER] = { 72[_LOWER] = {
129 {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC}, 73 {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC},
130 {KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE}, 74 {KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE},
131 {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),KC_END, KC_HOME, _______}, 75 {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_END, KC_HOME, _______},
132 {_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} 76 {_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
133}, 77},
134 78
@@ -138,7 +82,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
138 * |------+------+------+------+------+-------------+------+------+------+------+------| 82 * |------+------+------+------+------+-------------+------+------+------+------+------|
139 * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | 83 * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
140 * |------+------+------+------+------+------|------+------+------+------+------+------| 84 * |------+------+------+------+------+------|------+------+------+------+------+------|
141 * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / |PG DN |PG UP |Enter | 85 * | | F7 | F8 | F9 | F10 | F11 | F12 | | |Pg Dn |Pg Up | |
142 * |------+------+------+------+------+------+------+------+------+------+------+------| 86 * |------+------+------+------+------+------+------+------+------+------+------+------|
143 * | | | | | | | | Next | Vol- | Vol+ | Play | 87 * | | | | | | | | Next | Vol- | Vol+ | Play |
144 * `-----------------------------------------------------------------------------------' 88 * `-----------------------------------------------------------------------------------'
@@ -146,78 +90,34 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
146[_RAISE] = { 90[_RAISE] = {
147 {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC}, 91 {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC},
148 {KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS}, 92 {KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS},
149 {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGDN, KC_PGUP, _______}, 93 {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_PGDN, KC_PGUP, _______},
150 {_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} 94 {_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
151}, 95},
152 96
153/* Plover layer (http://opensteno.org)
154 * ,-----------------------------------------------------------------------------------.
155 * | # | # | # | # | # | # | # | # | # | # | # | # |
156 * |------+------+------+------+------+-------------+------+------+------+------+------|
157 * | | S | T | P | H | * | * | F | P | L | T | D |
158 * |------+------+------+------+------+------|------+------+------+------+------+------|
159 * |TogOut| S | K | W | R | * | * | R | B | G | S | Z |
160 * |------+------+------+------+------+------+------+------+------+------+------+------|
161 * | Exit | | | A | O | | E | U | | | |
162 * `-----------------------------------------------------------------------------------'
163 */
164
165[_PLOVER] = {
166 {KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1 },
167 {XXXXXXX, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC},
168 {XXXXXXX, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT},
169 {EXT_PLV, XXXXXXX, XXXXXXX, KC_C, KC_V, XXXXXXX, XXXXXXX, KC_N, KC_M, XXXXXXX, XXXXXXX, XXXXXXX}
170},
171
172/* Adjust (Lower + Raise) 97/* Adjust (Lower + Raise)
173 * ,-----------------------------------------------------------------------------------. 98 * ,-----------------------------------------------------------------------------------.
174 * | | Reset| | | | | | | | | | Del | 99 * | | Reset| | | | | | | |string|string| Del |
175 * |------+------+------+------+------+-------------+------+------+------+------+------| 100 * |------+------+------+------+------+-------------+------+------+------+------+------|
176 * | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak|Plover| | 101 * | | | |Aud on|Audoff|AGnorm|AGswap| | |BRTHdf|BRTHup| |
177 * |------+------+------+------+------+------|------+------+------+------+------+------| 102 * |------+------+------+------+------+------|------+------+------+------+------+------|
178 * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | | 103 * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | |BRTHtg|BRTHdn| CAIns|
179 * |------+------+------+------+------+------+------+------+------+------+------+------| 104 * |------+------+------+------+------+------+------+------+------+------+------+------|
180 * | | | | | | | | | | | | 105 * | | | | | | | | | | | CADel|
181 * `-----------------------------------------------------------------------------------' 106 * `-----------------------------------------------------------------------------------'
182 */ 107 */
183[_ADJUST] = { 108[_ADJUST] = {
184 {_______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, M_BRDFT, KC_DEL }, 109 {_______, RESET, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF, ADMIN, SMSPC1, KC_DEL },
185 {_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, _______, _______, M_BRINC, _______}, 110 {_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, M_BRDFT, M_BRINC, _______},
186 {_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, M_BRDEC, C_A_INS}, 111 {_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, M_BRTOG, M_BRDEC, C_A_INS},
187 {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, M_BRTOG, C_A_DEL} 112 {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, C_A_DEL}
188} 113}
189 114
190
191}; 115};
192 116
193
194qk_tap_dance_action_t tap_dance_actions[] = { 117qk_tap_dance_action_t tap_dance_actions[] = {
195 [SFT_CAP] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS), 118 [SFT_CAP] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS)
196 [LFT_HOM] = ACTION_TAP_DANCE_DOUBLE(KC_LEFT, KC_HOME),
197 [DWN_PDN] = ACTION_TAP_DANCE_DOUBLE(KC_DOWN, KC_PGDN),
198 [UPP_PUP] = ACTION_TAP_DANCE_DOUBLE(KC_UP, KC_PGUP),
199 [RGT_END] = ACTION_TAP_DANCE_DOUBLE(KC_RGHT, KC_END)
200}; 119};
201 120
202#ifdef AUDIO_ENABLE
203
204float tone_startup[][2] = SONG(SONIC_RING); //plug in
205float tone_qwerty[][2] = SONG(QWERTY_SOUND);
206float tone_dvorak[][2] = SONG(DVORAK_SOUND);
207float tone_colemak[][2] = SONG(COLEMAK_SOUND);
208float tone_plover[][2] = SONG(PLOVER_SOUND);
209float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND);
210float music_scale[][2] = SONG(ZELDA_PUZZLE); //music mode
211
212float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
213#endif
214
215
216void persistent_default_layer_set(uint16_t default_layer) {
217 eeconfig_update_default_layer(default_layer);
218 default_layer_set(default_layer);
219}
220
221const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { 121const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
222 switch(id) { 122 switch(id) {
223 case MACRO_BREATH_TOGGLE: 123 case MACRO_BREATH_TOGGLE:
@@ -248,28 +148,8 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
248 switch (keycode) { 148 switch (keycode) {
249 case QWERTY: 149 case QWERTY:
250 if (record->event.pressed) { 150 if (record->event.pressed) {
251 #ifdef AUDIO_ENABLE 151 print("mode just switched to qwerty and this is a huge string\n");
252 PLAY_SONG(tone_qwerty); 152 set_single_persistent_default_layer(_QWERTY);
253 #endif
254 persistent_default_layer_set(1UL<<_QWERTY);
255 }
256 return false;
257 break;
258 case COLEMAK:
259 if (record->event.pressed) {
260 #ifdef AUDIO_ENABLE
261 PLAY_SONG(tone_colemak);
262 #endif
263 persistent_default_layer_set(1UL<<_COLEMAK);
264 }
265 return false;
266 break;
267 case DVORAK:
268 if (record->event.pressed) {
269 #ifdef AUDIO_ENABLE
270 PLAY_SONG(tone_dvorak);
271 #endif
272 persistent_default_layer_set(1UL<<_DVORAK);
273 } 153 }
274 return false; 154 return false;
275 break; 155 break;
@@ -304,67 +184,18 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
304 } 184 }
305 return false; 185 return false;
306 break; 186 break;
307 case PLOVER: 187 case ADMIN:
308 if (record->event.pressed) { 188 if (record->event.pressed) {
309 #ifdef AUDIO_ENABLE 189 SEND_STRING("Administrator");
310 stop_all_notes();
311 PLAY_SONG(tone_plover);
312 #endif
313 layer_off(_RAISE);
314 layer_off(_LOWER);
315 layer_off(_ADJUST);
316 layer_on(_PLOVER);
317 if (!eeconfig_is_enabled()) {
318 eeconfig_init();
319 }
320 keymap_config.raw = eeconfig_read_keymap();
321 keymap_config.nkro = 1;
322 eeconfig_update_keymap(keymap_config.raw);
323 } 190 }
324 return false; 191 return false;
325 break; 192 break;
326 case EXT_PLV: 193 case SMSPC1:
327 if (record->event.pressed) { 194 if (record->event.pressed) {
328 #ifdef AUDIO_ENABLE 195 SEND_STRING("Simspace1!");
329 PLAY_SONG(tone_plover_gb);
330 #endif
331 layer_off(_PLOVER);
332 } 196 }
333 return false; 197 return false;
334 break; 198 break;
335 } 199 }
336 return true; 200 return true;
337} 201}
338
339void matrix_init_user(void) {
340 #ifdef AUDIO_ENABLE
341 startup_user();
342 #endif
343}
344
345#ifdef AUDIO_ENABLE
346
347void startup_user()
348{
349 _delay_ms(20); // gets rid of tick
350 PLAY_SONG(tone_startup);
351}
352
353void shutdown_user()
354{
355 PLAY_SONG(tone_goodbye);
356 _delay_ms(150);
357 stop_all_notes();
358}
359
360void music_on_user(void)
361{
362 music_scale_user();
363}
364
365void music_scale_user(void)
366{
367 PLAY_SONG(music_scale);
368}
369
370#endif
diff --git a/keyboards/planck/keymaps/khord/rules.mk b/keyboards/planck/keymaps/khord/rules.mk
index d1caeee93..c248822b2 100644
--- a/keyboards/planck/keymaps/khord/rules.mk
+++ b/keyboards/planck/keymaps/khord/rules.mk
@@ -1,6 +1,5 @@
1TAP_DANCE_ENABLE = yes
2CONSOLE_ENABLE = no
3BACKLIGHT_ENABLE = yes 1BACKLIGHT_ENABLE = yes
2TAP_DANCE_ENABLE = yes
4 3
5ifndef QUANTUM_DIR 4ifndef QUANTUM_DIR
6 include ../../../../Makefile 5 include ../../../../Makefile
diff --git a/quantum/audio/song_list.h b/quantum/audio/song_list.h
index 25e66e67c..afb82a298 100644
--- a/quantum/audio/song_list.h
+++ b/quantum/audio/song_list.h
@@ -116,7 +116,6 @@
116 S__NOTE(_REST), \ 116 S__NOTE(_REST), \
117 ED_NOTE(_E7 ), 117 ED_NOTE(_E7 ),
118 118
119
120#define MUSIC_ON_SOUND \ 119#define MUSIC_ON_SOUND \
121 E__NOTE(_A5 ), \ 120 E__NOTE(_A5 ), \
122 E__NOTE(_B5 ), \ 121 E__NOTE(_B5 ), \