設定 Shift-Escape (XTSHIFTESCAPE)
設定是否允許滑鼠報告擷取 `shift` 修飾鍵。
- 0x1B
- ESC
- 0x5B
- [
- 0x3E
- >
- ____
- n
- 0x73
- s
參數 n 必須是整數 0 或 1。如果省略 n,
則 n 預設為 0。如果 n 是無效值,此序列不執行任何動作。
當終端機程式請求 滑鼠報告 時,某些滑鼠 報告模式還會報告按下的修飾鍵(control、shift 等)。這會 使終端機使用者無法以原生方式選取文字(如果他們通常用左鍵按住拖曳來選取文字), 因為左鍵被點選的事件已被正在執行的程式擷取。
為繞過這個限制,許多終端機模擬器(包括 xterm)
使用 shift 修飾鍵來暫時停用滑鼠報告,讓
原生文字選取可以使用。然而在這種情況下,正在執行的終端機
程式無法偵測 shift 點選,因為終端機模擬器擷取了該事件。
此序列(XTSHIFTESCAPE)允許設定這個行為。如果
n 為 0,終端機可以覆寫 shift 鍵而不將它
傳遞給終端機程式。如果 n 為 1,終端機程式
要求以標準滑鼠報告格式傳送 shift 修飾鍵。
無論哪種情況,終端機模擬器都不會被強制遵守該請求。
例如,xterm 具有 never 和 always 終端機設定,
分別用於永不允許終端機程式擷取 shift 或總是允許。
如果設定了其中任一設定,則 XTSHIFTESCAPE
完全不生效。
xterm 也有 false 和 true 終端機設定。在 false
情況下,終端機模擬器會覆寫 shift(不允許終端機程式看到它),
除非它透過 XTSHIFTESCAPE 被明確請求。
true 情況正好相反:將 shift 修飾鍵傳遞給正在執行的
終端機程式,除非該程式明確表示它不需要知道 shift(n = 0)。