You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Install and run a global keyboard hook application (e.g., SuperWhisper voice-to-text, or PowerToys with Quick Accent enabled)
Launch any WSLg GUI app (tested with Ghostty terminal, gnome-calculator)
Type normally - particularly try spacebar or other keys
Expected behavior
Keys register normally as they do in native Windows apps or Windows Terminal + WSL
Actual behavior
Key works once but sends a burst of 6-10 characters (as if key-release is not detected and auto-repeat kicks in)
After the burst, that specific key stops working entirely
Alt-tabbing away from the WSLg window and back temporarily fixes it
The issue spreads to multiple keys over time (started with spacebar, then 'm' key)
Root cause analysis
The issue appears to be that global keyboard hooks (a standard Windows API pattern used by voice-to-text apps, accessibility tools, hotkey managers, etc.) interfere with WSLg's RDP-based keyboard event handling. Specifically, key-release events appear to be dropped when another application has processed the keyboard event chain first.
Evidence:
Disabling SuperWhisper immediately fixes the issue
This suggests WSLg's RDP keyboard handling is fragile when keyboard hooks are present in the Windows event chain. Since keyboard hooks are a standard pattern used by many legitimate applications (accessibility tools, voice-to-text, hotkey managers, clipboard managers, etc.), WSLg should ideally be robust to their presence.
The common thread between SuperWhisper and PowerToys Quick Accent is that both actively monitor/intercept keyboard events - this appears to interfere with WSLg receiving proper key-release events through the RDP protocol.
Windows build number
10.0.26200.7623 (Windows 11 25H2)
Your Distribution version
Ubuntu 24.04
Your WSL versions
Steps to reproduce
Expected behavior
Keys register normally as they do in native Windows apps or Windows Terminal + WSL
Actual behavior
Root cause analysis
The issue appears to be that global keyboard hooks (a standard Windows API pattern used by voice-to-text apps, accessibility tools, hotkey managers, etc.) interfere with WSLg's RDP-based keyboard event handling. Specifically, key-release events appear to be dropped when another application has processed the keyboard event chain first.
Evidence:
wsl --shutdownand full Windows rebootsRelated issues
Additional context
This suggests WSLg's RDP keyboard handling is fragile when keyboard hooks are present in the Windows event chain. Since keyboard hooks are a standard pattern used by many legitimate applications (accessibility tools, voice-to-text, hotkey managers, clipboard managers, etc.), WSLg should ideally be robust to their presence.
The common thread between SuperWhisper and PowerToys Quick Accent is that both actively monitor/intercept keyboard events - this appears to interfere with WSLg receiving proper key-release events through the RDP protocol.