Karabiner-elements: to_if_alone sends KeyUp first, is it right behaviour?

Created on 4 Nov 2017  路  5Comments  路  Source: pqrs-org/Karabiner-Elements

All of my to_if_alone settings along with your default SandS configuration sends KeyUp first followed by KeyDown.
Due to this behaviour, for example, QuickLook does not work correctly when I applied SandS in Karabiner-Elements.
Is this behaviour within your expectation?
Or does something go wrong with my Karabiner-Elements?

eventType:FlagsChanged    code:0x38       name:left_shift      flags:Shift                              misc:
eventType:FlagsChanged    code:0x38       name:left_shift      flags:                                   misc:
eventType:KeyUp           code:0x31       name:spacebar        flags:                                   misc:
eventType:KeyDown         code:0x31       name:spacebar        flags:                                   misc:

I am wondering most users are not affected by this issue.
So this seems related to my local environment, but uninstall and re-install of Karabiner-Elements does not solve this issue.
And this seems not to be a conflict between Karabiner-Elements and other apps because only activating Karabiner-Elements does cause the issue.

I am wondering updating Karabiner-Elements from wwwjfy's patch might cause the problem, though I don't know at all.

My environment is:
macOS Sierra 10.12.6
Karabiner-Elements 11.1.0
MacBook Pro (Retina, 15-inch, Mid 2014)

A clean install of OS would solve this but it's too tough a process which I don't want to do.
However, I'm suffered from this behaviour so long.
I hope the issue would be clarified.

Thank you for the great software.

stale

Most helpful comment

From v11.3.7, my issue seems fixed!
And following the official manual, I added "lazy": true to to sections of each to_if_alone settings, which resulted that eventType:FlagsChanged disappers when I hit to_if_alone-enabled key alone.
Things pretty work well at this moment.
Thank you so much, my productivity has been revitalised!

All 5 comments

I've increase the wait between continuous key events at v11.1.12.
Please confirm the latest beta version.
https://pqrs.org/osx/karabiner/document.html#check-for-updates

@tekezo Thank you for your prompt reply!
I tried v11.1.18-11.2.0.
Although I found the issue is calmed down until the second or third attempts, to_if_alone still sends KeyUp first in most cases after that.
If this is a just my-device-specific issue, I am sorry for that.
I apologise for bothering you.聽

For your information, I put an example where only the default SandS rule is applied and pressing space_bar several times.

eventType:FlagsChanged    code:0x38       name:left_shift      flags:Shift                              misc:
eventType:FlagsChanged    code:0x38       name:left_shift      flags:                                   misc:
eventType:KeyDown         code:0x31       name:spacebar        flags:                                   misc:
eventType:FlagsChanged    code:0x38       name:left_shift      flags:Shift                              misc:
eventType:FlagsChanged    code:0x38       name:left_shift      flags:                                   misc:
eventType:KeyDown         code:0x31       name:spacebar        flags:                                   misc:
eventType:KeyUp           code:0x31       name:spacebar        flags:                                   misc:
eventType:FlagsChanged    code:0x38       name:left_shift      flags:Shift                              misc:
eventType:FlagsChanged    code:0x38       name:left_shift      flags:                                   misc:
eventType:KeyDown         code:0x31       name:spacebar        flags:                                   misc:
eventType:KeyUp           code:0x31       name:spacebar        flags:                                   misc:
eventType:FlagsChanged    code:0x38       name:left_shift      flags:Shift                              misc:
eventType:FlagsChanged    code:0x38       name:left_shift      flags:                                   misc:
eventType:KeyDown         code:0x31       name:spacebar        flags:                                   misc:
eventType:KeyUp           code:0x31       name:spacebar        flags:                                   misc:
eventType:FlagsChanged    code:0x38       name:left_shift      flags:Shift                              misc:
eventType:FlagsChanged    code:0x38       name:left_shift      flags:                                   misc:
eventType:KeyDown         code:0x31       name:spacebar        flags:                                   misc:
eventType:FlagsChanged    code:0x38       name:left_shift      flags:Shift                              misc:
eventType:FlagsChanged    code:0x38       name:left_shift      flags:                                   misc:
eventType:KeyUp           code:0x31       name:spacebar        flags:                                   misc:
eventType:KeyDown         code:0x31       name:spacebar        flags:                                   misc:
eventType:FlagsChanged    code:0x38       name:left_shift      flags:Shift                              misc:
eventType:FlagsChanged    code:0x38       name:left_shift      flags:                                   misc:
eventType:KeyUp           code:0x31       name:spacebar        flags:                                   misc:
eventType:KeyDown         code:0x31       name:spacebar        flags:                                   misc:
eventType:FlagsChanged    code:0x38       name:left_shift      flags:Shift                              misc:
eventType:FlagsChanged    code:0x38       name:left_shift      flags:                                   misc:
eventType:KeyUp           code:0x31       name:spacebar        flags:                                   misc:
eventType:KeyDown         code:0x31       name:spacebar        flags:                                   misc:
eventType:FlagsChanged    code:0x38       name:left_shift      flags:Shift                              misc:
eventType:FlagsChanged    code:0x38       name:left_shift      flags:                                   misc:
eventType:KeyUp           code:0x31       name:spacebar        flags:                                   misc:
eventType:KeyDown         code:0x31       name:spacebar        flags:                                   misc:
eventType:FlagsChanged    code:0x38       name:left_shift      flags:Shift                              misc:
eventType:FlagsChanged    code:0x38       name:left_shift      flags:                                   misc:
eventType:KeyUp           code:0x31       name:spacebar        flags:                                   misc:
eventType:KeyDown         code:0x31       name:spacebar        flags:                                   misc:

