1.0 KiB
1.0 KiB
OneShot Keycodes
OneShot keys or sticky keys enable you to have keys that keep staying pressed for a certain time or until another key is pressed and released. If the timeout expires or other keys are pressed, and the sticky key wasn't released, it is handled as a regular key hold.
Enable OneShot Keys
from kmk.modules.oneshot import OneShot
oneshot = OneShot()
# optional: set a custom tap timeout in ms (default: 1000ms)
# oneshot.tap_time = 1500
keyboard.modules.append(modtap)
Keycodes
Keycode | Aliases | Description |
---|---|---|
KC.OS(KC.ANY) |
KC.ONESHOT |
make a sticky version of KC.ANY |
KC.ONESHOT
accepts any valid key code as argument, including modifiers and KMK
internal keys like momentary layer shifts.
Custom OneShot Behavior
The full OneShot signature is as follows:
KC.OS(
KC.TAP, # the sticky keycode
tap_time=None # length of the tap timeout in milliseconds
)