implement hold-tap interrupt on other key tap (i.e. release)

This commit is contained in:
xs5871
2022-01-29 21:11:57 +00:00
committed by Kyle Brown
parent 5cae17c9f3
commit a685618480
3 changed files with 63 additions and 22 deletions

View File

@@ -11,7 +11,7 @@ def key_seq_sleep_validator(ms):
return KeySeqSleepMeta(ms)
def layer_key_validator(layer, kc=None):
def layer_key_validator(layer, kc=None, tap_time=None):
'''
Validates the syntax (but not semantics) of a layer key call. We won't
have access to the keymap here, so we can't verify much of anything useful
@@ -19,14 +19,24 @@ def layer_key_validator(layer, kc=None):
existing is mostly that Python will catch extraneous args/kwargs and error
out.
'''
return LayerKeyMeta(layer=layer, kc=kc)
return LayerKeyMeta(
layer=layer, kc=kc, prefer_hold=False, tap_interrupted=False, tap_time=tap_time
)
def mod_tap_validator(kc, mods=None, prefer_hold=True, tap_time=None):
def mod_tap_validator(
kc, mods=None, prefer_hold=True, tap_interrupted=False, tap_time=None
):
'''
Validates that mod tap keys are correctly used
'''
return ModTapKeyMeta(kc=kc, mods=mods, prefer_hold=prefer_hold, tap_time=tap_time)
return ModTapKeyMeta(
kc=kc,
mods=mods,
prefer_hold=prefer_hold,
tap_interrupted=tap_interrupted,
tap_time=tap_time,
)
def tap_dance_key_validator(*codes):