I get similar results with my mapping of caps-lock to escape if pressed alone, and to left-control if held.

The left control flags always change, but the escape key sometimes only has the key up, or only the key down event fire. I experience having to hit the caps lock key multiple times in some instances to get the program I'm using to register the escape press.

I'm not sure if this is the same issue as above, or if it's an unrelated issue. If it's unrelated, I'll move to a new issue, but if not, I thought I would throw my info out there. If I can help debug anything, let me know, I would be happy to help!


Karabiner-EventViewer output

eventType:KeyUp           code:0x35       name:escape          flags:                                   misc:
eventType:KeyDown         code:0x35       name:escape          flags:                                   misc:
eventType:FlagsChanged    code:0x3b       name:left_control    flags:Ctrl                               misc:
eventType:FlagsChanged    code:0x3b       name:left_control    flags:                                   misc:
eventType:KeyUp           code:0x35       name:escape          flags:                                   misc:
eventType:KeyDown         code:0x35       name:escape          flags:                                   misc:
eventType:FlagsChanged    code:0x3b       name:left_control    flags:Ctrl                               misc:
eventType:FlagsChanged    code:0x3b       name:left_control    flags:                                   misc:
eventType:KeyUp           code:0x35       name:escape          flags:                                   misc:
eventType:KeyDown         code:0x35       name:escape          flags:                                   misc:
eventType:FlagsChanged    code:0x3b       name:left_control    flags:Ctrl                               misc:
eventType:FlagsChanged    code:0x3b       name:left_control    flags:                                   misc:
eventType:KeyUp           code:0x35       name:escape          flags:                                   misc:
eventType:KeyDown         code:0x35       name:escape          flags:                                   misc:
eventType:FlagsChanged    code:0x3b       name:left_control    flags:Ctrl                               misc:
eventType:FlagsChanged    code:0x3b       name:left_control    flags:                                   misc:
eventType:KeyUp           code:0x35       name:escape          flags:                                   misc:
eventType:KeyDown         code:0x35       name:escape          flags:                                   misc:
eventType:FlagsChanged    code:0x3b       name:left_control    flags:Ctrl                               misc:
eventType:FlagsChanged    code:0x3b       name:left_control    flags:                                   misc:
eventType:KeyUp           code:0x35       name:escape          flags:                                   misc:
eventType:KeyDown         code:0x35       name:escape          flags:                                   misc:
eventType:FlagsChanged    code:0x3b       name:left_control    flags:Ctrl                               misc:
eventType:FlagsChanged    code:0x3b       name:left_control    flags:                                   misc:
eventType:KeyUp           code:0x35       name:escape          flags:                                   misc:
eventType:KeyDown         code:0x35       name:escape          flags:                                   misc:
eventType:FlagsChanged    code:0x3b       name:left_control    flags:Ctrl                               misc:
eventType:FlagsChanged    code:0x3b       name:left_control    flags:                                   misc:
eventType:KeyUp           code:0x35       name:escape          flags:                                   misc:
eventType:KeyDown         code:0x35       name:escape          flags:                                   misc:
eventType:FlagsChanged    code:0x3b       name:left_control    flags:Ctrl                               misc:
eventType:FlagsChanged    code:0x3b       name:left_control    flags:                                   misc:
eventType:KeyUp           code:0x35       name:escape          flags:                                   misc:
eventType:FlagsChanged    code:0x3b       name:left_control    flags:Ctrl                               misc:
eventType:FlagsChanged    code:0x3b       name:left_control    flags:                                   misc:
eventType:KeyDown         code:0x35       name:escape          flags:                                   misc:
eventType:KeyUp           code:0x35       name:escape          flags:                                   misc:
eventType:FlagsChanged    code:0x3b       name:left_control    flags:Ctrl                               misc:
eventType:FlagsChanged    code:0x3b       name:left_control    flags:                                   misc:
eventType:KeyDown         code:0x35       name:escape          flags:                                   misc:
eventType:FlagsChanged    code:0x3b       name:left_control    flags:Ctrl                               misc:
eventType:FlagsChanged    code:0x3b       name:left_control    flags:                                   misc:
eventType:KeyUp           code:0x35       name:escape          flags:                                   misc:
eventType:FlagsChanged    code:0x3b       name:left_control    flags:Ctrl                               misc:
eventType:FlagsChanged    code:0x3b       name:left_control    flags:                                   misc:
eventType:KeyDown         code:0x35       name:escape          flags:                                   misc:

From v11.3.7, my issue seems fixed!
And following the official manual, I added "lazy": true to to sections of each to_if_alone settings, which resulted that eventType:FlagsChanged disappers when I hit to_if_alone-enabled key alone.
Things pretty work well at this moment.
Thank you so much, my productivity has been revitalised!

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

willisworley picture willisworley  路  3Comments

rcaputo picture rcaputo  路  3Comments

Farzy picture Farzy  路  3Comments

Joilence picture Joilence  路  3Comments

Fengur picture Fengur  路  3Comments