diff options
author | Zsolt Parragi <zsolt.parragi@cancellar.hu> | 2020-05-13 23:36:55 +0200 |
---|---|---|
committer | Florian Didron <fdidron@users.noreply.github.com> | 2020-06-12 17:00:27 +0900 |
commit | 83a785cca3ae59092217338558c6073a283ee1dd (patch) | |
tree | ff47056ea9116674e9947c0a66eb2e47162663c1 /tmk_core/common/action_util.h | |
parent | b50d24a323a353037fe8fc0368cc54242f988eef (diff) |
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_util.h')
-rw-r--r-- | tmk_core/common/action_util.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/tmk_core/common/action_util.h b/tmk_core/common/action_util.h index 1ce03ed0e4..5dd8393da4 100644 --- a/tmk_core/common/action_util.h +++ b/tmk_core/common/action_util.h @@ -77,6 +77,7 @@ void reset_oneshot_layer(void); bool is_oneshot_layer_active(void); uint8_t get_oneshot_layer_state(void); bool has_oneshot_layer_timed_out(void); +bool has_oneshot_swaphands_timed_out(void); void oneshot_locked_mods_changed_user(uint8_t mods); void oneshot_locked_mods_changed_kb(uint8_t mods); @@ -88,6 +89,13 @@ void oneshot_layer_changed_kb(uint8_t layer); /* inspect */ uint8_t has_anymod(void); +#ifdef SWAP_HANDS_ENABLE +void set_oneshot_swaphands(void); +void release_oneshot_swaphands(void); +void use_oneshot_swaphands(void); +void clear_oneshot_swaphands(void); +#endif + #ifdef __cplusplus } #endif |