New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

one shot modifier event occurs after the key to be modified in libinput-1.9.3 #2081

Closed
tim-tx opened this Issue Nov 30, 2017 · 2 comments

Comments

Projects
None yet
3 participants
@tim-tx

tim-tx commented Nov 30, 2017

I recently upgraded my system to libinput-1.9.3 from libinput-1.9.2. My one shot shift key had worked as expected before the upgrade, but now only works for the bottom row (ZXCVBNM... in qwerty). Hitting the one shot shift and a key on one of the other rows just produces a lowercase character. Xev shows that the shift modifier actually registers after second key for these other rows, but in the correct order for the bottom row. The log is attached, I hit n, m, h, j, OSM(MOD_LSFT) + n, osm + m, osm + h, osm + j. You see the right order for osm + {n,m}, but shift registering second for osm + {h,j}. Downgrading to libinput-1.9.2 fixed the issue. This is on an Ergodox EZ, my layout is here.

xev.log

@pushcx

This comment has been minimized.

Show comment
Hide comment
@pushcx

pushcx Dec 4, 2017

I also have this bug on a Planck using a custom layout - same behavior that keys on the same row as the one-shot key work but not others. Happens with both OSM and OSL. Downgrading to Arch's libinput 1.9.2 worked around it for me.

The most likely related lines in the release notes are about debouncing, which has three threads: 1 2 3. If this is libinput's bug, it has not been reported on their tracker.

Hope this helps. I'd try to run this down further, but I know basically nothing of qmk or libinput and my C is very rusty.

pushcx commented Dec 4, 2017

I also have this bug on a Planck using a custom layout - same behavior that keys on the same row as the one-shot key work but not others. Happens with both OSM and OSL. Downgrading to Arch's libinput 1.9.2 worked around it for me.

The most likely related lines in the release notes are about debouncing, which has three threads: 1 2 3. If this is libinput's bug, it has not been reported on their tracker.

Hope this helps. I'd try to run this down further, but I know basically nothing of qmk or libinput and my C is very rusty.

@drashna

This comment has been minimized.

Show comment
Hide comment
@drashna

drashna Mar 25, 2018

Collaborator

This should work in libinput 1.9.4-1 now. Closing.

If it doesn't, please reopen

Collaborator

drashna commented Mar 25, 2018

This should work in libinput 1.9.4-1 now. Closing.

If it doesn't, please reopen

@drashna drashna closed this Mar 25, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment