aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJack & Erez <bulk@ezuk.org>2016-10-12 22:18:27 -0400
committerErez Zukerman <ezukerman@godaddy.com>2016-10-12 22:18:27 -0400
commite27a754b70434de88a37c4a572e4ca5f7730ff58 (patch)
treee2b64bad2b358ff294a6d7bbb7514d3126d08489
parent698d02122b2f705eb57d177e567c059289c6d7f8 (diff)
downloadqmk_firmware-e27a754b70434de88a37c4a572e4ca5f7730ff58.tar.gz
qmk_firmware-e27a754b70434de88a37c4a572e4ca5f7730ff58.zip
[Jack & Erez] Simplifies and documents TO
-rw-r--r--keyboards/ergodox/keymaps/dave/keymap.c12
-rw-r--r--quantum/keymap.h5
-rw-r--r--readme.md2
3 files changed, 12 insertions, 7 deletions
diff --git a/keyboards/ergodox/keymaps/dave/keymap.c b/keyboards/ergodox/keymaps/dave/keymap.c
index 32c70097b..23c4e0490 100644
--- a/keyboards/ergodox/keymaps/dave/keymap.c
+++ b/keyboards/ergodox/keymaps/dave/keymap.c
@@ -38,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
38 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_H, 38 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_H,
39 CTL_T(KC_GRV),KC_NUBS,KC_NO, KC_NO, KC_LALT, 39 CTL_T(KC_GRV),KC_NUBS,KC_NO, KC_NO, KC_LALT,
40 KC_PSCREEN, KC_PSCREEN, 40 KC_PSCREEN, KC_PSCREEN,
41 TO(PROG, ON_PRESS), 41 TO(PROG),
42 KC_SPC, MO(NAVI), KC_LGUI, 42 KC_SPC, MO(NAVI), KC_LGUI,
43 // right hand 43 // right hand
44 KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_BSPC, 44 KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_BSPC,
@@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
47 KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, 47 KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT,
48 KC_RALT,KC_LBRC,KC_RBRC,KC_NO, CTL_T(KC_QUOT), 48 KC_RALT,KC_LBRC,KC_RBRC,KC_NO, CTL_T(KC_QUOT),
49 MT(0x5, KC_NO), MT(0x5, KC_NO), 49 MT(0x5, KC_NO), MT(0x5, KC_NO),
50 TO(PROG, ON_PRESS), 50 TO(PROG),
51 KC_RGUI, MO(PROG), KC_SPC 51 KC_RGUI, MO(PROG), KC_SPC
52 ), 52 ),
53 53
@@ -81,7 +81,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
81 KC_TRNS, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD, KC_TRNS, 81 KC_TRNS, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD, KC_TRNS,
82 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 82 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
83 KC_TRNS, KC_TRNS, 83 KC_TRNS, KC_TRNS,
84 TO(NAVI, ON_PRESS), 84 TO(NAVI),
85 KC_TRNS, KC_TRNS, KC_TRNS, 85 KC_TRNS, KC_TRNS, KC_TRNS,
86 // right hand 86 // right hand
87 KC_TRNS, KC_TRNS, KC_NO, KC_PSLS, KC_PAST, KC_PMNS, KC_EQUAL, 87 KC_TRNS, KC_TRNS, KC_NO, KC_PSLS, KC_PAST, KC_PMNS, KC_EQUAL,
@@ -90,7 +90,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
90 KC_TRNS, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_PENT, KC_TRNS, 90 KC_TRNS, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_PENT, KC_TRNS,
91 KC_P0, KC_P0, KC_PDOT, KC_PENT, KC_TRNS, 91 KC_P0, KC_P0, KC_PDOT, KC_PENT, KC_TRNS,
92 KC_TRNS, KC_TRNS, 92 KC_TRNS, KC_TRNS,
93 TO(NAVI, ON_PRESS), 93 TO(NAVI),
94 KC_TRNS, KC_TRNS, KC_TRNS 94 KC_TRNS, KC_TRNS, KC_TRNS
95), 95),
96 96
@@ -123,7 +123,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
123 KC_TRNS, KC_BTN1, KC_MS_U, KC_BTN2, KC_TRNS, KC_TRNS, KC_TRNS, 123 KC_TRNS, KC_BTN1, KC_MS_U, KC_BTN2, KC_TRNS, KC_TRNS, KC_TRNS,
124 KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, 124 KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS,
125 KC_TRNS, KC_TRNS, 125 KC_TRNS, KC_TRNS,
126 TO(BASE, ON_PRESS), 126 TO(BASE),
127 KC_TRNS, KC_TRNS, KC_TRNS, 127 KC_TRNS, KC_TRNS, KC_TRNS,
128 // right hand 128 // right hand
129 KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, 129 KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS,
@@ -132,7 +132,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
132 KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS, 132 KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS,
133 KC_VOLD, KC_MUTE, KC_VOLU, KC_TRNS, KC_TRNS, 133 KC_VOLD, KC_MUTE, KC_VOLU, KC_TRNS, KC_TRNS,
134 KC_TRNS, KC_TRNS, 134 KC_TRNS, KC_TRNS,
135 TO(BASE, ON_PRESS), 135 TO(BASE),
136 KC_TRNS, KC_TRNS, KC_TRNS 136 KC_TRNS, KC_TRNS, KC_TRNS
137), 137),
138}; 138};
diff --git a/quantum/keymap.h b/quantum/keymap.h
index 4b2192cb2..85c090972 100644
--- a/quantum/keymap.h
+++ b/quantum/keymap.h
@@ -296,7 +296,10 @@ enum quantum_keycodes {
296// ON_PRESS = 1 296// ON_PRESS = 1
297// ON_RELEASE = 2 297// ON_RELEASE = 2
298// Unless you have a good reason not to do so, prefer ON_PRESS (1) as your default. 298// Unless you have a good reason not to do so, prefer ON_PRESS (1) as your default.
299#define TO(layer, when) (layer | QK_TO | (when << 0x4)) 299// In fact, we changed it to assume ON_PRESS for sanity/simplicity. If needed, you can add your own
300// keycode modeled after the old version, kept below for this.
301/* #define TO(layer, when) (layer | QK_TO | (when << 0x4)) */
302#define TO(layer) (layer | QK_TO | (ON_PRESS << 0x4))
300 303
301// Momentary switch layer - 256 layer max 304// Momentary switch layer - 256 layer max
302#define MO(layer) (layer | QK_MOMENTARY) 305#define MO(layer) (layer | QK_MOMENTARY)
diff --git a/readme.md b/readme.md
index f20ab41b1..80f0a3ab2 100644
--- a/readme.md
+++ b/readme.md
@@ -379,6 +379,8 @@ Instead of using `FNx` when defining `ACTION_*` functions, you can use `F(x)` -
379 379
380`TG(layer)` - toggles a layer on or off. As with `MO()`, you should set this key as `KC_TRNS` in the destination layer so that tapping it again actually toggles back to the original layer. Only works upwards in the layer stack. 380`TG(layer)` - toggles a layer on or off. As with `MO()`, you should set this key as `KC_TRNS` in the destination layer so that tapping it again actually toggles back to the original layer. Only works upwards in the layer stack.
381 381
382`TO(layer)` - Goes to a layer. This code is special, because it lets you go either up or down the stack -- just goes directly to the layer you want. So while other codes only let you go _up_ the stack (from layer 0 to layer 3, for example), `TO(2)` is going to get you to layer 2, no matter where you activate it from -- even if you're currently on layer 5. This gets activated on keydown (as soon as the key is pressed).
383
382 384
383### Fun with modifier keys 385### Fun with modifier keys
384 386