-
Notifications
You must be signed in to change notification settings - Fork 15
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
Stuck keys troubleshooting #28
Comments
I don't know what that means exactly... can you be more specific? I need very explicit steps if you want me to try to reproduce over here. And if you might be interested in learning to write some units tests that'd be even better - you could just pass me a failing test in a PR - and then I could make it green...
The lower you set it the more likely you are to trigger false key presses... if you set it to 0.1 and then you try to Cmd click but you aren't fast enough the "start menu" pops up on some distros, etc... so setting it too low just brings this problem back. #9 |
I'm not sure 0 works but theoretically at 0 you should have the EXACT broken 0.4 behavior of pressing keys too soon... it's not exactly the same of course because I'm using a single delay for multimods since two different delays doesn't make a lot of sense in my book if they are going to be similar anyways. |
The great thing about that delay was that (until you found mouse clicking) the delay probably could have been MUCH LONGER... since most people don't press and hold modifiers on their own (and need that to trigger) - the next keys are usually soon to follow and we'll know what to do... so the delay effectively didn't matter... just so long as it wasn't too short. Of course someone who was quite a slow typist might need a longer delay... but for me 1 second is an eternity to complete a keystroke. |
You don't have to guess, that's why I added the DIAG key to tell you exactly what the internal state is. |
Only problem I see so far is if you start with a key that's persisted to output it gets stuck... ie, press and hold CMD past the 1s... then start a combo... and during the process it'll forget that it started by exerting itself - so it'll never get lifted when finished. So that's a start. |
You should try the
It attempts to let each keystate track whether it has exerted itself on the output... and when the keystate is released it's responsible for releasing the output properly... hopefully this increased accountability will help. |
Just ran into a complete loss of keyboard input issue. I had remembered to change the debug key to F8 but it didn't work. It's always worked recently, since I changed it from F16. Ended up having to close the terminal tab again. I was just in here trying to type another comment in a different thread, tried to copy some text and paste it, and then couldn't type anything or switch windows or anything. Will remember the DIAG dump next time. I have that on F7. |
Make an issue and suggest an API and we can make those keys definable in your config. :) Perhaps |
DIAG isn't likely to work if BAIL doesn't work... you'll need the log if you're having that level of issues... I just started running the branch myself... I wasn't yet - but all the tests are green. We'll see if I find any weird issues. Nothing so far. |
No good on the
|
You didn't modify your config to support it... I copied you on #11. And I'm at a loss, the output looks spot on:
Of course it would just switch apps, it might not pop up the task switcher if you didn't enable sticky/bind... |
Oh, I haven't looked at that thread yet. Sounds like that will make my config incompatible with Kinto/xkeysnail already. |
I did this in a separate
|
Not getting any stuck modifiers so far, even when transitioning from Cmd+Tab to Cmd+Shift+Tab or Cmd+Shift+Grave (while holding Cmd). That's when it would always happen with the other branch. But, I'll have to go back in and set the delay down to 0.1 again for the clicking of links.
Hate to say this, but I have frequently held the Cmd key down for significant periods of time in macOS or Kinto while clicking a selection of links to open in background tabs. Shopping comparisons, opening a bunch of references from google links, things like that. I just keep that key held down for as long as I feel like I'm going to open another link, and it's never been a problem. Then again, Kinto kills Unicode character entry by excessively emitting RC presses/releases. So... 🤷🏽 |
Yeah, that's not what I meant... I meant that 1 second is a long time to complete a single combo... most people don't need a full second to complete a single combo after hitting the first modifier. I was referring to the fact that if you're trying to type out a combo VERY SLOWLY and go past the 1s marker then it'll press the wrong keys on output. Though right now you get an extra second each time you hit a new mod, so actually it's even longer. :-)
Yep but you could also define your own bind and just make it |
You should be able to start tabbing backwards now as well while holding your task switcher open... |
Is 100ms long enough that the key always registers before your first click? |
I’m not at my computer right now but I would venture to guess that with the necessary coordination between hands or the unusual reorienting of one hand to hold Cmd while tapping or clicking the touchpad, a delay of 100ms will work about 98% of the time. |
I kind of wish you had some software that would popup and annoy you if you didn't do it fast enough so you could test that side of things too. :) I wager 100ms isn't long enough for all users to find the second key in a combo and my thinking was for support requests better too long of a delay than too short of one... Until the silly clicking issue messed it all up. :) |
Yes, starting with the Shift variants did seem to work as expected with this setup. Not just transitioning from starting with the forward variants. |
@RedBearAK If you're still having good results I'll merge the branch back into main. |
This afternoon is actually the first time I've been able to get back on the laptop running You'll have to remind me how to get back on the "main" branch (just Maybe you could add a config option for the |
See the... damn which thread it is... this is coming, but still trying to figure out what to do about all the delays... |
Though you may want to |
Oh, what a tangled web of threads we weave... 👍🏽 |
@joshgoebel
Finally got a chance to do a fresh clone and try this. I set it to 0.2 and it seems to work a lot better. If I'm particularly quick it's still not quite fast enough to do what I expect. So I set it to 0.1.
It's safe to say I'm now confused a bit why the suspension time is even necessary if it can be set to such a short delay.
And still having issues with stuck modifiers. Seems to happen pretty reliably after using something like Cmd+Tab then moving to Cmd+Shift+Grave. Once the new window pops up, there is definitely at least one stuck modifier. I think it may be multiple keys because tapping just Alt (physical Super/Win) or RC (physical Alt) doesn't completely stop unexpected actions from occurring.
The text was updated successfully, but these errors were encountered: