aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keyboards/planck/keymaps/callum/keymap.c193
-rw-r--r--keyboards/planck/keymaps/callum/readme.md100
2 files changed, 211 insertions, 82 deletions
diff --git a/keyboards/planck/keymaps/callum/keymap.c b/keyboards/planck/keymaps/callum/keymap.c
index 6c3431133..82ba83f4e 100644
--- a/keyboards/planck/keymaps/callum/keymap.c
+++ b/keyboards/planck/keymaps/callum/keymap.c
@@ -14,14 +14,21 @@ 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 BASE = SAFE_RANGE, 21 MOVE = SAFE_RANGE,
21 MOVE,
22 SYMB, 22 SYMB,
23 FUNC, 23 FUNC,
24 LOCK 24 CMDLEFT,
25 CMDRGHT,
26 BELOW,
27 ABOVE,
28 DASH,
29 GBP,
30 VOLUP,
31 VOLDN
25}; 32};
26 33
27// Fillers to make layering more clear 34// Fillers to make layering more clear
@@ -33,73 +40,91 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
33/* BASE 40/* BASE
34 * ,-----------------------------------------------------------------------------------. 41 * ,-----------------------------------------------------------------------------------.
35 * | Tab | Q | W | F | P | G | J | L | U | Y | ; | - | 42 * | Tab | Q | W | F | P | G | J | L | U | Y | ; | - |
36 * |------+------+------+------+------+-------------+------+------+------+------+------| 43 * |------+------+------+------+------+------+------+------+------+------+------+------|
37 * | Bksp | A | R | S | T | D | H | N | E | I | O | " | 44 * | Bksp | A | R | S | T | D | H | N | E | I | O | " |
38 * |------+------+------+------+------+------|------+------+------+------+------+------|
39 * | Shift| Z | X | C | V | B | K | M | , | . | / |Shift |
40 * |------+------+------+------+------+------+------+------+------+------+------+------| 45 * |------+------+------+------+------+------+------+------+------+------+------+------|
41 * | Func | Ctrl | Alt | GUI | Symb |Enter |Space | Move | GUI | Alt | Ctrl |Caps | 46 * | Shift| Z | X | C | V | B | K | M | , | . | / | Shift|
47 * |------+------+------+------+------+------+------+------+------+------+------+------|
48 * | Func | Ctrl | Alt | Cmd | Symb | Enter| Space| Move | Cmd | Alt | Ctrl | Func |
42 * `-----------------------------------------------------------------------------------' 49 * `-----------------------------------------------------------------------------------'
43 */ 50 */
44[_BASE] = { 51[_BASE] = {
45 {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_MINS}, 52 {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_MINS},
46 {KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT}, 53 {KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT},
47 {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT}, 54 {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT},
48 {FUNC, KC_LCTL, KC_LALT, KC_LGUI, SYMB, KC_ENT, KC_SPC, MOVE, KC_RGUI, KC_RALT, KC_RCTL, KC_CAPS} 55 {FUNC, KC_LCTL, KC_LALT, KC_LGUI, SYMB, KC_ENT, KC_SPC, MOVE, KC_RGUI, KC_RALT, KC_RCTL, FUNC }
49}, 56},
50 57
51/* MOVE 58/* MOVE
52 * ,-----------------------------------------------------------------------------------. 59 * ,-----------------------------------------------------------------------------------.
53 * | Esc | | Home | Up | End | | | Home | Up | End | | Esc | 60 * | Esc | | Cmd-L| Up | Cmd-R| | | Cmd-L| Up | Cmd-R| | Esc |
54 * |------+------+------+------+------+-------------+------+------+------+------+------|
55 * | Del | | Left | Down |Right | | | Left | Down |Right | | Del |
56 * |------+------+------+------+------+------|------+------+------+------+------+------|
57 * | | | |Pg Up |Pg Dn | | |Pg Dn |Pg Up | | | |
58 * |------+------+------+------+------+------+------+------+------+------+------+------| 61 * |------+------+------+------+------+------+------+------+------+------+------+------|
59 * | | | | | | | | | | | | | 62 * | Del | | Left | Down | Right| | | Left | Down | Right| | Del |
63 * |------+------+------+------+------+------+------+------+------+------+------+------|
64 * | | | | Pg Up| Pg Dn| Above| | Pg Dn| Pg Up| | Caps | |
65 * |------+------+------+------+------+------+------+------+------+------+------+------|
66 * | | | | | | Below| | | | | | |
60 * `-----------------------------------------------------------------------------------' 67 * `-----------------------------------------------------------------------------------'
61 */ 68 */
62[_MOVE] = { 69[_MOVE] = {
63 {KC_ESC, _______, KC_HOME, KC_UP, KC_END, _______, _______, KC_HOME, KC_UP, KC_END, _______, KC_ESC}, 70 {KC_ESC, XXXXXXX, CMDLEFT, KC_UP, CMDRGHT, XXXXXXX, XXXXXXX, CMDLEFT, KC_UP, CMDRGHT, XXXXXXX, KC_ESC },
64 {KC_DEL, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_DEL}, 71 {KC_DEL, KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, KC_CAPS, KC_DEL },
65 {_______, _______, _______, KC_PGUP, KC_PGDN, _______, _______, KC_PGDN, KC_PGUP, _______, _______, _______}, 72 {_______, XXXXXXX, XXXXXXX, KC_PGUP, KC_PGDN, ABOVE, XXXXXXX, KC_PGDN, KC_PGUP, XXXXXXX, XXXXXXX, _______},
66 {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} 73 {_______, _______, _______, _______, _______, BELOW, _______, _______, _______, _______, _______, _______}
67}, 74},
68 75
69/* SYMB 76/* SYMB
70 * ,-----------------------------------------------------------------------------------. 77 * ,-----------------------------------------------------------------------------------.
71 * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Esc | 78 * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | |
72 * |-----------------------------------------------------------------------------------. 79 * |------+------+------+------+------+------+------+------+------+------+------+------|
73 * | Del | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del | 80 * | Del | ! | @ | # | $ | % | ^ | & | * | ( | ) | £ |
74 * |------+------+------+------+------+-------------+------+------+------+------+------| 81 * |------+------+------+------+------+------+------+------+------+------+------+------|
75 * | | ~ | ` | + | = | | | \ | [ | ] | { | } | | 82 * | | ~ | ` | + | = | | | \ | [ | ] | { | } | |
76 * |------+------+------+------+------+------+------+------+------+------+------+------| 83 * |------+------+------+------+------+------+------+------+------+------+------+------|
77 * | | | | | | | | | | | | | 84 * | | | | | | | | | | | | |
78 * `-----------------------------------------------------------------------------------' 85 * `-----------------------------------------------------------------------------------'
79 */ 86 */
80[_SYMB] = { 87[_SYMB] = {
81 {KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_ESC }, 88 {KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, DASH },
82 {KC_DEL, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL }, 89 {KC_DEL, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, GBP },
83 {_______, KC_TILD, KC_GRV, KC_PLUS, KC_EQL, KC_PIPE, KC_BSLS, KC_LBRC, KC_RBRC, KC_LCBR, KC_RCBR, _______}, 90 {_______, KC_TILD, KC_GRV, KC_PLUS, KC_EQL, KC_PIPE, KC_BSLS, KC_LBRC, KC_RBRC, KC_LCBR, KC_RCBR, _______},
84 {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} 91 {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}
85}, 92},
86 93
94/* MOUSE
95 * ,-----------------------------------------------------------------------------------.
96 * | | | ACC-2| ACC-1| ACC-0| | | SW-L | M-U | SW-R | | |
97 * |------+------+------+------+------+------+------+------+------+------+------+------|
98 * | | | MB-3 | MB-2 | MB-1 | | | M-L | M-D | M-R | | |
99 * |------+------+------+------+------+------+------+------+------+------+------+------|
100 * | | | | | | | | SW-D | SW-U | | | |
101 * |------+------+------+------+------+------+------+------+------+------+------+------|
102 * | | | | | | | | | | | | |
103 * `-----------------------------------------------------------------------------------'
104 */
105[_MOUSE] = {
106 {XXXXXXX, XXXXXXX, KC_ACL2, KC_ACL1, KC_ACL0, XXXXXXX, XXXXXXX, KC_WH_L, KC_MS_U, KC_WH_R, XXXXXXX, XXXXXXX},
107 {XXXXXXX, XXXXXXX, KC_BTN3, KC_BTN2, KC_BTN1, XXXXXXX, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, XXXXXXX},
108 {_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_WH_D, KC_WH_U, XXXXXXX, XXXXXXX, _______},
109 {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}
110},
111
87/* FUNC 112/* FUNC
88 * ,-----------------------------------------------------------------------------------. 113 * ,-----------------------------------------------------------------------------------.
89 * | F12 | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | 114 * | Reset| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | Vol+ |
90 * |-----------------------------------------------------------------------------------.
91 * | | Play | Prev | Next | BL+ | | | Lock | | | | |
92 * |------+------+------+------+------+------|------+------+------+------+------+------|
93 * | | Mute | Vol- | Vol+ | BL- | | | | | | | |
94 * |------+------+------+------+------+------+------+------+------+------+------+------| 115 * |------+------+------+------+------+------+------+------+------+------+------+------|
95 * | | | | | | | | | | | |Reset | 116 * | | F11 | F12 | F13 | F14 | F15 | F16 | F17 | F18 | F19 | F20 | Vol- |
117 * |------+------+------+------+------+------+------+------+------+------+------+------|
118 * | | F21 | F22 | F23 | F24 | | | | | | | |
119 * |------+------+------+------+------+------+------+------+------+------+------+------|
120 * | | | | | Prev | Mute | Play | Next | | | | |
96 * `-----------------------------------------------------------------------------------' 121 * `-----------------------------------------------------------------------------------'
97 */ 122 */
98[_FUNC] = { 123[_FUNC] = {
99 {KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11 }, 124 {RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, VOLUP },
100 {_______, KC_MPLY, KC_MPRV, KC_MNXT, KC_PAUS, _______, _______, LOCK, _______, _______, _______, _______}, 125 {XXXXXXX, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, VOLDN },
101 {_______, KC_MUTE, KC_VOLD, KC_VOLU, KC_SLCK, _______, _______, _______, _______, _______, _______, _______}, 126 {_______, KC_F21, KC_F22, KC_F23, KC_F24, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______},
102 {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET } 127 {_______, _______, _______, _______, KC_MPRV, KC_MUTE, KC_MPLY, KC_MNXT, _______, _______, _______, _______}
103} 128}
104 129
105}; 130};
@@ -109,20 +134,20 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
109 case MOVE: 134 case MOVE:
110 if (record->event.pressed) { 135 if (record->event.pressed) {
111 layer_on(_MOVE); 136 layer_on(_MOVE);
112 update_tri_layer(_MOVE, _SYMB, _FUNC); 137 update_tri_layer(_MOVE, _SYMB, _MOUSE);
113 } else { 138 } else {
114 layer_off(_MOVE); 139 layer_off(_MOVE);
115 update_tri_layer(_MOVE, _SYMB, _FUNC); 140 update_tri_layer(_MOVE, _SYMB, _MOUSE);
116 } 141 }
117 return false; 142 return false;
118 break; 143 break;
119 case SYMB: 144 case SYMB:
120 if (record->event.pressed) { 145 if (record->event.pressed) {
121 layer_on(_SYMB); 146 layer_on(_SYMB);
122 update_tri_layer(_MOVE, _SYMB, _FUNC); 147 update_tri_layer(_MOVE, _SYMB, _MOUSE);
123 } else { 148 } else {
124 layer_off(_SYMB); 149 layer_off(_SYMB);
125 update_tri_layer(_MOVE, _SYMB, _FUNC); 150 update_tri_layer(_MOVE, _SYMB, _MOUSE);
126 } 151 }
127 return false; 152 return false;
128 break; 153 break;
@@ -134,15 +159,91 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
134 } 159 }
135 return false; 160 return false;
136 break; 161 break;
137 case LOCK: 162 case CMDLEFT:
163 if (record->event.pressed) {
164 register_code(KC_LGUI);
165 register_code(KC_LEFT);
166 } else {
167 unregister_code(KC_LEFT);
168 unregister_code(KC_LGUI);
169 }
170 return false;
171 break;
172 case CMDRGHT:
173 if (record->event.pressed) {
174 register_code(KC_LGUI);
175 register_code(KC_RGHT);
176 } else {
177 unregister_code(KC_RGHT);
178 unregister_code(KC_LGUI);
179 }
180 return false;
181 break;
182 case BELOW:
183 if (record->event.pressed) {
184 register_code(KC_LGUI);
185 register_code(KC_RGHT);
186 unregister_code(KC_RGHT);
187 unregister_code(KC_LGUI);
188 register_code(KC_ENT);
189 unregister_code(KC_ENT);
190 }
191 return false;
192 break;
193 case ABOVE:
194 if (record->event.pressed) {
195 register_code(KC_LGUI);
196 register_code(KC_LEFT);
197 unregister_code(KC_LEFT);
198 unregister_code(KC_LGUI);
199 register_code(KC_ENT);
200 unregister_code(KC_ENT);
201 register_code(KC_UP);
202 unregister_code(KC_UP);
203 }
204 return false;
205 break;
206 case DASH:
207 if (record->event.pressed) {
208 register_code(KC_LALT);
209 register_code(KC_MINS);
210 } else {
211 unregister_code(KC_MINS);
212 unregister_code(KC_LALT);
213 }
214 return false;
215 break;
216 case GBP:
217 if (record->event.pressed) {
218 register_code(KC_LALT);
219 register_code(KC_3);
220 } else {
221 unregister_code(KC_3);
222 unregister_code(KC_LALT);
223 }
224 return false;
225 break;
226 case VOLUP:
227 if (record->event.pressed) {
228 register_code(KC_LALT);
229 register_code(KC_LSFT);
230 register_code(KC_VOLU);
231 } else {
232 unregister_code(KC_VOLU);
233 unregister_code(KC_LSFT);
234 unregister_code(KC_LALT);
235 }
236 return false;
237 break;
238 case VOLDN:
138 if (record->event.pressed) { 239 if (record->event.pressed) {
139 register_code(KC_RSFT); 240 register_code(KC_LALT);
140 register_code(KC_RCTL); 241 register_code(KC_LSFT);
141 register_code(KC_POWER); 242 register_code(KC_VOLD);
142 } else { 243 } else {
143 unregister_code(KC_POWER); 244 unregister_code(KC_VOLD);
144 unregister_code(KC_RCTL); 245 unregister_code(KC_LSFT);
145 unregister_code(KC_RSFT); 246 unregister_code(KC_LALT);
146 } 247 }
147 return false; 248 return false;
148 break; 249 break;
diff --git a/keyboards/planck/keymaps/callum/readme.md b/keyboards/planck/keymaps/callum/readme.md
index b70de3f1e..b5997cd5a 100644
--- a/keyboards/planck/keymaps/callum/readme.md
+++ b/keyboards/planck/keymaps/callum/readme.md
@@ -2,42 +2,70 @@
2 2
3This is a layout for the grid planck, built with a few ideals in mind: 3This is a layout for the grid planck, built with a few ideals in mind:
4 4
5- Minimal response times should be maintained. i.e. keys that react differently depending on whether they are tapped or held, keys that react differently if they are double tapped, etc. should be avoided — they inevitably send their keycode later than a normal key, interrupting the immediate feedback from the screen. Therefore we restrict ourselves to chording. 5- Minimal response times should be maintained. Keys that react differently depending on whether they are tapped or held, keys that react differently if they are double tapped, etc. should be avoided – they inevitably send their keycode later than a normal key – interrupting the immediate feedback from the screen. Therefore we restrict ourselves to chording as our only means of getting more than one symbol out of a single physical key.
6- The hands should never need to leave the home position. The usual culprit for this is the arrow cluster, so the arrow cluster should be as close to home as possible. 6- The hands should never need to leave the home position. The usual culprit for this is the arrow cluster, so the arrow cluster should be as close to home as possible.
7- There should be two of every modifier (one on each side), otherwise certain long key combinations become hard to make. 7- There should be two of every modifier (one on each side), otherwise certain long key combinations become hard to make.
8- Backspace should be in the “capslock position” in the colemak tradition.
9 8
10We have four layers. A `BASE` layer, in colemak; a `MOVE` layer, with an arrow cluster etc, a `SYMB` layer, with numbers and symbols; and a `FUNC` layer, with function keys and media keys. 9We have five layers. A `BASE` layer, in colemak; a `MOVE` layer, with an arrow cluster and other movement keys; a `SYMB` layer, with numbers and symbols; a `FUNC` layer, with function keys and media keys; and a `MOUSE` layer, with mouse emulation.
11 10
12## The `BASE` layer 11```
13![](http://i.imgur.com/tVNI3SE.png) 12/* BASE
14 13 * ,-----------------------------------------------------------------------------------.
15This is the default layer; in [colemak](https://colemak.com). `esc` and `del` are conspicuously absent but are especially easy to reach from either of the other main layers (see below). The `backspace` location is standard colemak. The `caps` key is still on the `BASE` layer but only because I don’t really use the bottom corners so there’s nothing else I would rather put there. Having `enter` on a thumb means I can still have `quote` immediately to the right of `O`, something that would have annoyed me endlessly otherwise. `minus` is in the upper right because I had an extra space and it’s probably my next most used key that didn’t yet have a home. 14 * | Tab | Q | W | F | P | G | J | L | U | Y | ; | - |
16 15 * |------+------+------+------+------+------+------+------+------+------+------+------|
17The `MOVE` and `SYMB` layers are reached by holding down the `move` and `symb` keys respectively. The `FUNC` layer is reached by holding down both the `move` and `symb` keys simultaneously, *or* by holding down the `fn` key. The intended use is that whenever both hands are on the keyboard, the former method is used, and the latter is only used when, for example, reaching over to the keyboard with one hand to access the media controls. 16 * | Bksp | A | R | S | T | D | H | N | E | I | O | " |
18 17 * |------+------+------+------+------+------+------+------+------+------+------+------|
19## The `MOVE` layer 18 * | Shift| Z | X | C | V | B | K | M | , | . | / | Shift|
20![](http://i.imgur.com/KXRSuHT.png) 19 * |------+------+------+------+------+------+------+------+------+------+------+------|
21 20 * | Func | Ctrl | Alt | Cmd | Symb | Enter| Space| Move | Cmd | Alt | Ctrl | Func |
22This is fairly self explanatory. I almost exclusively use the right hand cluster so that movement is a one handed affair, but the left hand cluster is there if it’s needed. 21 * `-----------------------------------------------------------------------------------'
23 22 */
24On *macOS* I recommend using [Karabiner](https://pqrs.org/osx/karabiner/) and ticking *Use PC Style Home/End #2* and *Use PC Style PageUp/PageDown* so that `home` and `end` jump you to the beginning and end of the line respectively and so that `pg up` and `pg dn` move the cursor instead of just scrolling. 23
25 24/* MOVE
26None of the modifiers are overwritten so that `shift-alt-arrows` etc work as expected. 25 * ,-----------------------------------------------------------------------------------.
27 26 * | Esc | | Cmd-L| Up | Cmd-R| | | Cmd-L| Up | Cmd-R| | Esc |
28## The `SYMB` layer 27 * |------+------+------+------+------+------+------+------+------+------+------+------|
29![](http://i.imgur.com/thh1ne2.png) 28 * | Del | | Left | Down | Right| | | Left | Down | Right| | Del |
30 29 * |------+------+------+------+------+------+------+------+------+------+------+------|
31The symbol layer has all the numbers and their usual corresponding symbols in the first two rows, with the symbols on the home row since I use them more frequently than the numbers. The third row contains all the remaining symbols, arranged roughly so that the most used symbols are accessible with the strongest fingers. 30 * | | | | Pg Up| Pg Dn| Above| | Pg Dn| Pg Up| | Caps | |
32 31 * |------+------+------+------+------+------+------+------+------+------+------+------|
33`esc` and `del` are repeated here since I wanted to be able to reach either, one handed, with either hand. 32 * | | | | | | Below| | | | | | |
34 33 * `-----------------------------------------------------------------------------------'
35Again none of the modifiers are overwritten so that shortcuts involving numbers or symbols work as expected. 34 */
36 35
37## The `FUNC` layer 36/* SYMB
38![](http://i.imgur.com/1VKFBBU.png) 37 * ,-----------------------------------------------------------------------------------.
39 38 * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | – |
40The only things of note here are that `bl+` and `bl-` are short for *backlight up* and *backlight down*, and in firmware are actually `KC_PAUS` and `KC_SLCK` respectively, since *macOS* interprets these as the backlight keys. And that `lock` is currently a macro hard coded to turn off the screen on *macOS*. (By activating the shortcut `shift-ctrl-power`.) 39 * |------+------+------+------+------+------+------+------+------+------+------+------|
41 40 * | Del | ! | @ | # | $ | % | ^ | & | * | ( | ) | £ |
42## Other changes from the default 41 * |------+------+------+------+------+------+------+------+------+------+------+------|
43I have LEDs and sound disabled, simply because I have no need of them. 42 * | | ~ | ` | + | = | | | \ | [ | ] | { | } | |
43 * |------+------+------+------+------+------+------+------+------+------+------+------|
44 * | | | | | | | | | | | | |
45 * `-----------------------------------------------------------------------------------'
46 */
47
48/* MOUSE
49 * ,-----------------------------------------------------------------------------------.
50 * | | | ACC-2| ACC-1| ACC-0| | | SW-L | M-U | SW-R | | |
51 * |------+------+------+------+------+------+------+------+------+------+------+------|
52 * | | | MB-3 | MB-2 | MB-1 | | | M-L | M-D | M-R | | |
53 * |------+------+------+------+------+------+------+------+------+------+------+------|
54 * | | | | | | | | SW-D | SW-U | | | |
55 * |------+------+------+------+------+------+------+------+------+------+------+------|
56 * | | | | | | | | | | | | |
57 * `-----------------------------------------------------------------------------------'
58 */
59
60/* FUNC
61 * ,-----------------------------------------------------------------------------------.
62 * | Reset| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | Vol+ |
63 * |------+------+------+------+------+------+------+------+------+------+------+------|
64 * | | F11 | F12 | F13 | F14 | F15 | F16 | F17 | F18 | F19 | F20 | Vol- |
65 * |------+------+------+------+------+------+------+------+------+------+------+------|
66 * | | F21 | F22 | F23 | F24 | | | | | | | |
67 * |------+------+------+------+------+------+------+------+------+------+------+------|
68 * | | | | | Prev | Mute | Play | Next | | | | |
69 * `-----------------------------------------------------------------------------------'
70 */
71```