Skip to content

Keyboard input breaks when global keyboard hook apps are running (SuperWhisper, PowerToys Quick Accent) #1421

@santiagolgzz

Description

@santiagolgzz

Windows build number

10.0.26200.7623 (Windows 11 25H2)

Your Distribution version

Ubuntu 24.04

Your WSL versions

WSL version: 2.6.3.0
Kernel version: 6.6.87.2-1
WSLg version: 1.0.71
MSRDC version: 1.2.6353
Direct3D version: 1.611.1-81528511
DXCore version: 10.0.26100.1-240331-1435.ge-release
Windows version: 10.0.26200.7623

Steps to reproduce

  1. Install and run a global keyboard hook application (e.g., SuperWhisper voice-to-text, or PowerToys with Quick Accent enabled)
  2. Launch any WSLg GUI app (tested with Ghostty terminal, gnome-calculator)
  3. 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
  • PowerToys Quick Accent is documented to cause identical symptoms (see Keyboard lags and repeats keys on Linux GUI Apps under WSLg #1140)
  • Native Windows apps and Windows Terminal + WSL work fine with these same keyboard hooks running
  • The issue persists across wsl --shutdown and full Windows reboots

Related 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions