aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keyboards/planck/keymaps/callum/keymap.c46
-rw-r--r--keyboards/planck/keymaps/callum/readme.md47
2 files changed, 56 insertions, 37 deletions
diff --git a/keyboards/planck/keymaps/callum/keymap.c b/keyboards/planck/keymaps/callum/keymap.c
index 09063cb97..98417a1c8 100644
--- a/keyboards/planck/keymaps/callum/keymap.c
+++ b/keyboards/planck/keymaps/callum/keymap.c
@@ -10,10 +10,14 @@ extern keymap_config_t keymap_config;
10#define _BASE 0 10#define _BASE 0
11#define _MOVE 1 11#define _MOVE 1
12#define _SYMB 2 12#define _SYMB 2
13#define _MOUSE 3 13#define _MORE 3
14#define _FUNC 4 14#define _FUNC 4
15#define ENDASH LALT(KC_MINS) 15#define ENDASH LALT(KC_MINS)
16#define POUND LALT(KC_3) 16#define POUND LALT(KC_3)
17#define LDQUOT LALT(KC_LBRC)
18#define RDQUOT LALT(S(KC_LBRC))
19#define LSQUOT LALT(KC_RBRC)
20#define RSQUOT LALT(S(KC_RBRC))
17#define H(X) LALT(LCTL(X)) 21#define H(X) LALT(LCTL(X))
18 22
19enum planck_keycodes { 23enum planck_keycodes {
@@ -30,9 +34,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
30 34
31/* BASE 35/* BASE
32 * ,-----------------------------------------------------------------------------------. 36 * ,-----------------------------------------------------------------------------------.
33 * | Tab | Q | W | F | P | G | J | L | U | Y | ; | - | 37 * | Tab | Q | W | F | P | G | J | L | U | Y | ; | - |
34 * |------+------+------+------+------+------+------+------+------+------+------+------| 38 * |------+------+------+------+------+------+------+------+------+------+------+------|
35 * | Bksp | A | R | S | T | D | H | N | E | I | O | " | 39 * | Bksp | A | R | S | T | D | H | N | E | I | O | ' |
36 * |------+------+------+------+------+------+------+------+------+------+------+------| 40 * |------+------+------+------+------+------+------+------+------+------+------+------|
37 * | Shift| Z | X | C | V | B | K | M | , | . | / | Shift| 41 * | Shift| Z | X | C | V | B | K | M | , | . | / | Shift|
38 * |------+------+------+------+------+------+------+------+------+------+------+------| 42 * |------+------+------+------+------+------+------+------+------+------+------+------|
@@ -68,7 +72,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
68 * ,-----------------------------------------------------------------------------------. 72 * ,-----------------------------------------------------------------------------------.
69 * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | – | 73 * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | – |
70 * |------+------+------+------+------+------+------+------+------+------+------+------| 74 * |------+------+------+------+------+------+------+------+------+------+------+------|
71 * | Del | ! | @ | # | $ | % | ^ | & | * | ( | ) | £ | 75 * | Del | ! | @ | # | $ | % | ^ | & | * | ( | ) | |
72 * |------+------+------+------+------+------+------+------+------+------+------+------| 76 * |------+------+------+------+------+------+------+------+------+------+------+------|
73 * | | ~ | ` | + | = | | | \ | [ | ] | { | } | | 77 * | | ~ | ` | + | = | | | \ | [ | ] | { | } | |
74 * |------+------+------+------+------+------+------+------+------+------+------+------| 78 * |------+------+------+------+------+------+------+------+------+------+------+------|
@@ -77,26 +81,26 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
77 */ 81 */
78[_SYMB] = { 82[_SYMB] = {
79 {KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, ENDASH }, 83 {KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, ENDASH },
80 {KC_DEL, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, POUND }, 84 {KC_DEL, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, RSQUOT },
81 {_______, KC_TILD, KC_GRV, KC_PLUS, KC_EQL, KC_PIPE, KC_BSLS, KC_LBRC, KC_RBRC, KC_LCBR, KC_RCBR, _______}, 85 {_______, KC_TILD, KC_GRV, KC_PLUS, KC_EQL, KC_PIPE, KC_BSLS, KC_LBRC, KC_RBRC, KC_LCBR, KC_RCBR, _______},
82 {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} 86 {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}
83}, 87},
84 88
85/* MOUSE 89/* MORE
86 * ,-----------------------------------------------------------------------------------. 90 * ,-----------------------------------------------------------------------------------.
87 * | | | ACC-2| ACC-1| ACC-0| | | SW-L | M-U | SW-R | | | 91 * | | | | | | | | | | | | |
88 * |------+------+------+------+------+------+------+------+------+------+------+------| 92 * |------+------+------+------+------+------+------+------+------+------+------+------|
89 * | | | MB-3 | MB-2 | MB-1 | | | M-L | M-D | M-R | | | 93 * | | | | | £ | | | | | | | |
90 * |------+------+------+------+------+------+------+------+------+------+------+------| 94 * |------+------+------+------+------+------+------+------+------+------+------+------|
91 * | | | | | | | | SW-D | SW-U | | | | 95 * | | | | | | | | | | | | |
92 * |------+------+------+------+------+------+------+------+------+------+------+------| 96 * |------+------+------+------+------+------+------+------+------+------+------+------|
93 * | | | | | | | | | | | | | 97 * | | | | | | | | | | | | |
94 * `-----------------------------------------------------------------------------------' 98 * `-----------------------------------------------------------------------------------'
95 */ 99 */
96[_MOUSE] = { 100[_MORE] = {
97 {XXXXXXX, XXXXXXX, KC_ACL2, KC_ACL1, KC_ACL0, XXXXXXX, XXXXXXX, KC_WH_L, KC_MS_U, KC_WH_R, XXXXXXX, XXXXXXX}, 101 {XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX},
98 {XXXXXXX, XXXXXXX, KC_BTN3, KC_BTN2, KC_BTN1, XXXXXXX, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, XXXXXXX}, 102 {XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, POUND, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX},
99 {_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_WH_D, KC_WH_U, XXXXXXX, XXXXXXX, _______}, 103 {_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, LDQUOT, RDQUOT, LSQUOT, RSQUOT, _______},
100 {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} 104 {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}
101}, 105},
102 106
@@ -104,17 +108,17 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
104 * ,-----------------------------------------------------------------------------------. 108 * ,-----------------------------------------------------------------------------------.
105 * | Reset| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | Vol+ | 109 * | Reset| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | Vol+ |
106 * |------+------+------+------+------+------+------+------+------+------+------+------| 110 * |------+------+------+------+------+------+------+------+------+------+------+------|
107 * | | F11 | F12 | F13 | F14 | F15 | F16 | F17 | F18 | F19 | F20 | Vol- | 111 * | Power| F11 | F12 | F13 | F14 | F15 | F16 | F17 | F18 | F19 | F20 | Vol- |
108 * |------+------+------+------+------+------+------+------+------+------+------+------| 112 * |------+------+------+------+------+------+------+------+------+------+------+------|
109 * | | F21 | F22 | F23 | F24 | | | Power| | | | | 113 * | | F21 | F22 | F23 | F24 | | | | | | | |
110 * |------+------+------+------+------+------+------+------+------+------+------+------| 114 * |------+------+------+------+------+------+------+------+------+------+------+------|
111 * | | | | | Prev | Mute | Play | Next | | | | | 115 * | | | | | Prev | Mute | Play | Next | | | | |
112 * `-----------------------------------------------------------------------------------' 116 * `-----------------------------------------------------------------------------------'
113 */ 117 */
114[_FUNC] = { 118[_FUNC] = {
115 {RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_VOLU}, 119 {RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_VOLU},
116 {XXXXXXX, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_VOLD}, 120 {KC_POWER,KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_VOLD},
117 {_______, KC_F21, KC_F22, KC_F23, KC_F24, XXXXXXX, XXXXXXX, KC_POWER,XXXXXXX, XXXXXXX, XXXXXXX, _______}, 121 {_______, KC_F21, KC_F22, KC_F23, KC_F24, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______},
118 {_______, _______, _______, _______, KC_MPRV, KC_MUTE, KC_MPLY, KC_MNXT, _______, _______, _______, _______} 122 {_______, _______, _______, _______, KC_MPRV, KC_MUTE, KC_MPLY, KC_MNXT, _______, _______, _______, _______}
119} 123}
120 124
@@ -125,20 +129,20 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
125 case MOVE: 129 case MOVE:
126 if (record->event.pressed) { 130 if (record->event.pressed) {
127 layer_on(_MOVE); 131 layer_on(_MOVE);
128 update_tri_layer(_MOVE, _SYMB, _MOUSE); 132 update_tri_layer(_MOVE, _SYMB, _MORE);
129 } else { 133 } else {
130 layer_off(_MOVE); 134 layer_off(_MOVE);
131 update_tri_layer(_MOVE, _SYMB, _MOUSE); 135 update_tri_layer(_MOVE, _SYMB, _MORE);
132 } 136 }
133 return false; 137 return false;
134 break; 138 break;
135 case SYMB: 139 case SYMB:
136 if (record->event.pressed) { 140 if (record->event.pressed) {
137 layer_on(_SYMB); 141 layer_on(_SYMB);
138 update_tri_layer(_MOVE, _SYMB, _MOUSE); 142 update_tri_layer(_MOVE, _SYMB, _MORE);
139 } else { 143 } else {
140 layer_off(_SYMB); 144 layer_off(_SYMB);
141 update_tri_layer(_MOVE, _SYMB, _MOUSE); 145 update_tri_layer(_MOVE, _SYMB, _MORE);
142 } 146 }
143 return false; 147 return false;
144 break; 148 break;
diff --git a/keyboards/planck/keymaps/callum/readme.md b/keyboards/planck/keymaps/callum/readme.md
index 4d4e5cdd7..d5a689b8f 100644
--- a/keyboards/planck/keymaps/callum/readme.md
+++ b/keyboards/planck/keymaps/callum/readme.md
@@ -2,18 +2,33 @@
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- Consistent and 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. 5- Consistent and minimal response times should be maintained. Keys that react
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 differently depending on whether they are tapped or held, keys that react
7- There should be two of every modifier (one on each side), otherwise certain long key combinations become hard to make. 7 differently if they are double tapped, etc. should be avoided – they
8 inevitably send their keycode later than a normal key – interrupting the
9 immediate feedback from the screen. Therefore we restrict ourselves to
10 chording as our only means of getting more than one symbol out of a single
11 physical key.
8 12
9We have five layers. A `BASE` layer, in colemak; a `MOVE` layer, with an arrow cluster, other movement keys, and hotkeys; a `SYMB` layer, with numbers and symbols; a `FUNC` layer, with function keys and media keys; and a `MOUSE` layer, with mouse emulation. The `MOUSE` layer is activated by holding the Move and Symb keys simultaniously. 13- The hands should never need to leave the home position. The usual culprit for
14 this is the arrow cluster, so the arrow cluster should be as close to home as
15 possible.
16
17- There should be two of every modifier (one on each side), otherwise certain
18 long key combinations become hard to make.
19
20We have five layers. A `BASE` layer, in colemak; a `MOVE` layer, with an arrow
21cluster, other movement keys, and hotkeys; a `SYMB` layer, with numbers and
22symbols; a `FUNC` layer, with function keys and media keys; and a `MORE` layer,
23with stuff that doesn’t fit anywhere else. The `MORE` layer is activated by
24holding the Move and Symb keys simultaniously.
10 25
11``` 26```
12/* BASE 27/* BASE
13 * ,-----------------------------------------------------------------------------------. 28 * ,-----------------------------------------------------------------------------------.
14 * | Tab | Q | W | F | P | G | J | L | U | Y | ; | - | 29 * | Tab | Q | W | F | P | G | J | L | U | Y | ; | - |
15 * |------+------+------+------+------+------+------+------+------+------+------+------| 30 * |------+------+------+------+------+------+------+------+------+------+------+------|
16 * | Bksp | A | R | S | T | D | H | N | E | I | O | " | 31 * | Bksp | A | R | S | T | D | H | N | E | I | O | ' |
17 * |------+------+------+------+------+------+------+------+------+------+------+------| 32 * |------+------+------+------+------+------+------+------+------+------+------+------|
18 * | Shift| Z | X | C | V | B | K | M | , | . | / | Shift| 33 * | Shift| Z | X | C | V | B | K | M | , | . | / | Shift|
19 * |------+------+------+------+------+------+------+------+------+------+------+------| 34 * |------+------+------+------+------+------+------+------+------+------+------+------|
@@ -23,11 +38,11 @@ We have five layers. A `BASE` layer, in colemak; a `MOVE` layer, with an arrow c
23 38
24/* MOVE 39/* MOVE
25 * ,-----------------------------------------------------------------------------------. 40 * ,-----------------------------------------------------------------------------------.
26 * | H(3) | H(F1)| H(F2)| H(F3)| H(F4)| H(F5)| H(8) | Home | Up | End | H(7) | Esc | 41 * | H(F7)| H(F8)| H(6) | H(5) | H(4) | H(F9)|H(F10)| Home | Up | End | H(A) | Esc |
27 * |------+------+------+------+------+------+------+------+------+------+------+------| 42 * |------+------+------+------+------+------+------+------+------+------+------+------|
28 * | H(4) | H(F6)| H(F7)| H(F8)| H(F9)|H(F10)| H(9) | Left | Down | Right| Caps | Del | 43 * | H(F3)| H(F4)| H(3) | H(2) | H(1) | H(F5)| H(F6)| Left | Down | Right| Caps | Del |
29 * |------+------+------+------+------+------+------+------+------+------+------+------| 44 * |------+------+------+------+------+------+------+------+------+------+------+------|
30 * | |H(F11)|H(F12)| H(0) | H(1) | H(2) | H(A) | Pg Dn| Pg Up| H(5) | H(6) | | 45 * | | H(0) | H(9) | H(8) | H(7) | H(F1)| H(F2)| Pg Dn| Pg Up|H(F11)|H(F12)| |
31 * |------+------+------+------+------+------+------+------+------+------+------+------| 46 * |------+------+------+------+------+------+------+------+------+------+------+------|
32 * | | | | | | | | | | | | | 47 * | | | | | | | | | | | | |
33 * `-----------------------------------------------------------------------------------' 48 * `-----------------------------------------------------------------------------------'
@@ -37,7 +52,7 @@ We have five layers. A `BASE` layer, in colemak; a `MOVE` layer, with an arrow c
37 * ,-----------------------------------------------------------------------------------. 52 * ,-----------------------------------------------------------------------------------.
38 * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | – | 53 * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | – |
39 * |------+------+------+------+------+------+------+------+------+------+------+------| 54 * |------+------+------+------+------+------+------+------+------+------+------+------|
40 * | Del | ! | @ | # | $ | % | ^ | & | * | ( | ) | £ | 55 * | Del | ! | @ | # | $ | % | ^ | & | * | ( | ) | |
41 * |------+------+------+------+------+------+------+------+------+------+------+------| 56 * |------+------+------+------+------+------+------+------+------+------+------+------|
42 * | | ~ | ` | + | = | | | \ | [ | ] | { | } | | 57 * | | ~ | ` | + | = | | | \ | [ | ] | { | } | |
43 * |------+------+------+------+------+------+------+------+------+------+------+------| 58 * |------+------+------+------+------+------+------+------+------+------+------+------|
@@ -45,13 +60,13 @@ We have five layers. A `BASE` layer, in colemak; a `MOVE` layer, with an arrow c
45 * `-----------------------------------------------------------------------------------' 60 * `-----------------------------------------------------------------------------------'
46 */ 61 */
47 62
48/* MOUSE 63/* MORE
49 * ,-----------------------------------------------------------------------------------. 64 * ,-----------------------------------------------------------------------------------.
50 * | | | ACC-2| ACC-1| ACC-0| | | SW-L | M-U | SW-R | | | 65 * | | | | | | | | | | | | |
51 * |------+------+------+------+------+------+------+------+------+------+------+------| 66 * |------+------+------+------+------+------+------+------+------+------+------+------|
52 * | | | MB-3 | MB-2 | MB-1 | | | M-L | M-D | M-R | | | 67 * | | | | | £ | | | | | | | |
53 * |------+------+------+------+------+------+------+------+------+------+------+------| 68 * |------+------+------+------+------+------+------+------+------+------+------+------|
54 * | | | | | | | | SW-D | SW-U | | | | 69 * | | | | | | | | | | | | |
55 * |------+------+------+------+------+------+------+------+------+------+------+------| 70 * |------+------+------+------+------+------+------+------+------+------+------+------|
56 * | | | | | | | | | | | | | 71 * | | | | | | | | | | | | |
57 * `-----------------------------------------------------------------------------------' 72 * `-----------------------------------------------------------------------------------'
@@ -61,9 +76,9 @@ We have five layers. A `BASE` layer, in colemak; a `MOVE` layer, with an arrow c
61 * ,-----------------------------------------------------------------------------------. 76 * ,-----------------------------------------------------------------------------------.
62 * | Reset| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | Vol+ | 77 * | Reset| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | Vol+ |
63 * |------+------+------+------+------+------+------+------+------+------+------+------| 78 * |------+------+------+------+------+------+------+------+------+------+------+------|
64 * | | F11 | F12 | F13 | F14 | F15 | F16 | F17 | F18 | F19 | F20 | Vol- | 79 * | Power| F11 | F12 | F13 | F14 | F15 | F16 | F17 | F18 | F19 | F20 | Vol- |
65 * |------+------+------+------+------+------+------+------+------+------+------+------| 80 * |------+------+------+------+------+------+------+------+------+------+------+------|
66 * | | F21 | F22 | F23 | F24 | | | Power| | | | | 81 * | | F21 | F22 | F23 | F24 | | | | | | | |
67 * |------+------+------+------+------+------+------+------+------+------+------+------| 82 * |------+------+------+------+------+------+------+------+------+------+------+------|
68 * | | | | | Prev | Mute | Play | Next | | | | | 83 * | | | | | Prev | Mute | Play | Next | | | | |
69 * `-----------------------------------------------------------------------------------' 84 * `-----------------------------------------------------------------------------------'