monkeytypegame / monkeytypegame/monkeytype
Deduplicating key presses when emulating
Open
Nobody has claimed this yet.
bug
- Dominant language
- TypeScript
- Stars
- 20.7k
- Forks
- 3.3k
- PR merge metrics
- No merged PRs in 30d
Description
Did you clear cache before opening an issue?
- I have cleared my cache
Is there an existing issue for this?
- I have searched the existing open and closed issues
Does the issue happen when logged in?
Yes
Does the issue happen when logged out?
Yes
Does the issue happen in incognito mode when logged in?
Yes
Does the issue happen in incognito mode when logged out?
Yes
Account name
informthemusic
Account config
No response
Current Behavior
Expected Behavior
Keys should not deduplicate.
Steps To Reproduce
Let [LAYOUT] a layout you can type with
- Emulate [LAYOUT] (regardless of if it already is your current layout)
- Run a few tests, possibly notice some keys deduplicating
- Un-emulate
- Notice that the keys no longer deduplicate
Environment
- OS: NixOS (
Linux 6.12.93 #1-NixOS SMP PREEMPT_DYNAMIC Tue Jun 9 10:26:06 UTC 2026 x86_64 GNU/Linux) - Browser: Firefox
- Browser Version:
Gecko/20100101 Firefox/152.0
Anything else?
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the issue in Firefox with layout emulation enabled, then trace the layout-emulation and keyboard-event handling paths in the TypeScript codebase. Done means letters are no longer duplicated while emulating a layout, and typing remains unchanged after emulation is disabled.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- frontend, web-dev
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 58/100