diff options
author | Jack & Erez <bulk@ezuk.org> | 2016-10-12 22:18:27 -0400 |
---|---|---|
committer | Erez Zukerman <ezukerman@godaddy.com> | 2016-10-12 22:18:27 -0400 |
commit | e27a754b70434de88a37c4a572e4ca5f7730ff58 (patch) | |
tree | e2b64bad2b358ff294a6d7bbb7514d3126d08489 | |
parent | 698d02122b2f705eb57d177e567c059289c6d7f8 (diff) | |
download | qmk_firmware-e27a754b70434de88a37c4a572e4ca5f7730ff58.tar.gz qmk_firmware-e27a754b70434de88a37c4a572e4ca5f7730ff58.zip |
[Jack & Erez] Simplifies and documents TO
-rw-r--r-- | keyboards/ergodox/keymaps/dave/keymap.c | 12 | ||||
-rw-r--r-- | quantum/keymap.h | 5 | ||||
-rw-r--r-- | readme.md | 2 |
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) |
@@ -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 | ||