aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean Hunter <sean@uncarved.com>2017-09-13 22:47:48 +0100
committerJack Humbert <jack.humb@gmail.com>2017-09-13 17:47:48 -0400
commitcf001300b31ead107179f0b56014326bb87537be (patch)
tree702bf491d897b5fe74024b1491aca8be4f97af13
parent63028dde82bcb47ea3fe960d94821cb88d277e0c (diff)
downloadqmk_firmware-cf001300b31ead107179f0b56014326bb87537be.tar.gz
qmk_firmware-cf001300b31ead107179f0b56014326bb87537be.zip
[planck] Adds Sean Hunter keymap(#1706)
* Sean Hunter initial keymap * Update old map to sync it up with new one * Add TODO fix a few minor things * small doc fixes * Minor fixups
-rw-r--r--keyboards/planck/keymaps/sean/Makefile4
-rw-r--r--keyboards/planck/keymaps/sean/config.h29
-rw-r--r--keyboards/planck/keymaps/sean/keymap.c306
-rw-r--r--keyboards/planck/keymaps/sean/mymappings.h39
-rw-r--r--keyboards/planck/keymaps/sean/readme.md130
-rw-r--r--keyboards/planck/old_keymap_files/common_keymaps/keymap_sean.c131
6 files changed, 599 insertions, 40 deletions
diff --git a/keyboards/planck/keymaps/sean/Makefile b/keyboards/planck/keymaps/sean/Makefile
new file mode 100644
index 000000000..09b127dc0
--- /dev/null
+++ b/keyboards/planck/keymaps/sean/Makefile
@@ -0,0 +1,4 @@
1ifndef QUANTUM_DIR
2 include ../../../../Makefile
3endif
4MOUSEKEY_ENABLE = yes
diff --git a/keyboards/planck/keymaps/sean/config.h b/keyboards/planck/keymaps/sean/config.h
new file mode 100644
index 000000000..4c6158199
--- /dev/null
+++ b/keyboards/planck/keymaps/sean/config.h
@@ -0,0 +1,29 @@
1#ifndef CONFIG_USER_H
2#define CONFIG_USER_H
3
4#include "../../config.h"
5
6/*
7 * MIDI options
8 */
9
10/* Prevent use of disabled MIDI features in the keymap */
11//#define MIDI_ENABLE_STRICT 1
12
13/* enable basic MIDI features:
14 - MIDI notes can be sent when in Music mode is on
15*/
16#define MIDI_BASIC
17
18/* enable advanced MIDI features:
19 - MIDI notes can be added to the keymap
20 - Octave shift and transpose
21 - Virtual sustain, portamento, and modulation wheel
22 - etc.
23*/
24//#define MIDI_ADVANCED
25
26/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
27//#define MIDI_TONE_KEYCODE_OCTAVES 2
28
29#endif \ No newline at end of file
diff --git a/keyboards/planck/keymaps/sean/keymap.c b/keyboards/planck/keymaps/sean/keymap.c
new file mode 100644
index 000000000..d61d802b0
--- /dev/null
+++ b/keyboards/planck/keymaps/sean/keymap.c
@@ -0,0 +1,306 @@
1// This is Sean Hunter's keymap file, customized from the canonical layout file for the Quantum project.
2// If you want to add another keyboard, that is the style you want to emulate.
3
4#include "planck.h"
5#include "action_layer.h"
6#include "eeconfig.h"
7#include "mymappings.h"
8
9extern keymap_config_t keymap_config;
10
11// Each layer gets a name for readability, which is then used in the keymap matrix below.
12
13enum planck_layers {
14 _DVRK,
15 _LOWER,
16 _RAISE,
17 _SDRK,
18 _SLWER,
19 _SRAIS,
20 _NMPD,
21 _MVMT,
22 _ADJUST
23};
24
25enum planck_keycodes {
26 DVRK = SAFE_RANGE,
27 LOWER,
28 RAISE,
29 SDRK,
30 SLWER,
31 SRAIS,
32 BACKLIT,
33 BACKTOG,
34 CUT,
35 COPY,
36 PASTE
37};
38
39const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
40
41/* Dvorak
42 * ,-----------------------------------------------------------------------------------.
43 * | " | , | . | P | Y | / | = | F | G | C | R | L |
44 * |------+------+------+------+------+------+------+------+------+------+------+------|
45 * | A | O | E | U | I | ESC | BSPC | D | H | T | N | S |
46 * |------+------+------+------+------+------+------+------+------+------+------+------|
47 * | ; | Q | J | K | X | TAB | ENT | B | M | W | V | Z |
48 * |------+------+------+------+------+------+------+------+------+------+------+------|
49 * | Sft | Ctl | Alt | Gui |Lower | Space |Raise | < | v | ^ | > |
50 * `-----------------------------------------------------------------------------------'
51 */
52[_DVRK] = {
53 {KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_SLSH, KC_EQL, KC_F, KC_G, KC_C, KC_R, KC_L},
54 {KC_A, KC_O, KC_E, KC_U, KC_I, KC_ESC, KC_BSPC, KC_D, KC_H, KC_T, KC_N, KC_S},
55 {KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_TAB, KC_ENT, KC_B, KC_M, KC_W, KC_V, KC_Z},
56 {KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT}
57},
58
59
60/* Lower
61 * ,-----------------------------------------------------------------------------------.
62 * | F1 | F2 | F3 | F4 | F5 | { | } | F6 | F7 | F8 | F9 | F10 |
63 * |------+------+------+------+------+-------------+------+------+------+------+------|
64 * | 1 | 2 | 3 | 4 | 5 | [ | ] | 6 | 7 | 8 | 9 | 0 |
65 * |------+------+------+------+------+------|------+------+------+------+------+------|
66 * | ~ | | | ` | - | _ | INS | DEL | ( | ) | + | = | \ |
67 * |------+------+------+------+------+------+------+------+------+------+------+------|
68 * | Sft | Ctl | Alt | Gui |Lower | |Raise | Home | PgDn | PgUp | End |
69 * `-----------------------------------------------------------------------------------'
70 */
71[_LOWER] = {
72 {KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_LCBR, KC_RCBR, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10},
73 {KC_1, KC_2, KC_3, KC_4, KC_5, KC_LBRC, KC_RBRC, KC_6, KC_7, KC_8, KC_9, KC_0},
74 {KC_TILD, KC_PIPE, KC_GRV, KC_MINS, KC_UNDS, KC_INS, KC_DEL, KC_LPRN, KC_RPRN, KC_PLUS, KC_EQL, KC_BSLS},
75 {_______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END}
76},
77
78
79/* Raise
80 * ,-----------------------------------------------------------------------------------.
81 * | F11 | F12 | F13 | F14 | F15 | | | F16 | F17 | F18 | F19 | F20 |
82 * |------+------+------+------+------+-------------+------+------+------+------+------|
83 * | ! | @ | # | $ | % |Sleep | Wake | ^ | & | * | ( | ) |
84 * |------+------+------+------+------+-------------+------+------+------+------+------|
85 * | GUI1 | GUI2 | GUI3 | GUI4 | GUI5 | | GUI6 | GUI7 | GUI8 | GUI9 |GUI10 |
86 * |------+------+------+------+------+------+------+------+------+------+------+------|
87 * | Sft | Ctl | Alt | Gui |Lower | |Raise | Gui | Alt | Ctl | Sft |
88 * `-----------------------------------------------------------------------------------'
89 */
90[_RAISE] = {
91 { KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, _______, _______, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20},
92 {KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_SLEP, KC_WAKE, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN},
93 { GUI_1, GUI_2, GUI_3, GUI_4, GUI_5, _______, _______, GUI_6, GUI_7, GUI_8, GUI_9, GUI_10},
94 {KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_RGUI, KC_RALT, KC_RCTL, KC_RSFT}
95},
96
97/* 'Software Dvorak': Designed to look like dvorak in the mapping but depend on software
98 * dvorak (ie the OS keymapping changed to dvorak).
99 * ,-----------------------------------------------------------------------------------.
100 * | " | , | . | P | Y | / | = | F | G | C | R | L |
101 * |------+------+------+------+------+------+------+------+------+------+------+------|
102 * | A | O | E | U | I | ESC | BSPC | D | H | T | N | S |
103 * |------+------+------+------+------+------+------+------+------+------+------+------|
104 * | ; | Q | J | K | X | TAB | ENT | B | M | W | V | Z |
105 * |------+------+------+------+------+------+------+------+------+------+------+------|
106 * | Sft | Ctl | Alt | Gui |SLower| Space |SRaise| < | v | ^ | > |
107 * `-----------------------------------------------------------------------------------'
108 */
109[_SDRK] = {
110 {DV_QUOT, DV_COMM, DV_DOT, DV_P, DV_Y, DV_SLSH, DV_EQL, DV_F, DV_G, DV_C, DV_R, DV_L},
111 {DV_A, DV_O, DV_E, DV_U, DV_I, KC_ESC, KC_BSPC, DV_D, DV_H, DV_T, DV_N, DV_S},
112 {DV_SCLN, DV_Q, DV_J, DV_K, DV_X, KC_TAB, KC_ENT, DV_B, DV_M, DV_W, DV_V, DV_Z},
113 {KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, SLWER, KC_SPC, KC_SPC, SRAIS, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT}
114},
115
116
117/* 'Software dvorak lower mode': Puts all the braces etc in the right places so it works
118 * just like the lower mode above except that it depends on the OS keymapping being set
119 * to dvorak.
120 * ,-----------------------------------------------------------------------------------.
121 * | F1 | F2 | F3 | F4 | F5 | { | } | F6 | F7 | F8 | F9 | F10 |
122 * |------+------+------+------+------+-------------+------+------+------+------+------|
123 * | 1 | 2 | 3 | 4 | 5 | [ | ] | 6 | 7 | 8 | 9 | 0 |
124 * |------+------+------+------+------+------|------+------+------+------+------+------|
125 * | ~ | | | ` | - | _ | INS | DEL | ( | ) | + | = | \ |
126 * |------+------+------+------+------+------+------+------+------+------+------+------|
127 * | Sft | Ctl | Alt | Gui |SLower| |SRaise| Home | PgDn | PgUp | End |
128 * `-----------------------------------------------------------------------------------'
129 */
130[_SLWER] = {
131 {KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, DV_LCBR, DV_RCBR, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10},
132 {DV_1, DV_2, DV_3, DV_4, DV_5, DV_LBRC, DV_RBRC, DV_6, DV_7, DV_8, DV_9, DV_0},
133 {DV_TILD, DV_PIPE, DV_GRV, DV_MINS, DV_UNDS, KC_INS, KC_DEL, DV_LPRN, DV_RPRN, DV_PLUS, DV_EQL, DV_BSLS},
134 {_______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END}
135},
136
137
138/* 'Software dvorak raise mode'
139 * ,-----------------------------------------------------------------------------------.
140 * | F11 | F12 | F13 | F14 | F15 | | | F16 | F17 | F18 | F19 | F20 |
141 * |------+------+------+------+------+-------------+------+------+------+------+------|
142 * | ! | @ | # | $ | % |Sleep | Wake | ^ | & | * | ( | ) |
143 * |------+------+------+------+------+-------------+------+------+------+------+------|
144 * | GUI1 | GUI2 | GUI3 | GUI4 | GUI5 | | GUI6 | GUI7 | GUI8 | GUI9 |GUI10 |
145 * |------+------+------+------+------+------+------+------+------+------+------+------|
146 * | Sft | Ctl | Alt | Gui |Lower | |Raise | Gui | Alt | Ctl | Sft |
147 * `-----------------------------------------------------------------------------------'
148 */
149[_SRAIS] = {
150 { KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, _______, _______, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20},
151 {DV_EXLM, DV_AT, DV_HASH, DV_DLR, DV_PERC, KC_SLEP, KC_WAKE, DV_CIRC, DV_AMPR, DV_ASTR, DV_LPRN, DV_RPRN},
152 { GUI_1, GUI_2, GUI_3, GUI_4, GUI_5, _______, _______, GUI_6, GUI_7, GUI_8, GUI_9, GUI_10},
153 {KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, SLWER, KC_SPC, KC_SPC, SRAIS, KC_RGUI, KC_RALT, KC_RCTL, KC_RSFT}
154},
155
156
157/* Adjust (Lower + Raise or SLower + SRaise)
158 * ,-----------------------------------------------------------------------------------.
159 * | | Reset| | | |AGnorm|AGswap| | |HRevl |HReset|HMenu |
160 * |------+------+------+------+------+-------------+------+------+------+------+------|
161 * | PWR | EJCT | CUT | COPY |PASTE |PrScr |SysReq| CAPS | << | >> | Mute | Stop |
162 * |------+------+------+------+------+------|------+------+------+------+------+------|
163 * |DVORAK|NUMPAD| MVMT | SDRK | | | | | Next | Vol- | Vol+ | Play |
164 * |------+------+------+------+------+------+------+------+------+------+------+------|
165 * |Brite |BToggl| | | | | | Gui | Alt | Ctl | Sft |
166 * `-----------------------------------------------------------------------------------'
167 */
168[_ADJUST] = {
169 {_______, RESET, _______, _______, _______, AG_NORM, AG_SWAP, _______, _______, HRVL, HRESET, HMENU},
170 { KC_PWR, KC_EJCT, CUT, COPY, PASTE, KC_PSCR, KC_SYSREQ, KC_CAPS, KC_MRWD, KC_MFFD, KC_MUTE, KC_MSTP},
171 { DVRK, TO(_NMPD), TO(_MVMT), SDRK, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY},
172 {BACKLIT, BACKTOG, _______, _______, _______, _______, _______, _______, KC_RGUI, KC_RALT, KC_RCTL, KC_RSFT}
173},
174
175
176/* Numpad
177 * ,-----------------------------------------------------------------------------------.
178 * | | | | | | | |NumLck| 7 | 8 | 9 | / |
179 * |------+------+------+------+------+------+------+------+------+------+------+------|
180 * | | | | | | | |Enter | 4 | 5 | 6 | * |
181 * |------+------+------+------+------+------+------+------+------+------+------+------|
182 * |DVORAK|NUMPAD| MVMT | SDRK | | | | | 3 | 2 | 1 | - |
183 * |------+------+------+------+------+-------------+------+------+------+------+------|
184 * | | | | | | | | | 0 | . | + |
185 * `-----------------------------------------------------------------------------------'
186 */
187[_NMPD] = {
188 {XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_NLCK, KC_P7, KC_P8, KC_P9, KC_PSLS},
189 {XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PENT, KC_P4, KC_P5, KC_P6, KC_PAST},
190 {TO(_DVRK),TO(_NMPD),TO(_MVMT),SDRK, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_P1, KC_P2, KC_P3, KC_PMNS},
191 {_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P0, KC_PDOT, KC_PPLS}
192},
193
194
195/* Movement
196 * ,-----------------------------------------------------------------------------------.
197 * |MsBut2|MsWhDn|MsWhUp|MsBut1|MsBut3| | | | Home | PgDn | PgUp | End |
198 * +------+------+------+------+------+------+------+------+------+------+------+------+
199 * |Ms Lft|Ms Dn |Ms Up |Ms Rht| | | | | Left | Down | Up | Right|
200 * |------+------+------+------+------+------+------+------+------+------+------+------|
201 * |DVORAK|NUMPAD| MVMT | SDRK | | | | | | | | |
202 * |------+------+------+------+------+-------------+------+------+------+------+------|
203 * | Sft | Ctl | Alt | Gui | | | | Gui | Alt | Ctl | Sft |
204 * `-----------------------------------------------------------------------------------'
205 */
206[_MVMT] = {
207 {KC_MB2, KC_MWDN, KC_MWUP, KC_MB1, KC_MB3, XXXXXXX, XXXXXXX, XXXXXXX, KC_HOME, KC_PGDN, KC_PGUP, KC_END},
208 {KC_MLFT, KC_MDN, KC_MUP, KC_MRGT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT},
209 {TO(_DVRK),TO(_NMPD),TO(_MVMT),SDRK,XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX},
210 {KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, _______, _______, _______, _______, KC_RGUI, KC_RALT, KC_RCTL, KC_RSFT}
211},
212};
213
214
215void persistent_default_layer_set(uint16_t default_layer) {
216 eeconfig_update_default_layer(default_layer);
217 default_layer_set(default_layer);
218}
219
220bool process_record_user(uint16_t keycode, keyrecord_t *record) {
221 switch (keycode) {
222 case DVRK:
223 if (record->event.pressed) {
224 persistent_default_layer_set(1UL<<_DVRK);
225 layer_on(_DVRK);
226 }
227 return false;
228 break;
229 case LOWER:
230 if (record->event.pressed) {
231 layer_on(_LOWER);
232 update_tri_layer(_LOWER, _RAISE, _ADJUST);
233 } else {
234 layer_off(_LOWER);
235 update_tri_layer(_LOWER, _RAISE, _ADJUST);
236 }
237 return false;
238 break;
239 case RAISE:
240 if (record->event.pressed) {
241 layer_on(_RAISE);
242 update_tri_layer(_LOWER, _RAISE, _ADJUST);
243 } else {
244 layer_off(_RAISE);
245 update_tri_layer(_LOWER, _RAISE, _ADJUST);
246 }
247 return false;
248 break;
249 case SDRK:
250 if (record->event.pressed) {
251 persistent_default_layer_set(1UL<<_SDRK);
252 layer_on(_SDRK);
253 }
254 return false;
255 break;
256 case SLWER:
257 if (record->event.pressed) {
258 layer_on(_SLWER);
259 update_tri_layer(_SLWER, _SRAIS, _ADJUST);
260 } else {
261 layer_off(_SLWER);
262 update_tri_layer(_SLWER, _SRAIS, _ADJUST);
263 }
264 return false;
265 break;
266 case SRAIS:
267 if (record->event.pressed) {
268 layer_on(_SRAIS);
269 update_tri_layer(_SLWER, _SRAIS, _ADJUST);
270 } else {
271 layer_off(_SRAIS);
272 update_tri_layer(_SLWER, _SRAIS, _ADJUST);
273 }
274 return false;
275 break;
276 case BACKLIT:
277 if (record->event.pressed) {
278 register_code(KC_RSFT);
279 #ifdef BACKLIGHT_ENABLE
280 backlight_step();
281 #endif
282 } else {
283 unregister_code(KC_RSFT);
284 }
285 return false;
286 break;
287 case BACKTOG:
288 if (record->event.pressed) {
289 #ifdef BACKLIGHT_ENABLE
290 backlight_toggle();
291 #endif
292 }
293 return false;
294 break;
295 case CUT: //cut macro
296 return MACRODOWN( DOWN(KC_LCTL), TYPE(KC_X), UP(KC_LCTL), END );
297 case COPY: // copy macro
298 return MACRODOWN( DOWN(KC_LCTL), TYPE(KC_C), UP(KC_LCTL), END );
299 case PASTE: // paste macro
300 return MACRODOWN( DOWN(KC_LCTL), TYPE(KC_V), UP(KC_LCTL), END );
301 }
302 return true;
303}
304
305void matrix_init_user(void) {
306}
diff --git a/keyboards/planck/keymaps/sean/mymappings.h b/keyboards/planck/keymaps/sean/mymappings.h
new file mode 100644
index 000000000..cbb016e38
--- /dev/null
+++ b/keyboards/planck/keymaps/sean/mymappings.h
@@ -0,0 +1,39 @@
1//Defines etc for Sean Hunter's keymap.
2
3#include "keymap_extras/keymap_dvorak.h"
4
5#define PERMISSIVE_HOLD
6
7//Special hammerspoon keys
8#define HMENU LCTL(LSFT(KC_BSLS))
9#define HRESET LCTL(LSFT(KC_EQL))
10#define HRVL LCTL(LSFT(KC_SLSH))
11
12//Make virtual desktops a little easier on i3 (otherwise on this keyboard they're awkward
13#define GUI_1 LGUI(KC_1)
14#define GUI_2 LGUI(KC_2)
15#define GUI_3 LGUI(KC_3)
16#define GUI_4 LGUI(KC_4)
17#define GUI_5 LGUI(KC_5)
18#define GUI_6 LGUI(KC_6)
19#define GUI_7 LGUI(KC_7)
20#define GUI_8 LGUI(KC_8)
21#define GUI_9 LGUI(KC_9)
22#define GUI_10 LGUI(KC_0)
23
24//Abbreviations for mouse keys
25#define KC_MUP KC_MS_UP
26#define KC_MDN KC_MS_DOWN
27#define KC_MLFT KC_MS_LEFT
28#define KC_MRGT KC_MS_RIGHT
29#define KC_MB1 KC_MS_BTN1
30#define KC_MB2 KC_MS_BTN2
31#define KC_MB3 KC_MS_BTN3
32#define KC_MB4 KC_MS_BTN4
33#define KC_MB5 KC_MS_BTN5
34#define KC_MWUP KC_MS_WH_UP
35#define KC_MWDN KC_MS_WH_DOWN
36
37// Fillers to make layering more clear
38#define _______ KC_TRNS
39#define XXXXXXX KC_NO
diff --git a/keyboards/planck/keymaps/sean/readme.md b/keyboards/planck/keymaps/sean/readme.md
new file mode 100644
index 000000000..ac39d185f
--- /dev/null
+++ b/keyboards/planck/keymaps/sean/readme.md
@@ -0,0 +1,130 @@
1# Sean Hunter's Planck Layout
2
3## Main layout
4
5Inspired by my old typematrix dvorak keyboard, with escape, tab, enter and
6backspace in the middle.
7
8```
9 ,-----------------------------------------------------------------------------------.
10 | " | , | . | P | Y | / | = | F | G | C | R | L |
11 |------+------+------+------+------+------+------+------+------+------+------+------|
12 | A | O | E | U | I | ESC | BSPC | D | H | T | N | S |
13 |------+------+------+------+------+------+------+------+------+------+------+------|
14 | ; | Q | J | K | X | TAB | ENT | B | M | W | V | Z |
15 |------+------+------+------+------+------+------+------+------+------+------+------|
16 | Sft | Ctl | Alt | Gui |Lower | Space |Raise | < | v | ^ | > |
17 `-----------------------------------------------------------------------------------'
18 ```
19
20## Lower
21
22With Lower, the numbers are on the home row. Brackets and braces are down the
23centre of the keyboard when holding lower, and most other special characters,
24can be found on the row below home. One row up are the main function keys.
25The arrow keys become `Home`, `End` and `Page Up` and `Page Down`.
26
27 ```
28 ,-----------------------------------------------------------------------------------.
29 | F1 | F2 | F3 | F4 | F5 | { | } | F6 | F7 | F8 | F9 | F10 |
30 |------+------+------+------+------+-------------+------+------+------+------+------|
31 | 1 | 2 | 3 | 4 | 5 | [ | ] | 6 | 7 | 8 | 9 | 0 |
32 |------+------+------+------+------+------|------+------+------+------+------+------|
33 | ~ | | | ` | - | _ | INS | DEL | ( | ) | + | = | \ |
34 |------+------+------+------+------+------+------+------+------+------+------+------|
35 | Sft | Ctl | Alt | Gui |Lower | |Raise | Home | PgDn | PgUp | End |
36 `-----------------------------------------------------------------------------------'
37```
38
39## Raise
40
41With Raise, the middle row functions as though we are holding shift and typing
42numbers. This makes it a little easier than trying to hold lower and shift at
43the same time. The row below home is a set of keys mapped from `Gui-1` to
44`Gui-0`. I use these to change virtual desktops on [i3](https://i3wm.org/). I
45also include 'right' versions of the modifier keys on here.
46
47
48 ```
49 ,-----------------------------------------------------------------------------------.
50 | F11 | F12 | F13 | F14 | F15 | | | F16 | F17 | F18 | F19 | F20 |
51 |------+------+------+------+------+-------------+------+------+------+------+------|
52 | ! | @ | # | $ | % |Sleep | Wake | ^ | & | * | ( | ) |
53 |------+------+------+------+------+-------------+------+------+------+------+------|
54 | GUI1 | GUI2 | GUI3 | GUI4 | GUI5 | | | GUI6 | GUI7 | GUI8 | GUI9 |GUI10 |
55 |------+------+------+------+------+------+------+------+------+------+------+------|
56 | Sft | Ctl | Alt | Gui |Lower | |Raise | Gui | Alt | Ctl | Sft |
57 `-----------------------------------------------------------------------------------'
58
59```
60
61## Adjust
62
63Raise and lower at the same time give an adjustment layer, which allows
64changing to the numpad and movement layer, and adjusting the backlights
65(assuming you have them - I don't yet). I have also added various media keys
66and the all-important `Reset` key for programming the keyboard. I've got the
67ability to swap `Alt` and `Gui` in hardware and three special keys set up for
68[hammerspoon]( http://www.hammerspoon.org/) on mac. If I ever start using this
69keyboard seriously on mac again (I'm using it mainly on Windows and Linux atm)
70I'll write a special Mac mode and redo all my hammerspoon config to be more
71like i3 on Linux.
72
73```
74 Adjust (Lower + Raise)
75 ,-----------------------------------------------------------------------------------.
76 | | Reset| | | |AGnorm|AGswap| | |HRevl |HReset|HMenu |
77 |------+------+------+------+------+-------------+------+------+------+------+------|
78 | PWR | EJCT | CUT | COPY |PASTE |PrScr |SysReq| CAPS | << | >> | Mute | Stop |
79 |------+------+------+------+------+------|------+------+------+------+------+------|
80 |DVORAK|NUMPAD| MVMT | SDRK | | | | | Next | Vol- | Vol+ | Play |
81 |------+------+------+------+------+------+------+------+------+------+------+------|
82 |Brite |BToggl| | | | | | Gui | Alt | Ctl | Sft |
83 `-----------------------------------------------------------------------------------'
84```
85
86## Numpad
87
88I have added a numpad, although this is a little annoying at the moment as you
89have to first press `NumLock` to use. I guess I could make a macro so as soon as
90you go into numpad mode it turns `NumLock` on.
91
92```
93 ,-----------------------------------------------------------------------------------.
94 | | | | | | | |NumLck| 7 | 8 | 9 | / |
95 |------+------+------+------+------+------+------+------+------+------+------+------|
96 | | | | | | | |Enter | 4 | 5 | 6 | * |
97 |------+------+------+------+------+------+------+------+------+------+------+------|
98 |DVORAK|NUMPAD| MVMT | SDRK | | | | | 3 | 2 | 1 | - |
99 |------+------+------+------+------+-------------+------+------+------+------+------|
100 | | | | | | | | | 0 | . | + |
101 `-----------------------------------------------------------------------------------'
102```
103
104## Movement
105
106I have added a movement layer but at present I seldom use it.
107
108```
109 ,-----------------------------------------------------------------------------------.
110 |MsBut2|MsWhDn|MsWhUp|MsBut1|MsBut3| | | | Home | PgDn | PgUp | End |
111 +------+------+------+------+------+------+------+------+------+------+------+------+
112 |Ms Lft|Ms Dn |Ms Up |Ms Rht| | | | | Left | Down | Up | Right|
113 |------+------+------+------+------+------+------+------+------+------+------+------|
114 |DVORAK|NUMPAD| MVMT | SDRK | | | | | | | | |
115 |------+------+------+------+------+-------------+------+------+------+------+------|
116 | Sft | Ctl | Alt | Gui | | | | Gui | Alt | Ctl | Sft |
117 `-----------------------------------------------------------------------------------'
118```
119
120## Software Dvorak mode
121
122I have implemented a version of the main, lower and raise maps that works if
123the computer itself is in dvorak mode at the os level. This allows me to work
124well on my laptop when I have to take it with me (eg to go to a meeting) and
125don't want the keyboard with me. I simply set it in dvorak mode in the os and
126then put the keyboard into this mode.
127
128## TODO
129
1301. Actually learn to use the media keys
diff --git a/keyboards/planck/old_keymap_files/common_keymaps/keymap_sean.c b/keyboards/planck/old_keymap_files/common_keymaps/keymap_sean.c
index fb0eb7dad..27a669e64 100644
--- a/keyboards/planck/old_keymap_files/common_keymaps/keymap_sean.c
+++ b/keyboards/planck/old_keymap_files/common_keymaps/keymap_sean.c
@@ -1,53 +1,104 @@
1#include "keymap.h" 1#define KC_RESET 0x5000
2#include "keymap_common.h"
3
4enum planck_layers {
5 _DVRK,
6 _LOWER,
7 _RAISE,
8 _ADJUST
9};
2 10
3const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 11const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
4 [0] = KEYMAP( /* Matrix Dvorak */ 12
13/* Dvorak
14 * ,-----------------------------------------------------------------------------------.
15 * | " | , | . | P | Y | / | = | F | G | C | R | L |
16 * |------+------+------+------+------+------+------+------+------+------+------+------|
17 * | A | O | E | U | I | ESC | BSPC | D | H | T | N | S |
18 * |------+------+------+------+------+------+------+------+------+------+------+------|
19 * | ; | Q | J | K | X | TAB | ENT | B | M | W | V | Z |
20 * |------+------+------+------+------+------+------+------+------+------+------+------|
21 * | Sft | Ctl | Alt | Gui |Lower | Space |Raise | < | v | ^ | > |
22 * `-----------------------------------------------------------------------------------'
23 */
24 [_DVRK] = KEYMAP(
5 QUOT, COMM, DOT, P, Y, SLSH, EQL, F, G, C, R, L, 25 QUOT, COMM, DOT, P, Y, SLSH, EQL, F, G, C, R, L,
6 A, O, E, U, I, ESC, BSPC, D, H, T, N, S, 26 A, O, E, U, I, ESC, BSPC, D, H, T, N, S,
7 SCLN, Q, J, K, X, TAB, ENT, B, M, W, V, Z, 27 SCLN, Q, J, K, X, TAB, ENT, B, M, W, V, Z,
8 LSFT, LCTL, LALT, LGUI, FN1, SPC, FN2, LEFT, DOWN, UP, RGHT), 28 LSFT, LCTL, LALT, LGUI, FN1, SPC, FN2, LEFT, DOWN, UP, RGHT),
9 29
10 [1] = KEYMAP( /* Matrix Qwerty */ 30/* Lower
11 Q, W, E, R, T, QUOT, EQL, Y, U, I, O, P, 31 * ,-----------------------------------------------------------------------------------.
12 A, S, D, F, G, ESC, BSPC, H, J, K, L, SCLN, 32 * | F1 | F2 | F3 | F4 | F5 | { | } | F6 | F7 | F8 | F9 | F10 |
13 Z, X, C, V, B, TAB, ENT, N, M, COMM, DOT, SLSH, 33 * |------+------+------+------+------+-------------+------+------+------+------+------|
14 LSFT, LCTL, LALT, LGUI, FN1, SPC, FN2, LEFT, DOWN, UP, RGHT), 34 * | 1 | 2 | 3 | 4 | 5 | [ | ] | 6 | 7 | 8 | 9 | 0 |
15 35 * |------+------+------+------+------+------|------+------+------+------+------+------|
16 [2] = KEYMAP( /* fn1 lower */ 36 * | ~ | | | ` | - | _ | INS | DEL | ( | ) | + | = | \ |
17 F1, F2, F3, F4, F5, NO, NO, F6, F7, F8, F9, F10, 37 * |------+------+------+------+------+------+------+------+------+------+------+------|
18 1, 2, 3, 4, 5, F18, DEL, 6, 7, 8, 9, 0, 38 * | Sft | Ctl | Alt | Gui |Lower | Space |Raise | | PgDn | PgUp | End |
19 FN3, FN4, FN28, GRV, MINS, TRNS, INS, BSLS, LBRC, RBRC, TRNS, TRNS, 39 * `-----------------------------------------------------------------------------------'
20 TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, HOME, PGDN, PGUP, END), 40 */
41 [_LOWER] = KEYMAP( /* fn1 lower */
42 F1, F2, F3, F4, F5, FN26, FN27, F6, F7, F8, F9, F10,
43 1, 2, 3, 4, 5, LBRC, RBRC, 6, 7, 8, 9, 0,
44 FN23, FN25, GRV,MINS, FN24, INS, DEL, FN19, FN20, FN22, EQL, BSLS,
45 TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, FN4, HOME, PGDN, PGUP, END),
21 46
22 [3] = KEYMAP( /* fn2 raise */ 47/* Raise
23 MRWD, MPLY, MFFD, NO, NO, FN21, FN22, EJCT, PWR, LSFT,PAUSE, RSFT, 48 * ,-----------------------------------------------------------------------------------.
24 FN11, FN12, FN13, FN14, FN15, F18, DEL, FN16, FN17, FN18, FN19, FN20, 49 * | F11 | F12 | F13 | F14 | F15 | - | _ | F16 | F17 | F18 | F19 | F20 |
25 FN3, FN4, FN28, FN23, FN24, TRNS, INS, FN25, FN26, FN27, MPRV, MNXT, 50 * |------+------+------+------+------+-------------+------+------+------+------+------|
26 TRNS, TRNS, TRNS, TRNS, FN1, TRNS, FN2, NO, VOLD, VOLU, MUTE), 51 * | ! | @ | # | $ | % | | | ^ | & | * | ( | ) |
52 * |------+------+------+------+------+-------------+------+------+------+------+------|
53 * | | | | | | | | | | | | |
54 * |------+------+------+------+------+------+------+------+------+------+------+------|
55 * | CAPS | | | | | | | | | | |
56 * `-----------------------------------------------------------------------------------'
57 */
58 [_RAISE] = KEYMAP( /* fn2 raise */
59 F11, F12, F13, F14, F15,MINS, FN24, F16, F17, F18, F19, F20,
60 FN11, FN12, FN13, FN14, FN15, NO, NO, FN16, FN17, FN18, FN19, FN20,
61 PWR, EJCT, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO,
62 CAPS, TRNS, TRNS, TRNS, FN4, TRNS, FN2, NO, NO, NO, NO),
63/* Adjust (Lower + Raise or SLower + SRaise)
64 * ,-----------------------------------------------------------------------------------.
65 * | | Reset| | | | | | | | | | |
66 * |------+------+------+------+------+-------------+------+------+------+------+------|
67 * | PWR | EJCT | | | | | | CAPS | | | | |
68 * |------+------+------+------+------+------|------+------+------+------+------+------|
69 * |DVORAK| | | | | | | | | | | |
70 * |------+------+------+------+------+------+------+------+------+------+------+------|
71 * | | | | | | | | | | | |
72 * `-----------------------------------------------------------------------------------'
73 */
74[_ADJUST] = KEYMAP(
75 NO, RESET, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO,
76 PWR, EJCT, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO,
77 CAPS, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO,
78 NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO),
27}; 79};
28 80
29const uint16_t PROGMEM fn_actions[] = { 81const uint16_t PROGMEM fn_actions[] = {
30 [1] = ACTION_LAYER_MOMENTARY(2), // to Fn overlay LOWER 82 [1] = ACTION_LAYER_MOMENTARY(_LOWER), // to Fn overlay LOWER
31 [2] = ACTION_LAYER_MOMENTARY(3), // to Fn overlay RAISE 83 [2] = ACTION_LAYER_MOMENTARY(_RAISE), // to Fn overlay RAISE
32 [3] = ACTION_DEFAULT_LAYER_SET(0), 84 [3] = ACTION_DEFAULT_LAYER_SET(_DVRK),
33 [4] = ACTION_DEFAULT_LAYER_SET(1), 85 [4] = ACTION_LAYER_MOMENTARY(_ADJUST), // RAISE + LOWER
34 86 [11] = ACTION_MODS_KEY(MOD_LSFT, KC_1), //!
35 [11] = ACTION_MODS_KEY(MOD_LSFT, KC_1), 87 [12] = ACTION_MODS_KEY(MOD_LSFT, KC_2), //@
36 [12] = ACTION_MODS_KEY(MOD_LSFT, KC_2), 88 [13] = ACTION_MODS_KEY(MOD_LSFT, KC_3), //#
37 [13] = ACTION_MODS_KEY(MOD_LSFT, KC_3), 89 [14] = ACTION_MODS_KEY(MOD_LSFT, KC_4), //$
38 [14] = ACTION_MODS_KEY(MOD_LSFT, KC_4), 90 [15] = ACTION_MODS_KEY(MOD_LSFT, KC_5), //%
39 [15] = ACTION_MODS_KEY(MOD_LSFT, KC_5), 91 [16] = ACTION_MODS_KEY(MOD_LSFT, KC_6), //^
40 [16] = ACTION_MODS_KEY(MOD_LSFT, KC_6), 92 [17] = ACTION_MODS_KEY(MOD_LSFT, KC_7), //&
41 [17] = ACTION_MODS_KEY(MOD_LSFT, KC_7), 93 [18] = ACTION_MODS_KEY(MOD_LSFT, KC_8), //*
42 [18] = ACTION_MODS_KEY(MOD_LSFT, KC_8), 94 [19] = ACTION_MODS_KEY(MOD_LSFT, KC_9), //(
43 [19] = ACTION_MODS_KEY(MOD_LSFT, KC_9), 95 [20] = ACTION_MODS_KEY(MOD_LSFT, KC_0), //)
44 [20] = ACTION_MODS_KEY(MOD_LSFT, KC_0), 96 [21] = ACTION_MODS_KEY(MOD_LSFT, KC_SLSH), //?
45 [21] = ACTION_MODS_KEY(MOD_LSFT, KC_SLSH), 97 [22] = ACTION_MODS_KEY(MOD_LSFT, KC_EQL), //+
46 [22] = ACTION_MODS_KEY(MOD_LSFT, KC_EQL), 98 [23] = ACTION_MODS_KEY(MOD_LSFT, KC_GRV), //~
47 [23] = ACTION_MODS_KEY(MOD_LSFT, KC_GRV), 99 [24] = ACTION_MODS_KEY(MOD_LSFT, KC_MINS), //_
48 [24] = ACTION_MODS_KEY(MOD_LSFT, KC_MINS), 100 [25] = ACTION_MODS_KEY(MOD_LSFT, KC_BSLS), //|
49 [25] = ACTION_MODS_KEY(MOD_LSFT, KC_BSLS), 101 [26] = ACTION_MODS_KEY(MOD_LSFT, KC_LBRC), //{
50 [26] = ACTION_MODS_KEY(MOD_LSFT, KC_LBRC), 102 [27] = ACTION_MODS_KEY(MOD_LSFT, KC_RBRC), //}
51 [27] = ACTION_MODS_KEY(MOD_LSFT, KC_RBRC),
52 [28] = ACTION_MODS_KEY(MOD_LSFT | MOD_RSFT, KC_PAUSE), 103 [28] = ACTION_MODS_KEY(MOD_LSFT | MOD_RSFT, KC_PAUSE),
53}; 104};