Giter Club home page Giter Club logo

keyboardchatterblocker's Introduction

Keyboard Chatter Blocker

Keyboard chatter blocker is a quick handy tool to block mechanical keyboard chatter on Windows PCs.

Click here for the steps to get it running.


The Problem

Mechanical keyboards sometimes have a problem known as "chatter", wherein certain keys will seem to repeat keystrokes two or more times very rapidly when only pressed once.

The Existing Solutions

So solution number one is obvious: just replace the broken key switch (or the entire keyboard).

Solution number two is: Well, there are existing software solutions, that block very rapidly repeated keystrokes to fix the chatter problem. I've been using "Keyboard Chattering Fix v 0.0.1", Copyright in 2014 to the "Keyboard Chattering Fix Project"... I can't find an appropriate source link for this project, likely it was just a one-off creation in 2014 without updates and there's not much more to it. I've also come across "Keyboard Unchatter" by ZoserLock here on GitHub at ZoserLock/keyboard-unchatter.

The Limitations of The Existing Solutions

Replacing keyboard switches or entire keyboards, of course, can be difficult to do and tends to cost money. A software solution may be preferrable to many people.

Both of the mentioned software projects projects seem quite... decent, but they lack some critical functionality. In my case, the "h" key has a chatter problem (when I type "the", it types "theh"). The chatter is in the 100ms range... and I really don't want to block all keystrokes under 100ms (I'm a fast typer). Unfortunately, these existing options don't have a solution for me... so, instead, I've made a solution that fits my case and present it here to the public. (Also, with all due respect to the authors of the mentioned projects: I can't find source code to one, and the source code for the other isn't particularly clean or well written.)

This Project's Solution

I've taken a similar approach to the software solutions mentioned above, but with the notable extra feature of: you can configure the chatter threshold on a per-key basis. So I can have a high threshold for my 'h' key, and a lower threshold for the rest of my keyboard. Fixes the chatter without getting in the way! Anyone who uses this project will be treated to a rather straightforward set of GUIs to control this (or you can edit a config file, if that's your preference). (Also: I've made a point of making very clean clear code for this project, and have it under the MIT license, as I want it to be something anyone can fork and feel they've made a good decision forking instead of remaking.)

Screenshots:

Log Configure


Requirements

  • A standard Windows PC (not likely to be Mac/Linux compatible) (tested on Windows 10 Home x64 and Windows 11 Pro)
  • .NET Framework 4.7.2 or newer

