-
-
Notifications
You must be signed in to change notification settings - Fork 23
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
Occasionally does not register that you are holding a key down when detecting chatter. #12
Comments
This is a difficult problem to solve. Fundamentally, what currently happens is:
So, in short: Press (Allowed), Release (Allowed), Press (Denied), Release (Denied) There would be two theoretically ways to go about this: That '2' is an interesting option, and at first thought would work... but would then bring up a new problem: ... most key-releases are rapid. This would block a majority of key releases while typing - which would necessitate a followup solution: there'd have to be some form of auto-release logic that waits a specified time, and if the key wasn't re-pressed, sends a (fake) key release*. This has a lot of potential for side effects... including, of course, any buttons in a game that change behavior depending on how long it's pressed (eg if the timer is set to 100ms, and you press W, you can never move forward less than 100ms of movement at a time, which would could be disruptive when you need precision). * I'm not sure if a fake key-release can be done in a reliable way. It can't at all using normally available methods, though the 'Interceptor' library claims to be able to control lower level signalling like that. The current standing "good enough" workaround is using the Auto-Disable Programs tab as explained here: #11 (comment) This simply disables the chatter block automatically when you have a game open... it's far from perfect, as obviously there are inputs inside a game that would need chatter blocked still (in-game chat boxes, or special abilities that would get double-activiated, ...) but generally works out well enough - or at least, makes sure you're no worse off than you were without KeyboardChatterBlocker running, lol. |
This happened to me. My current workaround is disabling this program when gaming (where key chatters usually don't matter). |
a third way may be delaying first release for a (usually short) period of time to see if a press occurs. if press occurs simply ignore both release and press. and if it didn't happen, register that release.
|
There isn't a way to delay a release (actually forcing the thread to wait would also delay any followup presses/releases as well), other than to block it and then fake it after, which has the same |
having this same problem with measure_from: Release. I might be pressing the key too fast sometimes, even though my threshold is set to 30ms. 125hz keyboard might also be a factor. I think this might be fixed if the program checks if key is held down after the threshold, and if it is, presses the key down. |
Looks like it's a difficult to solve. Current soloution is fast to release a key, but can‘t handle long press when there is chatter happend. Steps:
The disadvantage of current soloution makes long press to a short single press, the advantage is real short single press is very fast. Another solution steps:
Two keypoint:
The disadvantage of this soloution is most short single key release will have a delay in timer, and not just do pass or denied, it need delay to send key action, I don't know if this is easy to implement, but the advantage is long press and short press will work normally. |
I am reviving this thread because it's a similar issue. this makes the use of shift in conjunction with other keys incredibly difficult. maybe a toggle-able option to ignore release when an immediate chatter-press is registered for certain keys? |
For shift, maybe just disable the chatter block? under Configure Keys add your shift key and set the chatter delay to 0. It will allow chatter through, which registers multiple key strokes, but in most contexts that's fine, as shift on its own usually doesn't do anything, it's just a held-or-not state usually, ie it's fine to leave chatter through to allow the held state to be accurate |
When using the program in games if a movement key (wasd) is detected as chatter and you are holding it down it causes the key to not register as being held down. This seems to only be a problem for games as it does not happen when holding keys down in a text box such as notepad.
The text was updated successfully, but these errors were encountered: