21 Jul 2026

Online discussions on taxes

The vast majority of online discussions about taxes, especially in India, is overly simplistic and often just plain dumb. The worst kind is reader comments to any post saying anything at all about taxes. Paying attention to those comments will not lead to anything productive; reading them only enrages us.

9 Jul 2026

Preventing duplicate keystrokes from bluetooth keyboards

I bought a cheap wireless keyboard a few months ago. While the keyboard was mostly fine, it sometimes repeated the same letter twice or thrice. For example, every few minutes, when I type a word like “India”, I see “Indiia” on the screen with an extra i. It was a mild annoyance for a while, so I was living with it. When I started making typos in design documents that I was creating at work, it started to be severe enough to require a solution.

The issue went away when I connected the keyboard using a cable, so this was clearly a bluetooth issue. I asked Gemini what the problem could be, and it said that the following could be happening:

  • The keyboard sends a keystroke to the computer over bluetooth.
  • The bluetooth transmission is slow, probably due to interference. The computer doesn’t receive it within the expected time.
  • The keyboard thinks the transmission was lost; it sends the same keystroke once again.
  • But the initial keystroke eventually arrives. Quickly after, the retransmission also arrives.
  • The keyboard thinks it sent only one keystroke (because the first transmission was lost), but the computer sees two keystrokes. Oops!

A solution

I feared I may have to buy a new keyboard. While a more expensive keyboard may be able to work more reliably despite interference, there is no guarantee that it will. Gemini suggested a different solution. Apparently there are software tools that can run in the background and drop duplicate keystrokes that arrive in quick succession. The KDE Plasma UI that I use has this feature built-in, but as an accessibility feature. It’s called Bounce Key. I enabled it with a timeout of 50ms. This configures the operating system UI to discard any duplicate keystrokes that are received within 50 milliseconds.

A nifty software solution for a hardware problem.