Мышь терминала: когда нужен Alt
Полноэкранное приложение вроде редактора или tmux может включить terminal mouse reporting. Тогда клик способен уйти приложению вместо обычного выделения текста. Переключатель mouseEventsRequireAlt разделяет эти действия; это не настройка мыши RDP/VNC и не выдача системных прав.
Откройте Setting → настройки терминала и найдите переключатель с ключом mouseEventsRequireAlt (подпись зависит от языка интерфейса). Source-default — false.
| Состояние | Поведение |
|---|---|
| Выключено | Обычный mouse-reporting режим терминального приложения; для принудительного выделения действуют стандартные модификаторы платформы |
| Включено, приложение запросило мышь, Alt не нажат | Локальное выделение доступно; клики/перемещения не пересылаются как обычные mouse reports |
| Включено, приложение запросило мышь, Alt нажат | Поддерживаемые события кнопок/движения передаются приложению; Alt используется как локальный gate и удаляется из этих reports |
| Приложение не запросило мышь | Переключатель не включает mouse reporting за него |
Колесо — исключение: в используемой реализации оно не блокируется требованием Alt. Его результат зависит от mouse protocol и состояния приложения/scrollback; не обещайте, что без Alt колесо всегда прокручивает только локальную историю.
При включённой настройке Alt не используется одновременно для прямоугольного column selection, даже если приложение сейчас не запрашивает мышь. Это помогает не путать выделение с разрешением отправки клика.
Если поведение отличается, сначала уточните версию app и поставляемого xterm, наличие mouse mode и перехват Alt ОС/браузером. Не начинайте с удаления профиля. Для новой вкладки используется текущая конфигурация; детали обновления существующего терминала зависят от сборки.
Основание app: default, создание терминала, форма настроек. Точная семантика gate/колеса/выделения сверена с исходниками MouseService.ts и SelectionService.ts установленной зависимости @xterm/xterm, закреплённой alias-версией в package.json. Наличие этой зависимости в source не доказывает её наличие в старом установленном runtime.