add hold-tap interrupt behavior: prefer hold.
The interrupt resolution of hold-tap keys can now be set to resolve to either tap or hold key. The default mod-tap is set to prefer hold.
This commit is contained in:
parent
0f7afe5b2c
commit
21c058aaa8
@ -22,11 +22,11 @@ def layer_key_validator(layer, kc=None):
|
|||||||
return LayerKeyMeta(layer=layer, kc=kc)
|
return LayerKeyMeta(layer=layer, kc=kc)
|
||||||
|
|
||||||
|
|
||||||
def mod_tap_validator(kc, mods=None):
|
def mod_tap_validator(kc, mods=None, prefer_hold=True):
|
||||||
'''
|
'''
|
||||||
Validates that mod tap keys are correctly used
|
Validates that mod tap keys are correctly used
|
||||||
'''
|
'''
|
||||||
return ModTapKeyMeta(kc=kc, mods=mods)
|
return ModTapKeyMeta(kc=kc, mods=mods, prefer_hold=prefer_hold)
|
||||||
|
|
||||||
|
|
||||||
def tap_dance_key_validator(*codes):
|
def tap_dance_key_validator(*codes):
|
||||||
|
@ -112,7 +112,13 @@ class HoldTap(Module):
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
def ht_activate_on_interrupt(self, key, keyboard, *args, **kwargs):
|
def ht_activate_on_interrupt(self, key, keyboard, *args, **kwargs):
|
||||||
self.ht_activate_tap(key, keyboard, *args, **kwargs)
|
if key.meta.prefer_hold:
|
||||||
|
self.ht_activate_hold(key, keyboard, *args, **kwargs)
|
||||||
|
else:
|
||||||
|
self.ht_activate_tap(key, keyboard, *args, **kwargs)
|
||||||
|
|
||||||
def ht_deactivate_on_interrupt(self, key, keyboard, *args, **kwargs):
|
def ht_deactivate_on_interrupt(self, key, keyboard, *args, **kwargs):
|
||||||
self.ht_deactivate_tap(key, keyboard, *args, **kwargs)
|
if key.meta.prefer_hold:
|
||||||
|
self.ht_deactivate_hold(key, keyboard, *args, **kwargs)
|
||||||
|
else:
|
||||||
|
self.ht_deactivate_tap(key, keyboard, *args, **kwargs)
|
||||||
|
@ -18,9 +18,10 @@ class LayerKeyMeta:
|
|||||||
|
|
||||||
|
|
||||||
class ModTapKeyMeta:
|
class ModTapKeyMeta:
|
||||||
def __init__(self, kc=None, mods=None):
|
def __init__(self, kc=None, mods=None, prefer_hold=True):
|
||||||
self.mods = mods
|
self.prefer_hold = prefer_hold
|
||||||
self.kc = kc
|
self.kc = kc
|
||||||
|
self.mods = mods
|
||||||
|
|
||||||
|
|
||||||
class KeySequenceMeta:
|
class KeySequenceMeta:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user