![]() |
| Photo Created with Gemini |
Use xkbset utility to eliminate "key chatter"—a hardware defect where a single keypress registers multiple times—by implementing a software-level debounce filter.
1. Overview
Debouncing is a technique that ignores subsequent signals from the same key if they occur within a specific, very short time window (e.g. 50ms). This prevents the "double-tap" effect caused by aging or dirty mechanical switches.
2. Prerequisites
- System: Linux running an X11 session (most common on desktops like XFCE, Cinnamon, and older GNOME/KDE installs).
- Software Package: The xkbset package.
Install on Debian/Ubuntu/Mint: $ sudo apt install xkbset
3. Configuration Commands
A. Enable the Filter
$ xkbset bouncekeys 50
* bouncekeys: The feature name for debouncing in X11.
* 50: The delay in milliseconds. If 50ms is too aggressive (fast typing), lower it to 30. If you still see chatter, increase it to 70.
B. Disable the Timeout
By default, X11 disables accessibility features like "BounceKeys" after a period of inactivity. Use this command to force the setting to stay active:
$ xkbset exp =bouncekeys
4. Verification
To ensure the settings were applied correctly, run:
$ xkbset q
Expected Output:
Bounce-Keys = On
Debounce Delay = 50
...
5. Making the Fix Permanent
These commands reset after every logout or reboot. To automate this, add the commands to your Startup Applications (the method varies by desktop environment):
1. Open your Startup Applications or Autostart menu.
2. Add a new entry named "Keyboard Debounce" or your choice.
3. In the command field, enter:
sh -c "xkbset bo 50; xkbset exp =bo"
4. Save and restart.
6. Troubleshooting
* No effect? Ensure you are not on a Wayland session (run echo $XDG_SESSION_TYPE). Wayland does not support xkbset.
* Keys feel "heavy"? Your delay is likely too high. Reduce the value (e.g., $ xkbset bo 20) until the chatter stops but typing feels responsive.
Note Prepared by Gemini

No comments:
Post a Comment