Enabling HoldTap will give you access to the following keycodes and can simply be added to the modules list.
from kmk.modules.holdtap import HoldTap
holdtap = HoldTap()
# optional: set a custom tap timeout in ms
# holdtap.tap_time = 300
Custom HoldTap Behavior
The full HoldTap signature is as follows:
KC.HT(KC.TAP, KC.HOLD, prefer_hold=True, tap_interrupted=False, tap_time=None, repeat=HoldTapRepeat.NONE)
prefer_hold: decides which keycode the HoldTap key resolves to when another key is pressed before the timeout finishes. When
Truethe hold keycode is chosen, the tap keycode when
tap_interrupted: decides if the timeout will interrupt at the first other key press/down, or after the first other key up/release. Set to
Truefor interrupt on release.
tap_time: length of the tap timeout in milliseconds.
repeat: decides how to interpret repeated presses if they happen within
tap_timeafter a release.
TAP: repeat tap action, if previous action was a tap.
HOLD: repeat hold action, if previous action was a hold.
ALL: repeat all of the above.
NONE: no repeat action (default), everything works as expected. The
HoldTapRepeatenum must be imported from
Each of these parameters can be set for every HoldTap key individually.