Setup

  • A:
    1. Download the release file (Or build from source)
    2. Save the .exe in ... any folder anywhere really. A sub-folder on your desktop or your documents is fine. A folder under program files will also work, though note that will redirect the config file to LocalAppData.
    3. Run the .exe
  • Or B:
    1. Download the Installer Wizard (.msi)
    2. Run the wizard, and configure it however you prefer.
    3. At the end of the wizard, the program will automatically launch.
  1. Configure settings as preferred, test with care (check the "Enable" box to have the blocker active, uncheck it if it's in the way)
    • To configure individual keys, switch to the "Configure Keys" tab, and press "Add Key" to add a key, then in the form that pops up, press the key you want to add. You can then edit it's value in the grid by double-clicking the number and typing whatever you please in place. To remove a key's explicit custom value, simply double-click the [X] for it under "Remove".
  2. Check the "Enable", "Start In Tray", and "Start With Windows" boxes so it'll be active and just always be there.
  3. Click the "X" to close the window (the program will hide in the system tray for so long as "Start In Tray" is checked), and type happily with the program protecting you from chatter! If you need to adjust configuration, just go open the program in the tray and adjust freely. To stop the program from being in the way if you decide you don't need it anymore, just uncheck "Start In Tray" and "Start With Windows" ... once you close it after that, it will be gone until you specifically open it back up again.

General Notes

  • You can theoretically block any key on a keyboard that registers as a standard keypress. This includes weird special keys like a volume wheel. You might want to set volume wheels to threshold of zero if you have one. Extremely specialized keys (such as G Keys) might not be standard keypresses and thus not be blockable. If in doubt: try it and see!
  • You can block mouse buttons if you want (Left/Right/Middle/Forward/Backward). Be careful if you block left mouse button chatter: if you set the limit too high, you might become unable to double-click. If you get stuck, you can either uncheck the Enabled box to regain control and fix that, or, if needed, use Task Manager to kill the blocker program, and then edit the config file (see config notes below).
  • You can manually edit your config to add wheel_change key detector, if you have a counter-scroll/wheel bounce issue similar to what's described in issue #17.
  • This only works in user-space. That is, the Windows login screen and other sensitive Windows protected input areas will not have chatter blocked. You might want to use a PIN or other login method to avoid chatter problems that affect a password login (see also issue #7).
  • You can add a list of programs that will cause the blocker to automatically disable when those programs are open. This is useful for example with games, as you often don't want rapid keystrokes blocked while gaming. This will be matched by executable name.
  • If you play online games, be careful that some anticheat software may block you for running this software, as it does control and alter keyboard input from software, which likely appears similar to cheat programs. See also issue #15 which reports a VAC ban in CSGO from running KeyboardChatterBlocker.

Config File Notes

If you're the type of person to care about the config file and want to edit it manually, The config file is literally just a config.txt file in the same folder as the executable (unless you installed into Program Files, in which case the config file is at %localappdata%/KeyboardChatterBlocker). Each line is one setting to apply. Prefix a line with # to make it a comment. All uncommented (and non-blank) lines are settings, of the form name: value. The following settings are available:

  • is_enabled: Set to true to be activated as normal, or false to turn the chatter protection off.
  • global_chatter: Set to the time (in ms) for the default global keyboard chatter threshold.
  • hide_in_system_tray: Set to true to make the program hide in the system tray at start, or false to load as a visible GUI app.
  • keys.<KEY>: (for example, keys.H) set to the time (in ms) for that specific key's keyboard chatter threshold.
  • auto_disable_programs: Set to a list of executable names (case insensitive, without the .exe) separated by slashes (like some_video_game/other_game) that will cause the chatter block to automatically disable whenever that program is open.
  • auto_disable_on_fullscreen: set to true to auto-disable the chatter block when any application is open in fullscreen - see also #26. This prevents interrupting controls in games, but won't be perfect for preventing online game bans (eg if you alt-tab it will hook the keyboard again and some game anticheats may detect that).
  • hotkey_toggle, hotkey_enable, hotkey_disable, hotkey_tempenable, hotkey_tempdisable: set to a key combo. Must be a combination of any of control, alt, win, shift, and any valid key separated by +. For example control + a, win + alt + b, shift + d1. Note that hotkeys including control often won't work as they often get reserved by other applications (or Windows itself). This line will register a global hotkey that performs the applicable action (eg hotkey_disable: win + shift + pause will allow you to hold those three keys together at any time to immediately disable the chatter blocker). The tempdisable and tempenable pair allow for disabling in a temporary way (ie, don't affect or override the main application setting, useful for things like AutoHotKey scripts).
  • hotkey_tempblock: set to a key combo (any list of keys separated by +). Refer to Microsoft Keys Enum for a list of valid key IDs. Note that you need to use precise key IDs, such as LShiftKey (for left shift) rather than generic ones like Shift. If you have hotkey_tempblock set, any time hold this combination down, all key inputs (down or up) will be discarded. If you have mouse buttons listed as blockable, mouse inputs will be blocked too. For example, hotkey_tempblock: pause will allow you to hold the Pause key at any time to pause all input recognition. This is useful for example to block press a key down, and then hold your Pause input to block the release, allowing an app to see it as still being held down (for example: press down on Shift, press down on Pause, release Shift, release Pause, then type - all your input text will then be capitalized).
  • measure_from set to Press or Release (defaults to Press) to choose when to measure chatter delay from - the last key press, or last key release.

Other Features

  • You can add any chatter.wav file next to the .exe, and it will be automatically played when chatter is detected. This feature was requested by #32. You can download sound files for example here. The only requirement is that it be in .wav format. (If you do not place such a file, no audio player capabilities will be loaded at all. This is detected at startup, if you want to add one while you have the program open you must close it and reopen it).

Licensing pre-note:

This is an open source project, provided entirely freely, for everyone to use and contribute to.

If you make any changes that could benefit the community as a whole, please contribute upstream.

The short of the license is:

You can do basically whatever you want (as long as you give credit), except you may not hold any developer liable for what you do with the software.

The long version of the license follows:

The MIT License (MIT)

Copyright (c) 2019-2024 Alex "mcmonkey" Goodwin

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

keyboardchatterblocker's People

Contributors

mcmonkey4eva avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

keyboardchatterblocker's Issues

Just want to say thanks!

I was using "Keyboard Chattering Fix v 0.0.1" and it has 2 very important shortcomings that you didn't mention:

  1. It doesn't work for UWP applications
  2. It doesn't work in Chrome when IME is active

Your app fixes both scenarios!

Good job!

BTW, I use 150% Windows font size, so the UI is a little corrupted (see attachment)
微信截图_20211127080951
.

Suggestion: Auto quit when anti-cheat software is open

I'd would be really useful if the software could automatically quit when it recognizes popular anti-cheat software (BattlEye, Easy Anti-Cheat, EQU8, ESEA, FacelT, mhyprot2, nProtect GameGuard, PunkBuster, Ricochet, TenProtect, Vanguard, XIGNCODE3,...)

It will just do a message pop-up with sound explaining why it's closing

Can't type diacritic when KeyboardChatterBlocker is on

Yesterday I downloaded KeyboardChatterBlocker and it fixed my keyboard chatter, I was so happy. But today after turning on the computer something strange happened. I can't type letter with diacritic like á ẻ ọ... anymore https://en.wikipedia.org/wiki/Diacritic
When I try to type letter with diacritic while KeyboardChatterBlocker is enabled, nothing happens. Looking at the chatter log, the key is listed as Packet. The software I use to type letter with diacritic is EVKey, a software to type Vietnamese's characters with diacritic, I have tried using a different typing software similar to EVKey, sadly it didn't fix the problem.
Here is a short video to demonstrate what I'm trying to say: https://drive.google.com/file/d/1fOdtQalkm5m-Xi3Jrnmpap92ZN7eN4xR/view?usp=share_link

Volume scroll

The program could be improved be being able to disable the effect on particular keys under Configure Keys, my volume scroll wheel works very very slowly when program is enabled
image

Cannot add Tab key

My Tab key is chattering but I am unable to add it to the Configure Keys list because it tabs through the dialog box!

UI doesn't respond to Windows scaling

There's one problem that I've noticed with a lot of smaller Windows apps, and I never quite figured out what causes it.

In Windows 10's Display Settings, if you change the scaling to something other than 100%, this app doesn't seem to adjust with it. Below is how it appears at 175% scaling (note that the text is blurry).

2023-12-05_10-41-14

And here's how it looks at 100% scaling.

2023-12-05_10-41-32

(Desktop scaling is useful for 4k monitors, otherwise the icons and text become way too tiny).

Most programs are able to account for this, but I've noticed that a lot of FOSS/freeware programs become blurry instead of scaling correctly (even large FOSS projects like GIMP and Inkscape suffer from this, if I recall correctly).

Is there a reason why scaling never seems to work correctly? It would be a major UI improvement if it were possible to get this working, but I'm guessing there's some reason why it isn't as easy as it looks.

Can't add mouse wheel up and down

My mouse wheel has an absolutely awful habit of scrolling up even when I'm scrolling down fast. Not much else I can say. Don't even know if this program is designed for that, albeit it works really well on keyboards so far. Same issue I had with my H and O.

`mouse_backward` and `mouse_forward` chatter not blocked

Application correctly registers that chatter occurred (chatter.wav is played), but the second click is not blocked (chatter still occurs).

I tested this by setting mouse_backward's chatter threshold to 1000 and double clicking that key. chatter.wav played, but applications that I tested this on (file explorer and chrome) received both clicks. The same happens with mouse_forward.

mouse_left works as expected.

Incorrect Sorting of "Chatter Delay (ms)" in "Chatter Log" Tab

In the "Chatter Log" tab, when trying to sort the entries by "Chatter Delay (ms)", the sorting mechanism seems to be treating the values as strings instead of integers. This results in an incorrect sort order.

Steps to Reproduce:

  1. Open "Keyboard Chatter Blocker".
  2. Navigate to the "Chatter Log" tab.
  3. Populate the log with multiple entries, ensuring that there are values with different numbers of digits (e.g., 104, 15, and 20).
  4. Click on the "Chatter Delay (ms)" column header to sort the entries.

Expected Result:
The entries should be sorted in the following order (assuming an ascending sort): 15 -> 20 -> 104.

Actual Result:
The entries are sorted in the order: 104 -> 15 -> 20.

software won't work on Atom

hellow
I Love this software and really useful but it's not work on the text editor "Atom".
Could you support to Atom? thanks.

step to reproduction:

  1. launch the Atom (https://atom.io/)
  2. Type to text with chattering key

my spec
Atom v1.42.0
KeyboardChatterBlocker 1.0.1
Windows 10 Home

Allow keys to be excluded from the list

Use case: I use a Logitech G810 which comes with a volume slider... I added the key and specified a custom threshold of 0 ms, but when I roll the volume slider, the key still applies numerous times in the logs:
image

Proposal is to add either add a flag to the configure Keys tab (Exclude) or to allow a chatter threshold value to be specified that excludes the key (e.g. -1)

Thank you!

Just wanted to say thanks! This is one of only two programs I can find that do this, the other is from 2014 and broke for me today. It was previously open source on sourceforge but I could no longer find the source to fix whatever problem it might have. Thankfully I found yours!

This has allowed me to use my Gigabyte Aero 15 without hating myself and the laptop. The chatter is very bad on certain keys. You've extended my patience with (and the lifetime of) this laptop considerably.

I dislike using issues for comments like this but didn't see any contact info for you.

The system cannot find the path specified

I get an unhandled exception with the error message above when trying to activate "Start with Windows".
All other settings seem to work.

************** Exception Text **************
System.IO.DirectoryNotFoundException: The system cannot find the path specified. (Exception from HRESULT: 0x80070003)
   at IWshRuntimeLibrary.IWshShortcut.Save()
   at KeyboardChatterBlocker.MainBlockerForm.StartWithWindowsCheckbox_CheckedChanged(Object sender, EventArgs e) in C:\GitHub\mcmonkeyprojects\KeyboardChatterBlocker\KeyboardChatterBlocker\MainBlockerForm.cs:line 155
   at System.Windows.Forms.CheckBox.OnCheckedChanged(EventArgs e)
   at System.Windows.Forms.CheckBox.set_CheckState(CheckState value)
   at System.Windows.Forms.CheckBox.OnClick(EventArgs e)
   at System.Windows.Forms.CheckBox.OnMouseUp(MouseEventArgs mevent)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ButtonBase.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

"Auto disable programs" only disables the software while that window is selected rather than "as long as it is open"

This potentially will lead to people getting banned in games just for alt+tabbing, since it will hook the keyboard again while the game window is not in focus.

How I think it should be:

  • "Auto disable if any fullscreen": I don't know if it is possible to detect an unfocused fullscreen app, but if not, a warning about this could be shown on hover.
  • And for programs explicitly added, it should keep the software disabled until they are closed.

On an unrelated note, I have a G613 that started double-pressing a few months ago and you saved me from having to look for another keyboard. Thank you for making this ❤

Return Key Registered Every Program Start, Can't Edit Individual Key Thresholds

Every time the program starts, it seems to register the return key, even if I remove from the configuration pannel. The configuration file doesn't seem to be updating with the program if edited that way.

Furthemore, I seem to be unable to edit the individual chatter thresholdss of any keys registered to the configure keys tab, too. I used to be able to do it by double-clicking on the tab, but that function no longer seems to be working.

Add keyboard shortcut to disable.

Excellent software!

It would be handy to have an instantaneous way to disable the app. E.g. by pressing some combo like ctrl+alt+f12 or something.

This will help macros and similar to dodge the chatter detection.

Add date in the log

Would it be possible to add the shortform date (like "6/29") in the log timestamp?

Cannot Exit

There is no way to exit the app (e.g. to update it) other than Task Manager.

An exit button in app or right click menu on the tray icon would be good!

UI problem

I am not English Windows, when I open the program, the UI is different from your picture, the font is not the same, my font is wide, causing the interface to be misaligned, and cover the input box
I don't know how to send pictures, can you fix this ? I guess you if you let the program use Windows universal font, such as Arial may be FIX this problem.
The software is good, thank you again for your work.

Add installer

Hey!

First of all, thanks for picking up the slack! I bought a mech keyboard at the beginning of this year and I was stuck with the two unmaintained solutions you also mentioned. Today, out of frustration, I did a fresh GitHub search, and was very happy to see a new, maintained project!

Second, I think you'd benefit a lot from having a MSI or similar Windows installer. Your user story is already pretty cool; however, downloading an EXE and manually copying it somewhere is a bit of a kludge.

Third, I used to develop a lot of Windows frontend stuff, so I can do this for you if you don't have the time. I'd simply use Visual Studio's own Setup Project as described here: https://medium.com/@kanchanaj/how-to-create-a-windows-installer-setup-file-for-desktop-application-using-visual-studio-2017-beb13015fb58

Cheers!
balint

Suggestion: Program disabled by default, enables when it detects an application

A really neat addition to this project could be an ability to auto-enable the chatter blocker when it detects a certain program is running. For example, if I wanted to keep the chatter blocker disabled by default but have it enabled when on a specific chrome tab, the program could detect chrome is open, then see the tab name (chrome formats their tabs with something like: Google Chrome - "Tab name here"), and if the name includes a certain keyword such as maybe "essay" the program would enable. The program would then disable again if the tab changed or if chrome was closed.

Additionally, if the auto enable feature were to take precedence over auto-disable, that could add some additional benefits. For example, Minecraft is detected by the blocker as "javaw", but many other programs, such as Eclipse IDE use javaw. Having an ability to disable the logger when it detects javaw, but have it overwrite that when it detects Eclipse could potentially further its usability a lot IMO. There are just a few asuggestions I would find helpful to myself and most likely also would be useful to others.

Small Interface Improvements

Small suggestion in the "configure key" tab of the program.

It could be great if double clicking inside the box and not only on the numbers would open the editing values tab.
Again, pressing enter should open the editing tab not skipping to the next line I think.
Clicking or (pressing enter) on the letter could open another editing tab where we could edit the key.
When a key is selected and "suppr" is pressed it could be deleting it.

Thanks for this amazing app btw :) ! You may have prevented a unnecessary keyboard buy.

Can't add tab key

I'm trying to add tab as a key but when i click "add key" and press tab it just selects the cancel button.

Feature request: disable when certain applications are open

The application generally works great, but it can introduce issues with certain programs. For example, chatter while playing a game can result in not being able to press down a key momentarily.

My suggestion is to add a way to disable the chatter blocker when certain applications are open or in focus. The user could choose which applications disable the blocker. The current but less elegant solution of disabling the blocker manually works, but it would be simpler if this could be done automatically.

Mouse with faulty scrolling

On some of my mice with faulty scroll wheels (encoder), if I'm scrolling in a certain direction, it would spazz out where random inputs of the opposite direction would occur. Would be great if this program could block this kind of extremely fast direction switches in the scroll wheel (if that's even possible?).

