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 results | Where to check next |
|---|---|
| Tester doesn't respond either | Prioritizes recognition of the keyboard itself, connection, and OS |
| It responds in the tester | Prioritize target app focus, shortcuts, and key assignments |
| Only certain combinations are missing | Check array settings, simultaneous press specifications, and browser reservation keys |
| recorded multiple times in a short period of time | Distinguish 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 layer | Point of focus | Comparison method |
|---|---|---|
| Physical Keyboard | Switches, contacts, keycaps, arrays | Press single key and multiple keys under the same conditions |
| USB / Bluetooth | Cable, USB port, battery, wireless connection | Compare wired/wireless, different port, and reconnection |
| Operating System | Array, IME, fixed key, key repeat | Try the same key in OS settings and another app |
| Browser | Focus, shortcuts, and event handling | Check if it can be reproduced in another tab/browser. |
| Web Application | Key assignments, input fields, game settings | Compare the tester's results with the target app's results |
| candidate | Guideline | How to check |
|---|---|---|
| keyboard body | Only certain keys are unstable, reproduced on another PC | Clean, connect separately, check manufacturer's diagnostic procedures |
| connection | Multiple keys cut out at once, only occurs when wireless | Comparison with separate USB port, wired connection, and battery replacement |
| OS settings | The meaning of arrays and modifier keys is different from expected | Check input language, layout, fixed keys, and repeat settings |
| Browser app | It 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.
| Materials | URL | What 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/KeyboardEvent | Explanation 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-windows | General 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.
- Match the array and size to the actual machine
- Press and release the key in question by itself
- Press even the combinations you usually use.
- Compare using another app or browser
- 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