Keyboard auto-repeat not working with Windows 98 VM
- Dominant language
- Swift
- Stars
- 35.5k
- Forks
- 1.8k
- Avg merge
- 5d 5h
- Merged PRs (30d)
- 7
Description
**Issue description**
Keyboard auto-repeat not working or not possible with Windows 98 VM.
**Configuration**
* UTM Version: 4.7.5
* macOS Version: 26.5
* Mac: M4 MacBook Air, with internal or external USB keyboard (same problem regardless of keyboard used)
* VM guest OS: Windows 98 SE (emulated)
* VM settings within UTM:
* "Force PS/2 controller" = checked
* Input: USB support = disabled
* QEMU extra Argument: -usb -device usb-tablet
**Detail**
The problem is that keyboard auto-repeat is not working in Windows 98 VM's. As far as I understand, the Mac host only sends a single "key down" or "key up" event, even if the key is pressed for a long time. Many newer Windows versions automatically generate the auto-repeat internally in such situations. I can confirm this to be working for Windows XP, 7 (= after some registry tweaks), 10, 11.
But it seems that Windows 98 expects repeated keypress events when a keyboard key is kept pressed (which on a Mac host will not happen). It does not generate auto-repeats itself.
My suggestion is to add a feature inside the UTM's VM settings to optionally insert an extra code layer for the keyboard, which implements auto-repeat when a key is seen pressed for a long time. It must be possible to enable this feature only for Windows 98, but not for newer versions of Windows (XP, 7, 10, 11).
Contributor guide
Research direction
The issue names no files, tests, or entry points. Start by tracing UTM's keyboard input handling and VM settings to determine where a Windows 98-specific repeat option could fit; done means held keys repeat in Windows 98 without changing behavior for newer Windows guests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- macos, swift
- Domain
- desktop, operating-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100