Add ability to exit program

As far as I know the only way to close the Keyboard Chatter Blocker right now is to kill it through the Task Manager. Please add the ability to exit the program.

A few thoughts:
Repurpose close window button (X in topright) in program to exit Keyboard Chatter Blocker

  • Clicking the X icon displays a confirmation modal (Are you sure you want to exit? Yes/No)
  • With this change, it would probably make sense to also repurpose the minimize icon (-) to minimize the program to tray (currently functionality of the X button)

Add context menu option to tray icon to close program
image

Suggestion: Save Stats log

Hi, I love the program! I have a suggestion: Could the stats page's contents be auto-saved? So when the system is rebooted, the stats are retained.

I'd love to be able to gather chatter data over a week and several restarts and find to which keys chatter the most.

Doesn't seem to work for me

Hey, been having some issues with some keys (t, y, backspace) on a laptop running Windows 11, it doesn't seem to be recognizing all chatters and it doesn't seem to work, am I doing something wrong?

Screenshot 2024-05-28 214633
Screenshot 2024-05-28 214614

Wrong version

Version 1.17:

  • Version 1.16 is showed in the "About" tab.

It's not worth updating, but I though you should still know about it.

Column sorting not working correctly

When you sort the columns from low to high or high to low the program only seems to consider the first digit in the number. If you for example sort high to low it can look like this:

