diff options
Diffstat (limited to 'keyboards/planck/keymaps/circuit/keymap.c')
-rw-r--r-- | keyboards/planck/keymaps/circuit/keymap.c | 165 |
1 files changed, 83 insertions, 82 deletions
diff --git a/keyboards/planck/keymaps/circuit/keymap.c b/keyboards/planck/keymaps/circuit/keymap.c index 3e94fe1f4..35f41c387 100644 --- a/keyboards/planck/keymaps/circuit/keymap.c +++ b/keyboards/planck/keymaps/circuit/keymap.c | |||
@@ -1,5 +1,6 @@ | |||
1 | // Layout picture at http://www.keyboard-layout-editor.com/#/gists/125febfad6960add078e6f14256539b6 | 1 | // Layout picture at http://www.keyboard-layout-editor.com/#/gists/125febfad6960add078e6f14256539b6 |
2 | 2 | ||
3 | #pragma message "You may need to add LAYOUT_planck_grid to your keymap layers - see default for an example" | ||
3 | #include "planck.h" | 4 | #include "planck.h" |
4 | #include "action_layer.h" | 5 | #include "action_layer.h" |
5 | #ifdef AUDIO_ENABLE | 6 | #ifdef AUDIO_ENABLE |
@@ -21,21 +22,21 @@ extern keymap_config_t keymap_config; | |||
21 | #define _FUNCTN 5 | 22 | #define _FUNCTN 5 |
22 | 23 | ||
23 | enum planck_keycodes { | 24 | enum planck_keycodes { |
24 | QWERTY = SAFE_RANGE, | 25 | QWERTY = SAFE_RANGE, |
25 | DVORAK, | 26 | DVORAK, |
26 | NUMBER, | 27 | NUMBER, |
27 | ACTION | 28 | ACTION |
28 | }; | 29 | }; |
29 | 30 | ||
30 | // Key code names | 31 | // Key code names |
31 | #define SFT_ENT FUNC(0) // Tap for enter, hold for right shift | 32 | #define SFT_ENT FUNC(0) // Tap for enter, hold for right shift |
32 | #define LOCK FUNC(1) | 33 | #define LOCK FUNC(1) |
33 | #define KC_PSTE KC_PASTE | 34 | #define KC_PSTE KC_PASTE |
34 | #define _______ KC_TRNS | 35 | #define _______ KC_TRNS |
35 | #define XXXXXXX KC_NO | 36 | #define XXXXXXX KC_NO |
36 | 37 | ||
37 | #ifdef TAP_DANCE_ENABLE | 38 | #ifdef TAP_DANCE_ENABLE |
38 | #define SFT_CAP TD(0) // Left shift, double tap for caps | 39 | #define SFT_CAP TD(0) // Left shift, double tap for caps |
39 | #endif | 40 | #endif |
40 | #ifndef TAP_DANCE_ENABLE | 41 | #ifndef TAP_DANCE_ENABLE |
41 | #define SFT_CAP KC_LSFT // Regular left shift | 42 | #define SFT_CAP KC_LSFT // Regular left shift |
@@ -44,14 +45,14 @@ enum planck_keycodes { | |||
44 | // Tap Dance Definitions | 45 | // Tap Dance Definitions |
45 | #ifdef TAP_DANCE_ENABLE | 46 | #ifdef TAP_DANCE_ENABLE |
46 | qk_tap_dance_action_t tap_dance_actions[] = { | 47 | qk_tap_dance_action_t tap_dance_actions[] = { |
47 | [0] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS) | 48 | [0] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS) |
48 | }; | 49 | }; |
49 | #endif | 50 | #endif |
50 | 51 | ||
51 | // Function definitions | 52 | // Function definitions |
52 | const uint16_t PROGMEM fn_actions[] = { | 53 | const uint16_t PROGMEM fn_actions[] = { |
53 | [0] = ACTION_MODS_TAP_KEY(MOD_RSFT, KC_ENT), | 54 | [0] = ACTION_MODS_TAP_KEY(MOD_RSFT, KC_ENT), |
54 | [1] = ACTION_LAYER_TOGGLE(_LOCKED) | 55 | [1] = ACTION_LAYER_TOGGLE(_LOCKED) |
55 | }; | 56 | }; |
56 | 57 | ||
57 | // Layout definitions | 58 | // Layout definitions |
@@ -69,10 +70,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
69 | * `-----------------------------------------------------------------------------------' | 70 | * `-----------------------------------------------------------------------------------' |
70 | */ | 71 | */ |
71 | [_QWERTY] = { | 72 | [_QWERTY] = { |
72 | {KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC}, | 73 | {KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC}, |
73 | {KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT}, | 74 | {KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT}, |
74 | {SFT_CAP, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, SFT_ENT}, | 75 | {SFT_CAP, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, SFT_ENT}, |
75 | {KC_LCTL, KC_LALT, KC_LGUI, KC_VOLD, ACTION, KC_SPC, KC_SPC, NUMBER, KC_VOLU, KC_LEFT, KC_DOWN, KC_RGHT} | 76 | {KC_LCTL, KC_LALT, KC_LGUI, KC_VOLD, ACTION, KC_SPC, KC_SPC, NUMBER, KC_VOLU, KC_LEFT, KC_DOWN, KC_RGHT} |
76 | }, | 77 | }, |
77 | 78 | ||
78 | /* DVORAK | 79 | /* DVORAK |
@@ -87,10 +88,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
87 | * `-----------------------------------------------------------------------------------' | 88 | * `-----------------------------------------------------------------------------------' |
88 | */ | 89 | */ |
89 | [_DVORAK] = { | 90 | [_DVORAK] = { |
90 | {_______, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, _______}, | 91 | {_______, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, _______}, |
91 | {_______, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_Z }, | 92 | {_______, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_Z }, |
92 | {_______, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, _______, _______}, | 93 | {_______, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, _______, _______}, |
93 | {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} | 94 | {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} |
94 | }, | 95 | }, |
95 | 96 | ||
96 | /* LOCK | 97 | /* LOCK |
@@ -105,10 +106,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
105 | * `-----------------------------------------------------------------------------------' | 106 | * `-----------------------------------------------------------------------------------' |
106 | */ | 107 | */ |
107 | [_LOCKED] = { | 108 | [_LOCKED] = { |
108 | {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, | 109 | {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, |
109 | {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, | 110 | {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, |
110 | {KC_LSFT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, | 111 | {KC_LSFT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, |
111 | {_______, _______, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, _______} | 112 | {_______, _______, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, _______} |
112 | }, | 113 | }, |
113 | 114 | ||
114 | /* NUMBERS | 115 | /* NUMBERS |
@@ -123,10 +124,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
123 | * `-----------------------------------------------------------------------------------' | 124 | * `-----------------------------------------------------------------------------------' |
124 | */ | 125 | */ |
125 | [_NUMBER] = { | 126 | [_NUMBER] = { |
126 | {_______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______}, | 127 | {_______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______}, |
127 | {_______, KC_TILD, XXXXXXX, XXXXXXX, XXXXXXX, KC_PIPE, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_QUES, KC_SLSH}, | 128 | {_______, KC_TILD, XXXXXXX, XXXXXXX, XXXXXXX, KC_PIPE, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_QUES, KC_SLSH}, |
128 | {_______, KC_GRV, XXXXXXX, XXXXXXX, XXXXXXX, KC_BSLS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______, _______}, | 129 | {_______, KC_GRV, XXXXXXX, XXXXXXX, XXXXXXX, KC_BSLS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______, _______}, |
129 | {_______, _______, _______, _______, _______, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______} | 130 | {_______, _______, _______, _______, _______, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______} |
130 | }, | 131 | }, |
131 | 132 | ||
132 | /* ACTIONS | 133 | /* ACTIONS |
@@ -141,10 +142,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
141 | * `-----------------------------------------------------------------------------------' | 142 | * `-----------------------------------------------------------------------------------' |
142 | */ | 143 | */ |
143 | [_ACTION] = { | 144 | [_ACTION] = { |
144 | {_______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL }, | 145 | {_______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL }, |
145 | {_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX}, | 146 | {_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX}, |
146 | {KC_CAPS, KC_UNDO, KC_CUT, KC_COPY, KC_PSTE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGUP, KC_ENT }, | 147 | {KC_CAPS, KC_UNDO, KC_CUT, KC_COPY, KC_PSTE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGUP, KC_ENT }, |
147 | {_______, _______, _______, KC_MUTE, _______, XXXXXXX, XXXXXXX, _______, XXXXXXX, KC_HOME, KC_PGDN, KC_END } | 148 | {_______, _______, _______, KC_MUTE, _______, XXXXXXX, XXXXXXX, _______, XXXXXXX, KC_HOME, KC_PGDN, KC_END } |
148 | }, | 149 | }, |
149 | 150 | ||
150 | /* FUNCTIONS | 151 | /* FUNCTIONS |
@@ -159,10 +160,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
159 | * `-----------------------------------------------------------------------------------' | 160 | * `-----------------------------------------------------------------------------------' |
160 | */ | 161 | */ |
161 | [_FUNCTN] = { | 162 | [_FUNCTN] = { |
162 | {KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12 }, | 163 | {KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12 }, |
163 | {KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24 }, | 164 | {KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24 }, |
164 | {XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QWERTY, DVORAK, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX}, | 165 | {XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QWERTY, DVORAK, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX}, |
165 | {RESET, XXXXXXX, LOCK, XXXXXXX, _______, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX} | 166 | {RESET, XXXXXXX, LOCK, XXXXXXX, _______, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX} |
166 | } | 167 | } |
167 | 168 | ||
168 | }; | 169 | }; |
@@ -177,56 +178,56 @@ float tone_goodbye[][2] = SONG(GOODBYE_SOUND); | |||
177 | 178 | ||
178 | 179 | ||
179 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | 180 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { |
180 | switch (keycode) { | 181 | switch (keycode) { |
181 | case QWERTY: | 182 | case QWERTY: |
182 | if (record->event.pressed) { | 183 | if (record->event.pressed) { |
183 | if (IS_LAYER_ON(_DVORAK)) { | 184 | if (IS_LAYER_ON(_DVORAK)) { |
184 | #ifdef AUDIO_ENABLE | 185 | #ifdef AUDIO_ENABLE |
185 | PLAY_SONG(tone_qwerty); | 186 | PLAY_SONG(tone_qwerty); |
186 | #endif | 187 | #endif |
187 | layer_off(_DVORAK); | 188 | layer_off(_DVORAK); |
188 | } | 189 | } |
189 | } | 190 | } |
190 | return false; | 191 | return false; |
191 | break; | 192 | break; |
192 | case DVORAK: | 193 | case DVORAK: |
193 | if (record->event.pressed) { | 194 | if (record->event.pressed) { |
194 | if (!IS_LAYER_ON(_DVORAK)) { | 195 | if (!IS_LAYER_ON(_DVORAK)) { |
195 | #ifdef AUDIO_ENABLE | 196 | #ifdef AUDIO_ENABLE |
196 | PLAY_SONG(tone_dvorak); | 197 | PLAY_SONG(tone_dvorak); |
197 | #endif | 198 | #endif |
198 | layer_on(_DVORAK); | 199 | layer_on(_DVORAK); |
199 | } | 200 | } |
200 | } | 201 | } |
201 | return false; | 202 | return false; |
202 | break; | 203 | break; |
203 | case NUMBER: | 204 | case NUMBER: |
204 | if (record->event.pressed) { | 205 | if (record->event.pressed) { |
205 | layer_on(_NUMBER); | 206 | layer_on(_NUMBER); |
206 | update_tri_layer(_NUMBER, _ACTION, _FUNCTN); | 207 | update_tri_layer(_NUMBER, _ACTION, _FUNCTN); |
207 | } else { | 208 | } else { |
208 | layer_off(_NUMBER); | 209 | layer_off(_NUMBER); |
209 | update_tri_layer(_NUMBER, _ACTION, _FUNCTN); | 210 | update_tri_layer(_NUMBER, _ACTION, _FUNCTN); |
210 | } | 211 | } |
211 | return false; | 212 | return false; |
212 | break; | 213 | break; |
213 | case ACTION: | 214 | case ACTION: |
214 | if (record->event.pressed) { | 215 | if (record->event.pressed) { |
215 | layer_on(_ACTION); | 216 | layer_on(_ACTION); |
216 | update_tri_layer(_NUMBER, _ACTION, _FUNCTN); | 217 | update_tri_layer(_NUMBER, _ACTION, _FUNCTN); |
217 | } else { | 218 | } else { |
218 | layer_off(_ACTION); | 219 | layer_off(_ACTION); |
219 | update_tri_layer(_NUMBER, _ACTION, _FUNCTN); | 220 | update_tri_layer(_NUMBER, _ACTION, _FUNCTN); |
220 | } | 221 | } |
221 | return false; | 222 | return false; |
222 | break; | 223 | break; |
223 | } | 224 | } |
224 | return true; | 225 | return true; |
225 | } | 226 | } |
226 | 227 | ||
227 | void matrix_init_user(void) { | 228 | void matrix_init_user(void) { |
228 | #ifdef AUDIO_ENABLE | 229 | #ifdef AUDIO_ENABLE |
229 | startup_user(); | 230 | startup_user(); |
230 | #endif | 231 | #endif |
231 | } | 232 | } |
232 | 233 | ||
@@ -234,25 +235,25 @@ void matrix_init_user(void) { | |||
234 | 235 | ||
235 | void startup_user() | 236 | void startup_user() |
236 | { | 237 | { |
237 | _delay_ms(20); // gets rid of tick | 238 | _delay_ms(20); // gets rid of tick |
238 | PLAY_SONG(tone_startup); | 239 | PLAY_SONG(tone_startup); |
239 | } | 240 | } |
240 | 241 | ||
241 | void shutdown_user() | 242 | void shutdown_user() |
242 | { | 243 | { |
243 | PLAY_SONG(tone_goodbye); | 244 | PLAY_SONG(tone_goodbye); |
244 | _delay_ms(150); | 245 | _delay_ms(150); |
245 | stop_all_notes(); | 246 | stop_all_notes(); |
246 | } | 247 | } |
247 | 248 | ||
248 | void music_on_user(void) | 249 | void music_on_user(void) |
249 | { | 250 | { |
250 | music_scale_user(); | 251 | music_scale_user(); |
251 | } | 252 | } |
252 | 253 | ||
253 | void music_scale_user(void) | 254 | void music_scale_user(void) |
254 | { | 255 | { |
255 | PLAY_SONG(music_scale); | 256 | PLAY_SONG(music_scale); |
256 | } | 257 | } |
257 | 258 | ||
258 | #endif | 259 | #endif |