diff options
author | Zsolt Parragi <zsolt.parragi@cancellar.hu> | 2020-05-13 23:36:55 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-14 07:36:55 +1000 |
commit | 805f5cb72bb04c10327b40ed0c41e3848ad9ca75 (patch) | |
tree | 249680bec133e18dd2399b80cbeb14e980f1095c /tmk_core/common/action_code.h | |
parent | a8a8bf0ff3d6e1c9637079b925b30cf7eb8913fd (diff) | |
download | qmk_firmware-805f5cb72bb04c10327b40ed0c41e3848ad9ca75.tar.gz |
One shot support for swap hands (#8590)
This commits add the SH_OS keycode, which works similarly to one shot
layers:
* while pressed, the keyboard is swapped
* if no keys were pressed while it was pressed, the next key press is
swapped
SH_OS also supports chaining with one shot layers:
OSL(x) + SH_OS + key interprets the key press on the oneshot layer.
The ONESHOT_TIMEOUT setting used by one shot keys and layers is also
used by oneshot swap hands. In the above chaining scenario the timeout
of the oneshot layer is reset when swap hands is activated.
Resolves #2682
Diffstat (limited to 'tmk_core/common/action_code.h')
-rw-r--r-- | tmk_core/common/action_code.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/tmk_core/common/action_code.h b/tmk_core/common/action_code.h index f80b7a782..eea554ff2 100644 --- a/tmk_core/common/action_code.h +++ b/tmk_core/common/action_code.h @@ -294,11 +294,13 @@ enum swap_hands_param_tap_op { OP_SH_OFF_ON, OP_SH_OFF, OP_SH_ON, + OP_SH_ONESHOT, }; #define ACTION_SWAP_HANDS() ACTION_SWAP_HANDS_ON_OFF() #define ACTION_SWAP_HANDS_TOGGLE() ACTION(ACT_SWAP_HANDS, OP_SH_TOGGLE) #define ACTION_SWAP_HANDS_TAP_TOGGLE() ACTION(ACT_SWAP_HANDS, OP_SH_TAP_TOGGLE) +#define ACTION_SWAP_HANDS_ONESHOT() ACTION(ACT_SWAP_HANDS, OP_SH_ONESHOT) #define ACTION_SWAP_HANDS_TAP_KEY(key) ACTION(ACT_SWAP_HANDS, key) #define ACTION_SWAP_HANDS_ON_OFF() ACTION(ACT_SWAP_HANDS, OP_SH_ON_OFF) #define ACTION_SWAP_HANDS_OFF_ON() ACTION(ACT_SWAP_HANDS, OP_SH_OFF_ON) |