92
9
87
248

The problem is in count and chatter column under stats tab and in the chatter delay column under chatter log tab.

/Mats

not working while in CS2

dunno if it's the right place to ask, but here is the log

See the end of this message for details on invoking 
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
   at System.Collections.ArrayList.get_Item(Int32 index)
   at System.Windows.Forms.DataGridViewRowCollection.SharedRow(Int32 rowIndex)
   at System.Windows.Forms.DataGridViewRowCollection.get_Item(Int32 index)
   at System.Windows.Forms.DataGridView.get_Item(Int32 columnIndex, Int32 rowIndex)
   at KeyboardChatterBlocker.MainBlockerForm.ChatterLogGrid_CellContentDoubleClick(Object sender, DataGridViewCellEventArgs e) in C:\GitHub\mcmonkeyprojects\KeyboardChatterBlocker\KeyboardChatterBlocker\MainBlockerForm.cs:line 530
   at System.Windows.Forms.DataGridView.OnCellDoubleClick(DataGridViewCellEventArgs e)
   at System.Windows.Forms.DataGridView.OnDoubleClick(EventArgs e)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9181.0 built by: NET481REL1LAST_C
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll
----------------------------------------
KeyboardChatterBlocker
    Assembly Version: 1.16.0.0
    Win32 Version: 1.16
    CodeBase: file:///C:/Program%20Files/Keyboard%20Chatter%20Blocker/KeyboardChatterBlocker.exe
