aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCallum Oakley <c.oakley108@gmail.com>2016-09-29 07:47:30 +0100
committerCallum Oakley <c.oakley108@gmail.com>2016-09-29 07:47:30 +0100
commitce57b94908e4fb5a66190dc2a093c165aa4400f0 (patch)
tree70e27a2ac56b8ddbda001b409b96752d1fe5b741
parent8fa41f1ca1b35e4d0535bc643082ff4197b27f2d (diff)
downloadqmk_firmware-ce57b94908e4fb5a66190dc2a093c165aa4400f0.tar.gz
qmk_firmware-ce57b94908e4fb5a66190dc2a093c165aa4400f0.zip
added en-dash and gbp keys and updated readme
-rw-r--r--keyboards/planck/keymaps/callum/keymap.c38
-rw-r--r--keyboards/planck/keymaps/callum/readme.md149
2 files changed, 91 insertions, 96 deletions
diff --git a/keyboards/planck/keymaps/callum/keymap.c b/keyboards/planck/keymaps/callum/keymap.c
index 38c362fcb..82ba83f4e 100644
--- a/keyboards/planck/keymaps/callum/keymap.c
+++ b/keyboards/planck/keymaps/callum/keymap.c
@@ -25,6 +25,8 @@ enum planck_keycodes {
25 CMDRGHT, 25 CMDRGHT,
26 BELOW, 26 BELOW,
27 ABOVE, 27 ABOVE,
28 DASH,
29 GBP,
28 VOLUP, 30 VOLUP,
29 VOLDN 31 VOLDN
30}; 32};
@@ -55,7 +57,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
55 57
56/* MOVE 58/* MOVE
57 * ,-----------------------------------------------------------------------------------. 59 * ,-----------------------------------------------------------------------------------.
58 * | Esc | | Home | Up | End | | | Home | Up | End | | Esc | 60 * | Esc | | Cmd-L| Up | Cmd-R| | | Cmd-L| Up | Cmd-R| | Esc |
59 * |------+------+------+------+------+------+------+------+------+------+------+------| 61 * |------+------+------+------+------+------+------+------+------+------+------+------|
60 * | Del | | Left | Down | Right| | | Left | Down | Right| | Del | 62 * | Del | | Left | Down | Right| | | Left | Down | Right| | Del |
61 * |------+------+------+------+------+------+------+------+------+------+------+------| 63 * |------+------+------+------+------+------+------+------+------+------+------+------|
@@ -73,9 +75,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
73 75
74/* SYMB 76/* SYMB
75 * ,-----------------------------------------------------------------------------------. 77 * ,-----------------------------------------------------------------------------------.
76 * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Esc | 78 * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | |
77 * |------+------+------+------+------+------+------+------+------+------+------+------| 79 * |------+------+------+------+------+------+------+------+------+------+------+------|
78 * | Del | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del | 80 * | Del | ! | @ | # | $ | % | ^ | & | * | ( | ) | £ |
79 * |------+------+------+------+------+------+------+------+------+------+------+------| 81 * |------+------+------+------+------+------+------+------+------+------+------+------|
80 * | | ~ | ` | + | = | | | \ | [ | ] | { | } | | 82 * | | ~ | ` | + | = | | | \ | [ | ] | { | } | |
81 * |------+------+------+------+------+------+------+------+------+------+------+------| 83 * |------+------+------+------+------+------+------+------+------+------+------+------|
@@ -83,19 +85,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
83 * `-----------------------------------------------------------------------------------' 85 * `-----------------------------------------------------------------------------------'
84 */ 86 */
85[_SYMB] = { 87[_SYMB] = {
86 {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 },
87 {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 },
88 {_______, 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, _______},
89 {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} 91 {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}
90}, 92},
91 93
92/* MOUSE 94/* MOUSE
93 * ,-----------------------------------------------------------------------------------. 95 * ,-----------------------------------------------------------------------------------.
94 * | | | | | | | | | | | | | 96 * | | | ACC-2| ACC-1| ACC-0| | | SW-L | M-U | SW-R | | |
95 * |------+------+------+------+------+------+------+------+------+------+------+------| 97 * |------+------+------+------+------+------+------+------+------+------+------+------|
96 * | | | | | | | | | | | | | 98 * | | | MB-3 | MB-2 | MB-1 | | | M-L | M-D | M-R | | |
97 * |------+------+------+------+------+------+------+------+------+------+------+------| 99 * |------+------+------+------+------+------+------+------+------+------+------+------|
98 * | | | | | | | | | | | | | 100 * | | | | | | | | SW-D | SW-U | | | |
99 * |------+------+------+------+------+------+------+------+------+------+------+------| 101 * |------+------+------+------+------+------+------+------+------+------+------+------|
100 * | | | | | | | | | | | | | 102 * | | | | | | | | | | | | |
101 * `-----------------------------------------------------------------------------------' 103 * `-----------------------------------------------------------------------------------'
@@ -201,6 +203,26 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
201 } 203 }
202 return false; 204 return false;
203 break; 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;
204 case VOLUP: 226 case VOLUP:
205 if (record->event.pressed) { 227 if (record->event.pressed) {
206 register_code(KC_LALT); 228 register_code(KC_LALT);
diff --git a/keyboards/planck/keymaps/callum/readme.md b/keyboards/planck/keymaps/callum/readme.md
index 7a771130a..b5997cd5a 100644
--- a/keyboards/planck/keymaps/callum/readme.md
+++ b/keyboards/planck/keymaps/callum/readme.md
@@ -2,97 +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- The keyboard should be usable on any operating system without software changes. For me this means being able to swap the `GUI` key and `Ctrl` key in firmware so that `Cmd-z,x,c,v,…` becomes `Ctrl-z,x,c,v,…` when swapping from macOS to Windows.
10 8
11We have four layers. A `BASE` layer (which is either `BASE Mac` or `BASE Windows`), 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.
12 10
13## The `BASE` layer
14For Mac
15``` 11```
16,-----------------------------------------------------------------------------------. 12/* BASE
17| Tab | Q | W | F | P | G | J | L | U | Y | ; | - | 13 * ,-----------------------------------------------------------------------------------.
18|------+------+------+------+------+------+------+------+------+------+------+------| 14 * | Tab | Q | W | F | P | G | J | L | U | Y | ; | - |
19| Bksp | A | R | S | T | D | H | N | E | I | O | " | 15 * |------+------+------+------+------+------+------+------+------+------+------+------|
20|------+------+------+------+------+------+------+------+------+------+------+------| 16 * | Bksp | A | R | S | T | D | H | N | E | I | O | " |
21| Shift| Z | X | C | V | B | K | M | , | . | / | Shift| 17 * |------+------+------+------+------+------+------+------+------+------+------+------|
22|------+------+------+------+------+------+------+------+------+------+------+------| 18 * | Shift| Z | X | C | V | B | K | M | , | . | / | Shift|
23| Func | Ctrl | Alt | Cmd | Symb | Enter| Space| Move | Cmd | Alt | Ctrl | Caps | 19 * |------+------+------+------+------+------+------+------+------+------+------+------|
24`-----------------------------------------------------------------------------------' 20 * | Func | Ctrl | Alt | Cmd | Symb | Enter| Space| Move | Cmd | Alt | Ctrl | Func |
21 * `-----------------------------------------------------------------------------------'
22 */
23
24/* MOVE
25 * ,-----------------------------------------------------------------------------------.
26 * | Esc | | Cmd-L| Up | Cmd-R| | | Cmd-L| Up | Cmd-R| | Esc |
27 * |------+------+------+------+------+------+------+------+------+------+------+------|
28 * | Del | | Left | Down | Right| | | Left | Down | Right| | Del |
29 * |------+------+------+------+------+------+------+------+------+------+------+------|
30 * | | | | Pg Up| Pg Dn| Above| | Pg Dn| Pg Up| | Caps | |
31 * |------+------+------+------+------+------+------+------+------+------+------+------|
32 * | | | | | | Below| | | | | | |
33 * `-----------------------------------------------------------------------------------'
34 */
35
36/* SYMB
37 * ,-----------------------------------------------------------------------------------.
38 * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | – |
39 * |------+------+------+------+------+------+------+------+------+------+------+------|
40 * | Del | ! | @ | # | $ | % | ^ | & | * | ( | ) | £ |
41 * |------+------+------+------+------+------+------+------+------+------+------+------|
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 */
25``` 71```
26
27For Windows
28```
29,-----------------------------------------------------------------------------------.
30| Tab | Q | W | F | P | G | J | L | U | Y | ; | - |
31|------+------+------+------+------+------+------+------+------+------+------+------|
32| Bksp | A | R | S | T | D | H | N | E | I | O | " |
33|------+------+------+------+------+------+------+------+------+------+------+------|
34| Shift| Z | X | C | V | B | K | M | , | . | / | Shift|
35|------+------+------+------+------+------+------+------+------+------+------+------|
36| Func | Win | Alt | Ctrl | Symb | Enter| Space| Move | Ctrl | Alt | Win | Caps |
37`-----------------------------------------------------------------------------------'
38```
39
40One of the two above layers is set as the default layer at any one time; see `FUNC`. The basic layout is [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.
41
42The `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.
43
44## The `MOVE` layer
45```
46,-----------------------------------------------------------------------------------.
47| Esc | | Home | Up | End | | | Home | Up | End | | Esc |
48|------+------+------+------+------+------+------+------+------+------+------+------|
49| Del | | Left | Down | Right| | | Left | Down | Right| | Del |
50|------+------+------+------+------+------+------+------+------+------+------+------|
51| | | | Pg Up| Pg Dn| | | Pg Dn| Pg Up| | | |
52|------+------+------+------+------+------+------+------+------+------+------+------|
53| | | | | | | | | | | | |
54`-----------------------------------------------------------------------------------'
55```
56
57This 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.
58
59On *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.
60
61None of the modifiers are overwritten so that `shift-alt-arrows` etc work as expected.
62
63## The `SYMB` layer
64```
65,-----------------------------------------------------------------------------------.
66| Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Esc |
67|------+------+------+------+------+------+------+------+------+------+------+------|
68| Del | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del |
69|------+------+------+------+------+------+------+------+------+------+------+------|
70| | ~ | ` | + | = | | | \ | [ | ] | { | } | |
71|------+------+------+------+------+------+------+------+------+------+------+------|
72| | | | | | | | | | | | |
73`-----------------------------------------------------------------------------------'
74```
75
76The 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.
77
78`Esc` and `Del` are repeated here since I wanted to be able to reach either, one handed, with either hand.
79
80Again none of the modifiers are overwritten so that shortcuts involving numbers or symbols work as expected.
81
82## The `FUNC` layer
83```
84,-----------------------------------------------------------------------------------.
85| F12 | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 |
86|------+------+------+------+------+------+------+------+------+------+------+------|
87| | Play | Prev | Next | BL+ | | | Lock | | | Mac | |
88|------+------+------+------+------+------+------+------+------+------+------+------|
89| | Mute | Vol- | Vol+ | BL- | | | Close| | | Win | |
90|------+------+------+------+------+------+------+------+------+------+------+------|
91| | | | | | | | | | | | Reset|
92`-----------------------------------------------------------------------------------'
93```
94
95`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. `Lock` is currently a macro hard coded to turn off the screen on *macOS*. (By activating the shortcut `shift-ctrl-power`.) `Close` sends `alt-f4` to make that shortcut easier to reach. `Mac` and `Win` set the default layer to the Mac and Windows `BASE` layers respecitevly.
96
97## Other changes from the default
98I have LEDs and sound disabled, simply because I have no need of them.