aboutsummaryrefslogtreecommitdiff
path: root/quantum
diff options
context:
space:
mode:
Diffstat (limited to 'quantum')
-rw-r--r--quantum/keymap_common.c5
-rw-r--r--quantum/quantum_keycodes.h5
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