Skip to main content
Develop Tools
← Return to usage guide

How to Check Keyboard Chattering and Duplicate Keystrokes

When "a" becomes "aa", distinguish rapid re-entry, auto-repeat from holding a key, and application-side processing.

Differences between normal keydown and keyup, quick re-entry, and long-press repeat
Differences between normal keydown and keyup, quick re-entry, and long-press repeat

Conclusion: What to check first

Perform several short presses, fully releasing each time, and check the history for suspected chattering. If it repeats only while held, also check OS auto-repeat.

Physical failures cannot be determined based solely on browser detection results. Compare the same operations using different apps, different browsers, and if possible, different devices.

Check input with keyboard tester

Press the target key alone, then in the combination you normally use. Check the currently pressed/confirmed keys on the screen, the history of simultaneous presses, and any suspected chattering.

  • Press about 10 times with the default interval of 50ms
  • Adjust the detection interval within 10–300 ms.
  • Do not hold it down; release it fully every time
  • Compare duplicated characters in another app as well.

How to read the results

The tester records input occurring again within the configured interval from keyup to the next keydown as suspected re-entry, and excludes the browser's event.repeat from the decision. A suspected indication alone does not confirm key chatter.

Observation resultsWhere to check next
Tester doesn't respond eitherPrioritizes recognition of the keyboard itself, connection, and OS
It responds in the testerPrioritize target app focus, shortcuts, and key assignments
Only certain combinations are missingCheck array settings, simultaneous press specifications, and browser reservation keys
recorded multiple times in a short period of timeDistinguish and reconfirm automatic repeat and chattering

Separate the causes into layers

The keyboard itself is not the only input path. By comparing connections, OS, browsers, and web apps step by step, you can narrow down the scope of configuration changes.

confirmation layerPoint of focusComparison method
Physical KeyboardSwitches, contacts, keycaps, arraysPress single key and multiple keys under the same conditions
USB / BluetoothCable, USB port, battery, wireless connectionCompare wired/wireless, different port, and reconnection
Operating SystemArray, IME, fixed key, key repeatTry the same key in OS settings and another app
BrowserFocus, shortcuts, and event handlingCheck if it can be reproduced in another tab/browser.
Web ApplicationKey assignments, input fields, game settingsCompare the tester's results with the target app's results
candidateGuidelineHow to check
keyboard bodyOnly certain keys are unstable, reproduced on another PCClean, connect separately, check manufacturer's diagnostic procedures
connectionMultiple keys cut out at once, only occurs when wirelessComparison with separate USB port, wired connection, and battery replacement
OS settingsThe meaning of arrays and modifier keys is different from expectedCheck input language, layout, fixed keys, and repeat settings
Browser appIt responds in the tester, but not in the target app.Check focus, shortcuts, and key assignments

Specifications and points to note during development

KeyboardEvent.repeat becomes true for automatic repetition when a key is held down. In contrast, suspected key chattering is observed as a brief re-entry after release, so the time relationship differs even for the same consecutive input.

window.addEventListener('keydown', event => {
  if (event.repeat) return;
  // Separately compare only candidates for physical repeated input
});

For key operations reserved by the browser or OS, the event may not be delivered to the page. There is not always a one-to-one relationship between the tester display and the physical key state.

Retest under the same conditions after changing settings

Even after changing the detection interval, compare using the same number of presses and the same pressing method. Checking whether only the same key is suspect on another PC can narrow the scope.

  • Change only one setting at a time
  • Press the same keys in the same order and combination
  • Also check that the pressed display disappears after being released.
  • If it doesn't improve, revert the changes and check the next layer.

Privacy and reference specifications

The tester processes the input state within the browser. Browser permission is required to check product information on WebHID. The technical description in the article is based on the following standard specifications and official information.

MaterialsURLWhat you can check
W3C「UI Events」https://www.w3.org/TR/uievents/Browser input event specifications such as keydown, keyup, and modifier keys
W3C「UI Events KeyboardEvent key Values」https://www.w3.org/TR/uievents-key/Standard for values returned by KeyboardEvent.key
W3C「UI Events KeyboardEvent code Values」https://www.w3.org/TR/uievents-code/Standard for KeyboardEvent.code to represent physical key positions
MDN「KeyboardEvent」https://developer.mozilla.org/docs/Web/API/KeyboardEventExplanation for developers such as key, code, repeat, isComposing etc.
Microsoft「Mouse and keyboard problems in Windows」https://support.microsoft.com/windows/mouse-and-keyboard-problems-in-windowsGeneral verification steps such as connections, USB, batteries, cleaning, etc.

Practical confirmation example

Record the name of the app that first causes the problem, the keys, whether they are pressed individually or simultaneously, and the connection method. Fixing reproduction conditions makes it easier to compare results.

Perform the same operation on the tester and change the settings only for the layers that give different results. Please retest under the same conditions after making changes.

  1. Match the array and size to the actual machine
  2. Press and release the key in question by itself
  3. Press even the combinations you usually use.
  4. Compare using another app or browser
  5. Record changes and retest results

What you can see in the tester is the input that reaches the browser. It does not automatically diagnose hardware failures, wireless quality, or internal processing of the app.

Frequently asked questions

If the tester does not respond, is there a problem with the keyboard?
It cannot be determined that this is a malfunction. Please check the connection, OS layout and accessibility settings, browser focus, and target app key assignments separately.
Will the contents of the entered key be sent to the server?
The keyboard tester's judgment process is completed within the browser, and input events are not sent to the DevelopTools server.

Try It in Your Browser

Your input is processed entirely in your browser. Keep the original data, review the output, and only then save or share it.

Test keyboard input