aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCallum Oakley <c.oakley108@gmail.com>2018-07-14 21:33:29 +0100
committerDrashna Jaelre <drashna@live.com>2018-07-14 13:33:29 -0700
commit5d5fa0dc8ca49ca7e6323928765ca2408701d468 (patch)
treee113e34f7cc669094c54b2e9b41dc8716fa67339
parent2fe2c323c6dd564200ee43a9e424a4b56332e4f7 (diff)
downloadqmk_firmware-5d5fa0dc8ca49ca7e6323928765ca2408701d468.tar.gz
qmk_firmware-5d5fa0dc8ca49ca7e6323928765ca2408701d468.zip
callum keymap updates (#3402)
* change window focus shortcuts * hangul * macos goodness * re-arrange tab keys * remove tab switching keys * left hand func * glorious macro pad * workspace rotation keys * tabbing hotkeys
-rw-r--r--keyboards/planck/keymaps/callum/keymap.c453
1 files changed, 230 insertions, 223 deletions
diff --git a/keyboards/planck/keymaps/callum/keymap.c b/keyboards/planck/keymaps/callum/keymap.c
index 4758ffacf..d2ef2bfce 100644
--- a/keyboards/planck/keymaps/callum/keymap.c
+++ b/keyboards/planck/keymaps/callum/keymap.c
@@ -6,8 +6,8 @@ extern keymap_config_t keymap_config;
6#define G(X) LGUI(X) 6#define G(X) LGUI(X)
7#define A(X) LALT(X) 7#define A(X) LALT(X)
8#define C(X) LCTL(X) 8#define C(X) LCTL(X)
9#define GC(X) G(C(X)) 9#define AC(X) A(C(X))
10#define GAC(X) G(A(C(X))) 10#define SC(X) S(C(X))
11#define _______ KC_TRNS 11#define _______ KC_TRNS
12#define XXXXXXX KC_NO 12#define XXXXXXX KC_NO
13 13
@@ -16,242 +16,249 @@ enum planck_layers {
16 _QWERTY, 16 _QWERTY,
17 _SYMB, 17 _SYMB,
18 _MOVE, 18 _MOVE,
19 _FUNC 19 _FUNC,
20}; 20};
21 21
22enum planck_keycodes { 22enum planck_keycodes {
23 COLEMAK = SAFE_RANGE, 23 COLEMAK = SAFE_RANGE,
24 QWERTY, 24 QWERTY,
25 SYMB, 25 SYMB,
26 MOVE, 26 MOVE,
27 FUNC 27 FUNC,
28}; 28};
29 29
30const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 30const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
31 31
32/* COLEMAK 32 /* COLEMAK
33 * ,-----------------------------------------------------------------------. 33 * ,-----------------------------------------------------------------------.
34 * |Tab | Q | W | F | P | G | J | L | U | Y | ; | - | 34 * |Tab | Q | W | F | P | G | J | L | U | Y | ; | - |
35 * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----| 35 * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
36 * |Bksp | A | R | S | T | D | H | N | E | I | O | ' | 36 * |Bksp | A | R | S | T | D | H | N | E | I | O | ' |
37 * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----| 37 * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
38 * |Shift| Z | X | C | V | B | K | M | , | . | / |Shift| 38 * |Shift| Z | X | C | V | B | K | M | , | . | / |Shift|
39 * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----| 39 * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
40 * |Func |Super| Alt |Ctrl |Symb |Enter|Space|Move |Ctrl | Alt |Super|Func | 40 * |Func |Ctrl | Alt |Super|Symb |Enter|Space|Move |Super| Alt |Ctrl |Func |
41 * `-----------------------------------------------------------------------' 41 * `-----------------------------------------------------------------------'
42 */ 42 */
43[_COLEMAK] = { 43 [_COLEMAK] = {
44 { 44 {
45 KC_TAB, KC_Q, KC_W, KC_F, 45 KC_TAB, KC_Q, KC_W, KC_F,
46 KC_P, KC_G, KC_J, KC_L, 46 KC_P, KC_G, KC_J, KC_L,
47 KC_U, KC_Y, KC_SCLN, KC_MINS 47 KC_U, KC_Y, KC_SCLN, KC_MINS
48 }, 48 },
49 { 49 {
50 KC_BSPC, KC_A, KC_R, KC_S, 50 KC_BSPC, KC_A, KC_R, KC_S,
51 KC_T, KC_D, KC_H, KC_N, 51 KC_T, KC_D, KC_H, KC_N,
52 KC_E, KC_I, KC_O, KC_QUOT 52 KC_E, KC_I, KC_O, KC_QUOT
53 }, 53 },
54 { 54 {
55 KC_LSFT, KC_Z, KC_X, KC_C, 55 KC_LSFT, KC_Z, KC_X, KC_C,
56 KC_V, KC_B, KC_K, KC_M, 56 KC_V, KC_B, KC_K, KC_M,
57 KC_COMM, KC_DOT, KC_SLSH, KC_RSFT 57 KC_COMM, KC_DOT, KC_SLSH, KC_RSFT
58 }, 58 },
59 { 59 {
60 FUNC, KC_LGUI, KC_LALT, KC_LCTL, 60 FUNC, KC_LCTL, KC_LALT, KC_LGUI,
61 SYMB, KC_ENT, KC_SPC, MOVE, 61 SYMB, KC_ENT, KC_SPC, MOVE,
62 KC_RCTL, KC_RALT, KC_RGUI, FUNC 62 KC_RGUI, KC_RALT, KC_RCTL, FUNC
63 } 63 }
64}, 64 },
65 65
66/* QWERTY 66 /* QWERTY
67 * ,-----------------------------------------------------------------------. 67 * ,-----------------------------------------------------------------------.
68 * |Tab | Q | W | E | R | T | Y | U | I | O | P | - | 68 * |Tab | Q | W | E | R | T | Y | U | I | O | P | - |
69 * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----| 69 * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
70 * |Bksp | A | S | D | F | G | H | J | K | L | ; | ' | 70 * |Bksp | A | S | D | F | G | H | J | K | L | ; | ' |
71 * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----| 71 * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
72 * |Shift| Z | X | C | V | B | N | M | , | . | / |Shift| 72 * |Shift| Z | X | C | V | B | N | M | , | . | / |Shift|
73 * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----| 73 * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
74 * |Func |Super| Alt |Ctrl |Symb |Enter|Space|Move |Ctrl | Alt |Super|Func | 74 * |Func |Ctrl | Alt |Super|Symb |Enter|Space|Move |Super| Alt |Ctrl |Func |
75 * `-----------------------------------------------------------------------' 75 * `-----------------------------------------------------------------------'
76 */ 76 */
77[_QWERTY] = { 77 [_QWERTY] = {
78 { 78 {
79 KC_TAB, KC_Q, KC_W, KC_E, 79 KC_TAB, KC_Q, KC_W, KC_E,
80 KC_R, KC_T, KC_Y, KC_U, 80 KC_R, KC_T, KC_Y, KC_U,
81 KC_I, KC_O, KC_P, KC_MINS 81 KC_I, KC_O, KC_P, KC_MINS
82 }, 82 },
83 { 83 {
84 KC_BSPC, KC_A, KC_S, KC_D, 84 KC_BSPC, KC_A, KC_S, KC_D,
85 KC_F, KC_G, KC_H, KC_J, 85 KC_F, KC_G, KC_H, KC_J,
86 KC_K, KC_L, KC_SCLN, KC_QUOT 86 KC_K, KC_L, KC_SCLN, KC_QUOT
87 }, 87 },
88 { 88 {
89 KC_LSFT, KC_Z, KC_X, KC_C, 89 KC_LSFT, KC_Z, KC_X, KC_C,
90 KC_V, KC_B, KC_N, KC_M, 90 KC_V, KC_B, KC_N, KC_M,
91 KC_COMM, KC_DOT, KC_SLSH, KC_RSFT 91 KC_COMM, KC_DOT, KC_SLSH, KC_RSFT
92 }, 92 },
93 { 93 {
94 FUNC, KC_LGUI, KC_LALT, KC_LCTL, 94 FUNC, KC_LCTL, KC_LALT, KC_LGUI,
95 SYMB, KC_ENT, KC_SPC, MOVE, 95 SYMB, KC_ENT, KC_SPC, MOVE,
96 KC_RCTL, KC_RALT, KC_RGUI, FUNC 96 KC_RGUI, KC_RALT, KC_RCTL, FUNC
97 } 97 }
98}, 98 },
99 99
100/* SYMB 100 /* SYMB
101 * ,-----------------------------------------------------------------------. 101 * ,-----------------------------------------------------------------------.
102 * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | | 102 * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | |
103 * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----| 103 * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
104 * | Del | ! | @ | # | $ | % | ^ | & | * | ( | ) | | 104 * | Del | ! | @ | # | $ | % | ^ | & | * | ( | ) | |
105 * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----| 105 * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
106 * | | ~ | ` | + | = | | | \ | [ | ] | { | } | | 106 * | | ~ | ` | + | = | | | \ | [ | ] | { | } | |
107 * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----| 107 * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
108 * | | | | | | | | | | | | | 108 * | | | | | | | | | | | | |
109 * `-----------------------------------------------------------------------' 109 * `-----------------------------------------------------------------------'
110 */ 110 */
111[_SYMB] = { 111 [_SYMB] = {
112 { 112 {
113 KC_ESC, KC_1, KC_2, KC_3, 113 KC_ESC, KC_1, KC_2, KC_3,
114 KC_4, KC_5, KC_6, KC_7, 114 KC_4, KC_5, KC_6, KC_7,
115 KC_8, KC_9, KC_0, _______ 115 KC_8, KC_9, KC_0, _______
116 }, 116 },
117 { 117 {
118 KC_DEL, KC_EXLM, KC_AT, KC_HASH, 118 KC_DEL, KC_EXLM, KC_AT, KC_HASH,
119 KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, 119 KC_DLR, KC_PERC, KC_CIRC, KC_AMPR,
120 KC_ASTR, KC_LPRN, KC_RPRN, _______ 120 KC_ASTR, KC_LPRN, KC_RPRN, _______
121 }, 121 },
122 { 122 {
123 _______, KC_TILD, KC_GRV, KC_PLUS, 123 _______, KC_TILD, KC_GRV, KC_PLUS,
124 KC_EQL, KC_PIPE, KC_BSLS, KC_LBRC, 124 KC_EQL, KC_PIPE, KC_BSLS, KC_LBRC,
125 KC_RBRC, KC_LCBR, KC_RCBR, _______ 125 KC_RBRC, KC_LCBR, KC_RCBR, _______
126 }, 126 },
127 { 127 {
128 _______, _______, _______, _______, 128 _______, _______, _______, _______,
129 _______, _______, _______, _______, 129 _______, _______, _______, _______,
130 _______, _______, _______, _______ 130 _______, _______, _______, _______
131 } 131 }
132}, 132 },
133 133
134/* MOVE 134 /* MOVE
135 * ,-----------------------------------------------------------------------. 135 * ,-----------------------------------------------------------------------.
136 * | | | | | | | |Home | Up | End | | Esc | 136 * | | | | | | | |Home | Up | End | | Esc |
137 * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----| 137 * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
138 * | | | | | | | |Left |Down |Right|Caps | Del | 138 * | | | | | | | |Left |Down |Right|Caps | Del |
139 * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----| 139 * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
140 * | | | | | | | |PgDn |PgUp | | | | 140 * | | | | | | | |PgDn |PgUp |TabL |TabR | |
141 * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----| 141 * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
142 * | | | | | | | | | | | | | 142 * | | | | | | | | | | | | |
143 * `-----------------------------------------------------------------------' 143 * `-----------------------------------------------------------------------'
144 */ 144 */
145[_MOVE] = { 145 [_MOVE] = {
146 { 146 {
147 GC(KC_UP), GAC(KC_1), G(KC_6), G(KC_5), 147 AC(KC_A), AC(KC_B), AC(KC_C), AC(KC_D),
148 G(KC_4), GAC(KC_UP), GAC(KC_RGHT), KC_HOME, 148 AC(KC_E), AC(KC_F), XXXXXXX, KC_HOME,
149 KC_UP, KC_END, C(KC_SPC), KC_ESC 149 KC_UP, KC_END, XXXXXXX, KC_ESC
150 }, 150 },
151 { 151 {
152 GC(KC_DOWN), GAC(KC_2), G(KC_3), G(KC_2), 152 AC(KC_G), AC(KC_H), AC(KC_I), AC(KC_J),
153 G(KC_1), G(KC_F), G(KC_C), KC_LEFT, 153 AC(KC_K), AC(KC_L), XXXXXXX, KC_LEFT,
154 KC_DOWN, KC_RGHT, KC_CAPS, KC_DEL 154 KC_DOWN, KC_RGHT, KC_CAPS, KC_DEL
155 }, 155 },
156 { 156 {
157 _______, GAC(KC_3), G(KC_9), G(KC_8), 157 _______, AC(KC_M), AC(KC_N), AC(KC_O),
158 G(KC_7), GAC(KC_LEFT), GAC(KC_DOWN), KC_PGDN, 158 AC(KC_P), AC(KC_Q), XXXXXXX, KC_PGDN,
159 KC_PGUP, GC(KC_LEFT), GC(KC_RGHT), _______ 159 KC_PGUP, SC(KC_TAB), C(KC_TAB), _______
160 }, 160 },
161 { 161 {
162 _______, _______, _______, _______, 162 _______, _______, _______, _______,
163 _______, _______, _______, _______, 163 _______, _______, _______, _______,
164 _______, _______, _______, _______ 164 _______, _______, _______, _______
165 } 165 }
166}, 166 },
167
168/* FUNC
169 * ,-----------------------------------------------------------------------.
170 * |Reset| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 |VolUp|
171 * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
172 * |Power| F11 | F12 | F13 | F14 | F15 | F16 | F17 | F18 | F19 | F20 |VolDn|
173 * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
174 * | | F21 | F22 | F23 | F24 | | | | |Clmak|Qwrty| |
175 * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
176 * | | | | |Prev |Mute |Play |Next | | | | |
177 * `-----------------------------------------------------------------------'
178 */
179[_FUNC] = {
180 {
181 RESET, KC_F1, KC_F2, KC_F3,
182 KC_F4, KC_F5, KC_F6, KC_F7,
183 KC_F8, KC_F9, KC_F10, KC_VOLU
184 },
185 {
186 KC_POWER, KC_F11, KC_F12, KC_F13,
187 KC_F14, KC_F15, KC_F16, KC_F17,
188 KC_F18, KC_F19, KC_F20, KC_VOLD
189 },
190 {
191 _______, KC_F21, KC_F22, KC_F23,
192 KC_F24, XXXXXXX, XXXXXXX, XXXXXXX,
193 XXXXXXX, COLEMAK, QWERTY, _______
194 },
195 {
196 _______, _______, _______, _______,
197 KC_MPRV, KC_MUTE, KC_MPLY, KC_MNXT,
198 _______, _______, _______, _______
199 }
200}
201 167
168 /* FUNC
169 * ,-----------------------------------------------------------------------.
170 * |Reset| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 |VolUp|
171 * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
172 * |Power| F11 | F12 | F13 | F14 | F15 | F16 | F17 | F18 | F19 | F20 |VolDn|
173 * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
174 * | | F21 | F22 | F23 | F24 | | | | |Clmak|Qwrty| |
175 * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
176 * | | | | |Prev |Mute |Play |Next | | | | |
177 * `-----------------------------------------------------------------------'
178 */
179 [_FUNC] = {
180 {
181 RESET, KC_F1, KC_F2, KC_F3,
182 KC_F4, KC_F5, KC_F6, KC_F7,
183 KC_F8, KC_F9, KC_F10, KC_VOLU
184 },
185 {
186 KC_POWER, KC_F11, KC_F12, KC_F13,
187 KC_F14, KC_F15, KC_F16, KC_F17,
188 KC_F18, KC_F19, KC_F20, KC_VOLD
189 },
190 {
191 _______, KC_F21, KC_F22, KC_F23,
192 KC_F24, XXXXXXX, XXXXXXX, XXXXXXX,
193 XXXXXXX, COLEMAK, QWERTY, _______
194 },
195 {
196 _______, _______, _______, _______,
197 KC_MPRV, KC_MUTE, KC_MPLY, KC_MNXT,
198 _______, _______, _______, _______
199 }
200 }
202}; 201};
203 202
204#ifdef AUDIO_ENABLE 203#ifdef AUDIO_ENABLE
205 float colemak_song[][2] = SONG(COLEMAK_SOUND); 204float colemak_song[][2] = SONG(COLEMAK_SOUND);
206 float qwerty_song[][2] = SONG(QWERTY_SOUND); 205float qwerty_song[][2] = SONG(QWERTY_SOUND);
206#endif
207
208void set_colemak(void) {
209#ifdef AUDIO_ENABLE
210 stop_all_notes();
211 PLAY_SONG(colemak_song);
207#endif 212#endif
213 set_single_persistent_default_layer(_COLEMAK);
214}
215
216void set_qwerty(void) {
217#ifdef AUDIO_ENABLE
218 stop_all_notes();
219 PLAY_SONG(qwerty_song);
220#endif
221 set_single_persistent_default_layer(_QWERTY);
222}
208 223
209bool process_record_user(uint16_t keycode, keyrecord_t *record) { 224bool process_record_user(uint16_t keycode, keyrecord_t *record) {
210 switch (keycode) { 225 switch (keycode) {
211 case COLEMAK: 226 case COLEMAK:
212 if (record->event.pressed) { 227 if (record->event.pressed) {
213 #ifdef AUDIO_ENABLE 228 set_colemak();
214 stop_all_notes(); 229 }
215 PLAY_SONG(colemak_song); 230 return false;
216 #endif 231 break;
217 set_single_persistent_default_layer(_COLEMAK); 232 case QWERTY:
218 } 233 if (record->event.pressed) {
219 return false; 234 set_qwerty();
220 break; 235 }
221 case QWERTY: 236 return false;
222 if (record->event.pressed) { 237 break;
223 #ifdef AUDIO_ENABLE 238 case SYMB:
224 stop_all_notes(); 239 if (record->event.pressed) {
225 PLAY_SONG(qwerty_song); 240 layer_on(_SYMB);
226 #endif 241 } else {
227 set_single_persistent_default_layer(_QWERTY); 242 layer_off(_SYMB);
228 } 243 }
229 return false; 244 return false;
230 break; 245 break;
231 case SYMB: 246 case MOVE:
232 if (record->event.pressed) { 247 if (record->event.pressed) {
233 layer_on(_SYMB); 248 layer_on(_MOVE);
234 } else { 249 } else {
235 layer_off(_SYMB); 250 layer_off(_MOVE);
236 } 251 }
237 return false; 252 return false;
238 break; 253 break;
239 case MOVE: 254 case FUNC:
240 if (record->event.pressed) { 255 if (record->event.pressed) {
241 layer_on(_MOVE); 256 layer_on(_FUNC);
242 } else { 257 } else {
243 layer_off(_MOVE); 258 layer_off(_FUNC);
244 } 259 }
245 return false; 260 return false;
246 break; 261 break;
247 case FUNC: 262 }
248 if (record->event.pressed) { 263 return true;
249 layer_on(_FUNC);
250 } else {
251 layer_off(_FUNC);
252 }
253 return false;
254 break;
255 }
256 return true;
257} 264}