aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keyboards/planck/keymaps/callum/keymap.c139
1 files changed, 116 insertions, 23 deletions
diff --git a/keyboards/planck/keymaps/callum/keymap.c b/keyboards/planck/keymaps/callum/keymap.c
index 0ac1906ba..38c362fcb 100644
--- a/keyboards/planck/keymaps/callum/keymap.c
+++ b/keyboards/planck/keymaps/callum/keymap.c
@@ -14,12 +14,19 @@ extern keymap_config_t keymap_config;
14#define _BASE 0 14#define _BASE 0
15#define _MOVE 1 15#define _MOVE 1
16#define _SYMB 2 16#define _SYMB 2
17#define _FUNC 3 17#define _MOUSE 3
18#define _FUNC 4
18 19
19enum planck_keycodes { 20enum planck_keycodes {
20 MOVE, 21 MOVE = SAFE_RANGE,
21 SYMB, 22 SYMB,
22 FUNC 23 FUNC,
24 CMDLEFT,
25 CMDRGHT,
26 BELOW,
27 ABOVE,
28 VOLUP,
29 VOLDN
23}; 30};
24 31
25// Fillers to make layering more clear 32// Fillers to make layering more clear
@@ -36,14 +43,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
36 * |------+------+------+------+------+------+------+------+------+------+------+------| 43 * |------+------+------+------+------+------+------+------+------+------+------+------|
37 * | Shift| Z | X | C | V | B | K | M | , | . | / | Shift| 44 * | Shift| Z | X | C | V | B | K | M | , | . | / | Shift|
38 * |------+------+------+------+------+------+------+------+------+------+------+------| 45 * |------+------+------+------+------+------+------+------+------+------+------+------|
39 * | Func | Ctrl | Alt | Cmd | Symb | Enter| Space| Move | Cmd | Alt | Ctrl | Caps | 46 * | Func | Ctrl | Alt | Cmd | Symb | Enter| Space| Move | Cmd | Alt | Ctrl | Func |
40 * `-----------------------------------------------------------------------------------' 47 * `-----------------------------------------------------------------------------------'
41 */ 48 */
42[_BASE] = { 49[_BASE] = {
43 {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_MINS}, 50 {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_MINS},
44 {KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT}, 51 {KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT},
45 {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT}, 52 {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT},
46 {FUNC, KC_LCTL, KC_LALT, KC_LGUI, SYMB, KC_ENT, KC_SPC, MOVE, KC_RGUI, KC_RALT, KC_RCTL, KC_CAPS} 53 {FUNC, KC_LCTL, KC_LALT, KC_LGUI, SYMB, KC_ENT, KC_SPC, MOVE, KC_RGUI, KC_RALT, KC_RCTL, FUNC }
47}, 54},
48 55
49/* MOVE 56/* MOVE
@@ -52,16 +59,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
52 * |------+------+------+------+------+------+------+------+------+------+------+------| 59 * |------+------+------+------+------+------+------+------+------+------+------+------|
53 * | Del | | Left | Down | Right| | | Left | Down | Right| | Del | 60 * | Del | | Left | Down | Right| | | Left | Down | Right| | Del |
54 * |------+------+------+------+------+------+------+------+------+------+------+------| 61 * |------+------+------+------+------+------+------+------+------+------+------+------|
55 * | | | | Pg Up| Pg Dn| | | Pg Dn| Pg Up| | | | 62 * | | | | Pg Up| Pg Dn| Above| | Pg Dn| Pg Up| | Caps | |
56 * |------+------+------+------+------+------+------+------+------+------+------+------| 63 * |------+------+------+------+------+------+------+------+------+------+------+------|
57 * | | | | | | | | | | | | | 64 * | | | | | | Below| | | | | | |
58 * `-----------------------------------------------------------------------------------' 65 * `-----------------------------------------------------------------------------------'
59 */ 66 */
60[_MOVE] = { 67[_MOVE] = {
61 {KC_ESC, XXXXXXX, KC_HOME, KC_UP, KC_END, XXXXXXX, XXXXXXX, KC_HOME, KC_UP, KC_END, XXXXXXX, KC_ESC}, 68 {KC_ESC, XXXXXXX, CMDLEFT, KC_UP, CMDRGHT, XXXXXXX, XXXXXXX, CMDLEFT, KC_UP, CMDRGHT, XXXXXXX, KC_ESC },
62 {KC_DEL, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, KC_DEL}, 69 {KC_DEL, KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, KC_CAPS, KC_DEL },
63 {_______, XXXXXXX, XXXXXXX, KC_PGUP, KC_PGDN, XXXXXXX, XXXXXXX, KC_PGDN, KC_PGUP, XXXXXXX, XXXXXXX, _______}, 70 {_______, XXXXXXX, XXXXXXX, KC_PGUP, KC_PGDN, ABOVE, XXXXXXX, KC_PGDN, KC_PGUP, XXXXXXX, XXXXXXX, _______},
64 {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} 71 {_______, _______, _______, _______, _______, BELOW, _______, _______, _______, _______, _______, _______}
65}, 72},
66 73
67/* SYMB 74/* SYMB
@@ -82,22 +89,40 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
82 {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} 89 {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}
83}, 90},
84 91
92/* MOUSE
93 * ,-----------------------------------------------------------------------------------.
94 * | | | | | | | | | | | | |
95 * |------+------+------+------+------+------+------+------+------+------+------+------|
96 * | | | | | | | | | | | | |
97 * |------+------+------+------+------+------+------+------+------+------+------+------|
98 * | | | | | | | | | | | | |
99 * |------+------+------+------+------+------+------+------+------+------+------+------|
100 * | | | | | | | | | | | | |
101 * `-----------------------------------------------------------------------------------'
102 */
103[_MOUSE] = {
104 {XXXXXXX, XXXXXXX, KC_ACL2, KC_ACL1, KC_ACL0, XXXXXXX, XXXXXXX, KC_WH_L, KC_MS_U, KC_WH_R, XXXXXXX, XXXXXXX},
105 {XXXXXXX, XXXXXXX, KC_BTN3, KC_BTN2, KC_BTN1, XXXXXXX, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, XXXXXXX},
106 {_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_WH_D, KC_WH_U, XXXXXXX, XXXXXXX, _______},
107 {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}
108},
109
85/* FUNC 110/* FUNC
86 * ,-----------------------------------------------------------------------------------. 111 * ,-----------------------------------------------------------------------------------.
87 * | F12 | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | 112 * | Reset| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | Vol+ |
88 * |------+------+------+------+------+------+------+------+------+------+------+------| 113 * |------+------+------+------+------+------+------+------+------+------+------+------|
89 * | | Play | Prev | Next | BL+ | | | | | | | | 114 * | | F11 | F12 | F13 | F14 | F15 | F16 | F17 | F18 | F19 | F20 | Vol- |
90 * |------+------+------+------+------+------+------+------+------+------+------+------| 115 * |------+------+------+------+------+------+------+------+------+------+------+------|
91 * | | Mute | Vol- | Vol+ | BL- | | | | | | | | 116 * | | F21 | F22 | F23 | F24 | | | | | | | |
92 * |------+------+------+------+------+------+------+------+------+------+------+------| 117 * |------+------+------+------+------+------+------+------+------+------+------+------|
93 * | | | | | | | | | | | | Reset| 118 * | | | | | Prev | Mute | Play | Next | | | | |
94 * `-----------------------------------------------------------------------------------' 119 * `-----------------------------------------------------------------------------------'
95 */ 120 */
96[_FUNC] = { 121[_FUNC] = {
97 {KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11 }, 122 {RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, VOLUP },
98 {XXXXXXX, KC_MPLY, KC_MPRV, KC_MNXT, KC_F15, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX}, 123 {XXXXXXX, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, VOLDN },
99 {_______, KC_MUTE, KC_VOLD, KC_VOLU, KC_F14, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______}, 124 {_______, KC_F21, KC_F22, KC_F23, KC_F24, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______},
100 {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET } 125 {_______, _______, _______, _______, KC_MPRV, KC_MUTE, KC_MPLY, KC_MNXT, _______, _______, _______, _______}
101} 126}
102 127
103}; 128};
@@ -107,20 +132,20 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
107 case MOVE: 132 case MOVE:
108 if (record->event.pressed) { 133 if (record->event.pressed) {
109 layer_on(_MOVE); 134 layer_on(_MOVE);
110 update_tri_layer(_MOVE, _SYMB, _FUNC); 135 update_tri_layer(_MOVE, _SYMB, _MOUSE);
111 } else { 136 } else {
112 layer_off(_MOVE); 137 layer_off(_MOVE);
113 update_tri_layer(_MOVE, _SYMB, _FUNC); 138 update_tri_layer(_MOVE, _SYMB, _MOUSE);
114 } 139 }
115 return false; 140 return false;
116 break; 141 break;
117 case SYMB: 142 case SYMB:
118 if (record->event.pressed) { 143 if (record->event.pressed) {
119 layer_on(_SYMB); 144 layer_on(_SYMB);
120 update_tri_layer(_MOVE, _SYMB, _FUNC); 145 update_tri_layer(_MOVE, _SYMB, _MOUSE);
121 } else { 146 } else {
122 layer_off(_SYMB); 147 layer_off(_SYMB);
123 update_tri_layer(_MOVE, _SYMB, _FUNC); 148 update_tri_layer(_MOVE, _SYMB, _MOUSE);
124 } 149 }
125 return false; 150 return false;
126 break; 151 break;
@@ -132,6 +157,74 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
132 } 157 }
133 return false; 158 return false;
134 break; 159 break;
160 case CMDLEFT:
161 if (record->event.pressed) {
162 register_code(KC_LGUI);
163 register_code(KC_LEFT);
164 } else {
165 unregister_code(KC_LEFT);
166 unregister_code(KC_LGUI);
167 }
168 return false;
169 break;
170 case CMDRGHT:
171 if (record->event.pressed) {
172 register_code(KC_LGUI);
173 register_code(KC_RGHT);
174 } else {
175 unregister_code(KC_RGHT);
176 unregister_code(KC_LGUI);
177 }
178 return false;
179 break;
180 case BELOW:
181 if (record->event.pressed) {
182 register_code(KC_LGUI);
183 register_code(KC_RGHT);
184 unregister_code(KC_RGHT);
185 unregister_code(KC_LGUI);
186 register_code(KC_ENT);
187 unregister_code(KC_ENT);
188 }
189 return false;
190 break;
191 case ABOVE:
192 if (record->event.pressed) {
193 register_code(KC_LGUI);
194 register_code(KC_LEFT);
195 unregister_code(KC_LEFT);
196 unregister_code(KC_LGUI);
197 register_code(KC_ENT);
198 unregister_code(KC_ENT);
199 register_code(KC_UP);
200 unregister_code(KC_UP);
201 }
202 return false;
203 break;
204 case VOLUP:
205 if (record->event.pressed) {
206 register_code(KC_LALT);
207 register_code(KC_LSFT);
208 register_code(KC_VOLU);
209 } else {
210 unregister_code(KC_VOLU);
211 unregister_code(KC_LSFT);
212 unregister_code(KC_LALT);
213 }
214 return false;
215 break;
216 case VOLDN:
217 if (record->event.pressed) {
218 register_code(KC_LALT);
219 register_code(KC_LSFT);
220 register_code(KC_VOLD);
221 } else {
222 unregister_code(KC_VOLD);
223 unregister_code(KC_LSFT);
224 unregister_code(KC_LALT);
225 }
226 return false;
227 break;
135 } 228 }
136 return true; 229 return true;
137} 230}