Jump to content

Remove debouncing/"keyboard chatter" issues with custom keypress proxy

Go to solution Solved by Mr_KoKa,

It is called hook and I found this https://stackoverflow.com/questions/2067397/can-i-change-a-users-keyboard-input it looks like what you want to achieve.

So, I have a Corsair k70 that recently started showing signs of what I would have just called debouncing issues but seems to be called "key chatter" on the internet. Basically I have some keys on the keyboard that mistakenly press twice as I'm typing for no good reason. I'm not in the mood to try to figure out if it's a hardware switch issue (especially since it affects multiple keys), so I ended up finding some recommended software that basically intercepts all keys and, if it detects "key chatter", removes the extra presses.

 

Now, it's not that I don't trust the internet hivemind's recommended software (it seems to be working fine for those who used it), but with anything that's essentially a key logger, (i) I would like to have the source code available to dive through, and (ii) I feel like it shouldn't be all that difficult to implement what is essentially a "keypress proxy" myself, especially since I'm not interested in using it for malicious purposes with the need to evade antivirus, etc.

 

The part I'm stuck on is that I've written applications that use keyboard input before, but I'm really not sure what considerations have to be made in that I now want to (i) capture all keyboard input regardless of what application actually has focus, which makes me think it needs to be some kind of background service and (ii) replay the input I receive in a way that's interpreted by Windows as native (or as close to native as possible) keypresses after the input has been filtered. I was primarily thinking I'd choose to do this in Java/Python, but I'd be down to use C/C++ or .NET/C# if they give me a better interface to Windows APIs if necessary.

 

Anyway, implementation approaches/recommendations would be appreciated

Link to comment
Share on other sites

Link to post
Share on other sites

  • 2 weeks later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×