diff options
Diffstat (limited to 'quantum')
| -rw-r--r-- | quantum/keymap_common.c | 5 | ||||
| -rw-r--r-- | quantum/quantum_keycodes.h | 5 |
2 files changed, 10 insertions, 0 deletions
diff --git a/quantum/keymap_common.c b/quantum/keymap_common.c index 8b09f93fc..9a412b66a 100644 --- a/quantum/keymap_common.c +++ b/quantum/keymap_common.c | |||
| @@ -122,6 +122,11 @@ action_t action_for_key(uint8_t layer, keypos_t key) | |||
| 122 | case QK_LAYER_TAP_TOGGLE ... QK_LAYER_TAP_TOGGLE_MAX: | 122 | case QK_LAYER_TAP_TOGGLE ... QK_LAYER_TAP_TOGGLE_MAX: |
| 123 | action.code = ACTION_LAYER_TAP_TOGGLE(keycode & 0xFF); | 123 | action.code = ACTION_LAYER_TAP_TOGGLE(keycode & 0xFF); |
| 124 | break; | 124 | break; |
| 125 | case QK_LAYER_MOD ... QK_LAYER_MOD_MAX: | ||
| 126 | mod = keycode & 0xF; | ||
| 127 | action_layer = (keycode >> 4) & 0xF; | ||
| 128 | action.code = ACTION_LAYER_MODS(action_layer, mod); | ||
| 129 | break; | ||
| 125 | case QK_MOD_TAP ... QK_MOD_TAP_MAX: | 130 | case QK_MOD_TAP ... QK_MOD_TAP_MAX: |
| 126 | mod = mod_config((keycode >> 0x8) & 0x1F); | 131 | mod = mod_config((keycode >> 0x8) & 0x1F); |
| 127 | action.code = ACTION_MODS_TAP_KEY(mod, keycode & 0xFF); | 132 | action.code = ACTION_MODS_TAP_KEY(mod, keycode & 0xFF); |
diff --git a/quantum/quantum_keycodes.h b/quantum/quantum_keycodes.h index 4a5681c7e..8122bfe73 100644 --- a/quantum/quantum_keycodes.h +++ b/quantum/quantum_keycodes.h | |||
| @@ -71,6 +71,8 @@ enum quantum_keycodes { | |||
| 71 | QK_TAP_DANCE_MAX = 0x57FF, | 71 | QK_TAP_DANCE_MAX = 0x57FF, |
| 72 | QK_LAYER_TAP_TOGGLE = 0x5800, | 72 | QK_LAYER_TAP_TOGGLE = 0x5800, |
| 73 | QK_LAYER_TAP_TOGGLE_MAX = 0x58FF, | 73 | QK_LAYER_TAP_TOGGLE_MAX = 0x58FF, |
| 74 | QK_LAYER_MOD = 0x5900, | ||
| 75 | QK_LAYER_MOD_MAX = 0x59FF, | ||
| 74 | #ifdef STENO_ENABLE | 76 | #ifdef STENO_ENABLE |
| 75 | QK_STENO = 0x5A00, | 77 | QK_STENO = 0x5A00, |
| 76 | QK_STENO_BOLT = 0x5A30, | 78 | QK_STENO_BOLT = 0x5A30, |
| @@ -597,6 +599,9 @@ enum quantum_keycodes { | |||
| 597 | // One-shot layer - 256 layer max | 599 | // One-shot layer - 256 layer max |
| 598 | #define OSL(layer) (layer | QK_ONE_SHOT_LAYER) | 600 | #define OSL(layer) (layer | QK_ONE_SHOT_LAYER) |
| 599 | 601 | ||
| 602 | // L-ayer M-od: Momentary switch layer with modifiers active - 16 layer max, left mods only | ||
| 603 | #define LM(layer, mod) (QK_LAYER_MOD | (((layer) & 0xF) << 4) | ((mod) & 0xF)) | ||
| 604 | |||
| 600 | // One-shot mod | 605 | // One-shot mod |
| 601 | #define OSM(mod) ((mod) | QK_ONE_SHOT_MOD) | 606 | #define OSM(mod) ((mod) | QK_ONE_SHOT_MOD) |
| 602 | 607 | ||
