Skip to content

Commit f8165f5

Browse files
committed
(fix) only resuspend if a key was just pressed (not repeated)
1 parent c1c3cf4 commit f8165f5

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

src/keyszer/transform.py

+7-4
Original file line numberDiff line numberDiff line change
@@ -378,15 +378,15 @@ def on_event(event, device_name):
378378
def on_key(keystate, context):
379379
global _last_key
380380
hold_output = False
381-
can_suspend = False
381+
should_suspend = False
382382

383383
key, action = (keystate.key, keystate.action)
384384
debug("on_key", key, action)
385385

386386
if Modifier.is_modifier(key):
387387
if action.is_pressed():
388388
if none_pressed():
389-
can_suspend = True
389+
should_suspend = True
390390

391391
elif action.is_released():
392392
if is_sticky(key):
@@ -404,10 +404,13 @@ def on_key(keystate, context):
404404
resume_keys()
405405

406406
update_pressed_states(keystate)
407-
if can_suspend or is_suspended():
407+
408+
if should_suspend or is_suspended():
408409
keystate.suspended = True
409-
suspend_or_resuspend_keys()
410410
hold_output = True
411+
if action.just_pressed():
412+
suspend_or_resuspend_keys()
413+
411414
if not hold_output:
412415
_output.send_key_action(key, action)
413416
elif keystate.is_multi and action.just_pressed():

0 commit comments

Comments
 (0)