Support Shift+mouse to bypass application mouse reporting (#536)
* Support Shift+mouse to bypass application mouse reporting When an application enables mouse reporting, all mouse events are forwarded and the user cannot perform native text selection. The established convention across terminal emulators is to let users hold Shift to bypass mouse reporting and interact with the terminal's own selection instead. Check for the Shift modifier in mouseDown, mouseUp, mouseDragged, and scrollWheel before forwarding events to the application. When Shift is held, events fall through to normal selection/scroll handling. * Add XTSHIFTESCAPE (CSI > Ps s) support for shift mouse capture Allow applications to opt in to receiving shift+click via the XTSHIFTESCAPE escape sequence (CSI > 1 s), matching xterm and Ghostty. By default, shift continues to bypass mouse reporting for local text selection. Sending CSI > 0 s (or a terminal reset) restores the default. The existing allowMouseReporting toggle is preserved as the master switch.
E
Evert Junior committed
551bfcc4a4df4e95049b70ddd6de1aecaad87e32
Parent: 86456ca
Committed by GitHub <noreply@github.com>
on 5/6/2026, 9:19:14 PM