----------------------------------------
System
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9220.0 built by: NET481REL1LAST_C
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Windows.Forms
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9181.0 built by: NET481REL1LAST_C
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9037.0 built by: NET481REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Core
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9220.0 built by: NET481REL1LAST_C
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Configuration
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9037.0 built by: NET481REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9037.0 built by: NET481REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Microsoft.CSharp
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9037.0
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/Microsoft.CSharp/v4.0_4.0.0.0__b03f5f7f11d50a3a/Microsoft.CSharp.dll
----------------------------------------
System.Dynamic
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9037.0
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Dynamic/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Dynamic.dll
----------------------------------------
Anonymously Hosted DynamicMethods Assembly
    Assembly Version: 0.0.0.0
    Win32 Version: 4.8.9181.0 built by: NET481REL1LAST_C
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_64/mscorlib/v4.0_4.0.0.0__b77a5c561934e089/mscorlib.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.


Prevent duplicate process instances

I was testing the program in Minecraft parkour with 100ms threshold, and I was occasionally failing because of the random input delay. I was monitoring the chatter log while playing, and there was no chatter detected. I tested with 70ms and the delay was still happening. It doesn't always happen, which is the weird part. When I turned the threshold down to 50ms, the delay issues magically disappeared. I have no idea why this is happening.

