diff options
Diffstat (limited to 'quantum')
-rw-r--r-- | quantum/keymap_common.c | 6 | ||||
-rw-r--r-- | quantum/quantum_keycodes.h | 14 |
2 files changed, 20 insertions, 0 deletions
diff --git a/quantum/keymap_common.c b/quantum/keymap_common.c index a0d4c1ddb0..8b09f93fce 100644 --- a/quantum/keymap_common.c +++ b/quantum/keymap_common.c @@ -146,6 +146,12 @@ action_t action_for_key(uint8_t layer, keypos_t key) action.code = ACTION_BACKLIGHT_STEP(); break; #endif + #ifdef SWAP_HANDS_ENABLE + case QK_SWAP_HANDS ... QK_SWAP_HANDS_MAX: + action.code = ACTION(ACT_SWAP_HANDS, keycode & 0xff); + break; + #endif + default: action.code = ACTION_NO; break; diff --git a/quantum/quantum_keycodes.h b/quantum/quantum_keycodes.h index a4ee4d6bb9..9040299a74 100644 --- a/quantum/quantum_keycodes.h +++ b/quantum/quantum_keycodes.h @@ -77,6 +77,10 @@ enum quantum_keycodes { QK_STENO_GEMINI = 0x5A31, QK_STENO_MAX = 0x5A3F, #endif +#ifdef SWAP_HANDS_ENABLE + QK_SWAP_HANDS = 0x5B00, + QK_SWAP_HANDS_MAX = 0x5BFF, +#endif QK_MOD_TAP = 0x6000, QK_MOD_TAP_MAX = 0x7FFF, #if defined(UNICODEMAP_ENABLE) && defined(UNICODE_ENABLE) @@ -641,4 +645,14 @@ enum quantum_keycodes { #define X(n) (n | QK_UNICODE_MAP) #endif +#ifdef SWAP_HANDS_ENABLE + #define SH_T(key) (QK_SWAP_HANDS | key) + #define SH_TG (QK_SWAP_HANDS | OP_SH_TOGGLE) + #define SH_TT (QK_SWAP_HANDS | OP_SH_TAP_TOGGLE) + #define SH_MON (QK_SWAP_HANDS | OP_SH_ON_OFF) + #define SH_MOFF (QK_SWAP_HANDS | OP_SH_OFF_ON) + #define SH_ON (QK_SWAP_HANDS | OP_SH_ON) + #define SH_OFF (QK_SWAP_HANDS | OP_SH_OFF) +#endif + #endif // QUANTUM_KEYCODES_H |