Appearance
urxvt Mouse Reporting (1015)
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 (
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 10 of 14 backends (71%)
Terminal Applications
| Terminal | Version | Support | Notes |
|---|---|---|---|
| iTerm2 | 3.6.9 | ✓ yes | |
| Ghostty | 1.3.1 | ✓ yes | |
| VS Code | ✓ yes | ||
| Warp | ✓ yes | ||
| Kitty | 0.46.2 | ✓ yes | urxvt mouse mode (?1015) not implemented in kitty |
| Cursor | ✓ yes | ||
| Terminal.app | ✓ yes |
Headless Backends
Parser correctness only — a ✓ means the parser accepts the sequence.
| Backend | Version | Support | Notes |
|---|---|---|---|
| vterm.js | 0.2.0 | ✓ yes | |
| Alacritty | 0.26.0 | ✗ no | urxvt mouse mode (?1015) not implemented |
| vt100.js | 0.2.1 | ✗ no | urxvt mouse mode (?1015) not implemented |
| WezTerm | 0.1.0-fork.5 | ✗ no | urxvt mouse mode (?1015) not implemented |
| xterm.js | 5.5.0 | ✗ no | urxvt mouse mode (?1015) not implemented |