Display version in the About tab

I've just noticed the About tab doesn't indicate what version I'm running. The file properties shows 1.0.0.0 on the details tab. So I'm really not sure what version I'm running (probably the latest 🤷 )

image
image

The Toggle Option does not work for me

Hi there. I really love this tool because my Keyboard is driving me crazy. But as you know there are some problems while playing a game like i want to walk left, the character starts to walk left, stops (cause the key input gets deleted because of double input) and after a short pause starts again and walks left. So this is annoying of course. but i cant completely disable it because of the ingame Chat. So i thought the Toggle option would be perfect. But i cant get it to work. Right now i have the following line in the config:

hotkey_toggle: shift + alt + o

When i press this combo i hear a windows sound. but the Chatter Blocker does not get disabled or anything. it does nothing. Also when i try to use precise key names like you say in your readme like LShiftKey i get a message at start that i cant use more than one none modifier key. It will only recognize the Key if i type in shift. I tried many different combinations of keys but it wont work. can you help me?

Set program as a service

I have tried to set the .exe file as a service on windows, so it can start working even before I logon and can auto restart, using nssm (https://nssm.cc/) but it does not work if launched through it.
Do you have in mind making it work as a process?

Chocolatey package update?

The Chocolatey package for keyboard-chatter-blocker is out-of-date.

I am interested/willing to (co-) maintain it, but the community repository admins are reluctant to hand over control of an author-maintained package (even if it isn't really maintained any longer). They need either you to add me as a maintainer or you to agree (here or email) for them to add me. I have a number of other packages that I maintain, and I think I do them fair justice (as I would for this one too).

Otherwise, the package just languishes and anyone who wants to use it doesn't get to enjoy the fixes/enhancements.

Thanks.

Hide tray icon + hotkey to resume app

I love this program!!!
I have a logitech G512, so far I have solved by blowing air into the keys that caused the chattering but finally with this tool set to 75ms I have definitively solved the problem (this app is 10 times better then "the other one").

I have a request... Could you add an option to hide the system tray icon, perhaps adding a hotkey combination to resume the application (maybe configurable)? This way the app would become stealth and do its job without being visible even in the tray.

Thanks for your time, both for reading this post and for the app!

Linux Version possibly?

I love this program on Windows, but sadly my keyboard goes crazy on Linux without a chatter blocker.

Alternative setting for chatter detection

My keyboard chatters when I release the key, and not when I initially press it, and from my testing the program seems to start the chatter detection timer when you press down the key.

I think there should be an option to detect chatter upon release, or maybe an option that checks for chatter when both pressing the key down and when releasing it, and also to be able to have different thresholds for them.

Allow mouse buttons

This would be useful for issues like this, for example. Sorry if this isn't within the scope of this application!

No context menu in taskbar

I can't open the context menu in taskbar. Only way to close it is through task manager. Don't know if it is a bug or intended but is a bit annoying.


Anyway. Thank you for the opportunity to suppress key chattering. That saved my day. Have a 2 years old coolermaster MK750 and the mx cherry brown switches began to chatter a lot. It works like a charm without any measurable cpu performance issues.

Thank you so very much!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.