Skip to content

urxvt Mouse Reporting (1015)

Category: input · Baseline: rich · Tags: Xterm Extensions · Specification ↗

urxvt-style mouse reporting (mode 1015) uses decimal encoding for coordinates, extending reporting beyond the 223-column limit of traditional X10 encoding. Less common than SGR mouse (1006) but still supported by some terminals. URxvt mode was an intermediate answer to xterm's coordinate limit: it kept the mouse idea but reported decimal coordinates. SGR mouse later became the cleaner and more widely adopted version, so mode 1015 is mostly legacy. Testing it still catches parsers that hard-code only the oldest byte-encoded mouse format.
How this is testedautomated
Enable urxvt mouse mode (CSI ? 1015 h), check getMode("mouseTracking") returns true. Verifies the backend recognizes this specific mouse encoding.

The same probe runs against headless backends (via Termless) and real terminal apps (via a daemon launched in each terminal). This lets us distinguish parser correctness from rendering correctness.

Analysis2026-05-17

Supported by 8 of 12 terminals (67%). Not supported by: vt100.js, Alacritty, WezTerm, xterm.js. Part of the Rich TUI baseline.

Supported by 10 of 14 backends (71%)

Terminal Applications

TerminalVersionSupportNotes
iTerm23.6.9✓ yes
Ghostty1.3.1✓ yes
VS Code✓ yes
Warp✓ yes
Kitty0.46.2✓ yesurxvt mouse mode (?1015) not implemented in kitty
Cursor✓ yes
Terminal.app✓ yes

Headless Backends

Parser correctness only — a means the parser accepts the sequence.

BackendVersionSupportNotes
vterm.js0.2.0✓ yes
Alacritty0.26.0✗ nourxvt mouse mode (?1015) not implemented
vt100.js0.2.1✗ nourxvt mouse mode (?1015) not implemented
WezTerm0.1.0-fork.5✗ nourxvt mouse mode (?1015) not implemented
xterm.js5.5.0✗ nourxvt mouse mode (?1015) not implemented