rbreaves / kinto

Mac-style shortcut keys for Linux & Windows.
http://kinto.sh
GNU General Public License v2.0
4.25k stars 213 forks source link

Modifier key (shift) not captured after another modifier key is released #738

Closed gabstv closed 1 year ago

gabstv commented 1 year ago

Describe the bug If I press LShift+Right right after pressing LM+LShift+Left (the LShift key was still physically held down) the debug shows that only Right was pressed.

Expected behavior If the LShift key was not physically released between combinations, it should still register as pressed.

Install Type: Bare Metal Distro: Ubuntu 22.04 LTS DE: Gnome Branch: master Commit: 6aa5cc5

Screenshots Pressing LM+LShift+Left a few times to select by words in VSCode. Screenshot from 2022-08-04 11-29-40 While still holding shift, if the right arrow key is pressed, it registers only as Right (instead of LShift+Right). This cancels the current selection in VSCode. Screenshot from 2022-08-04 11-30-02

gabstv commented 1 year ago

I found out that this is a xkeysnail issue mooz/xkeysnail#109 that appears to be fixed at v0.4 Edit:

pip3 install xkeysnail --upgrade

This fixed the issue for me.

rbreaves commented 1 year ago

That’ll introduce much worse issues 😅.. I forked it for reasons.

the answer is likely me porting Kinto to keyszer - not using the latest xkeysnail which will definitely break Kinto.

gabstv commented 1 year ago

Oops... Well, so far I didn't notice any new side effects, but that's good to know. Thanks!

JohnnyMarnell commented 1 year ago

Any idea how hard it would be to get the patch that fixed this in v0.4.0 into the fork in the meantime?

This app is a life saver, but I'm dying by my habit of Command-Shift-Arrow to select to EOL, then lifting up Command and using arrow to trim/extend that side of the selection :( @gabstv @rbreaves @RedBearAK

RedBearAK commented 1 year ago

@JohnnyMarnell

My solution to avoid a number of different problems and get new features was to move to keyszer months ago. I haven't used xkeysnail for quite a while. Until someone makes a new installer or script, it's not exactly simple, but someone managed it by following my instructions in this thread:

https://github.com/rbreaves/kinto/pull/750#issuecomment-1451170466

Switching to keyszer seems to solve this kind of problem. But you'll need to use the newer config attached to that PR that is intended for use with keyszer.