| 1 | |
|---|
| 2 | |
|---|
| 3 | |
|---|
| 4 | |
|---|
| 5 | |
|---|
| 6 | |
|---|
| 7 | |
|---|
| 8 | |
|---|
| 9 | |
|---|
| 10 | Xterm Control Sequences |
|---|
| 11 | |
|---|
| 12 | Edward Moy |
|---|
| 13 | University of California, Berkeley |
|---|
| 14 | |
|---|
| 15 | Revised by |
|---|
| 16 | |
|---|
| 17 | Stephen Gildea |
|---|
| 18 | X Consortium (1994) |
|---|
| 19 | |
|---|
| 20 | Thomas Dickey |
|---|
| 21 | XFree86 Project (1996-2006) |
|---|
| 22 | invisible-island.net (2006-2008) |
|---|
| 23 | |
|---|
| 24 | |
|---|
| 25 | |
|---|
| 26 | Definitions |
|---|
| 27 | |
|---|
| 28 | c The literal character c. |
|---|
| 29 | |
|---|
| 30 | C A single (required) character. |
|---|
| 31 | |
|---|
| 32 | Ps A single (usually optional) numeric parameter, composed of one of |
|---|
| 33 | more digits. |
|---|
| 34 | |
|---|
| 35 | Pm A multiple numeric parameter composed of any number of single |
|---|
| 36 | numeric parameters, separated by ; character(s). Individual val- |
|---|
| 37 | ues for the parameters are listed with Ps . |
|---|
| 38 | |
|---|
| 39 | Pt A text parameter composed of printable characters. |
|---|
| 40 | |
|---|
| 41 | C1 (8-Bit) Control Characters |
|---|
| 42 | |
|---|
| 43 | The xterm program recognizes both 8-bit and 7-bit control characters. |
|---|
| 44 | It generates 7-bit controls (by default) or 8-bit if S8C1T is enabled. |
|---|
| 45 | The following pairs of 7-bit and 8-bit control characters are equiva- |
|---|
| 46 | lent: |
|---|
| 47 | |
|---|
| 48 | ESC D |
|---|
| 49 | Index (IND is 0x84) |
|---|
| 50 | ESC E |
|---|
| 51 | Next Line (NEL is 0x85) |
|---|
| 52 | ESC H |
|---|
| 53 | Tab Set (HTS is 0x88) |
|---|
| 54 | ESC M |
|---|
| 55 | Reverse Index (RI is 0x8d) |
|---|
| 56 | ESC N |
|---|
| 57 | Single Shift Select of G2 Character Set (SS2 is 0x8e): affects |
|---|
| 58 | next character only |
|---|
| 59 | ESC O |
|---|
| 60 | Single Shift Select of G3 Character Set (SS3 is 0x8f): affects |
|---|
| 61 | next character only |
|---|
| 62 | ESC P |
|---|
| 63 | Device Control String (DCS is 0x90) |
|---|
| 64 | ESC V |
|---|
| 65 | Start of Guarded Area (SPA is 0x96) |
|---|
| 66 | ESC W |
|---|
| 67 | End of Guarded Area (EPA is 0x97) |
|---|
| 68 | ESC X |
|---|
| 69 | Start of String (SOS is 0x98) |
|---|
| 70 | ESC Z |
|---|
| 71 | Return Terminal ID (DECID is 0x9a). Obsolete form of CSI c (DA). |
|---|
| 72 | ESC [ |
|---|
| 73 | Control Sequence Introducer (CSI is 0x9b) |
|---|
| 74 | ESC \ |
|---|
| 75 | String Terminator (ST is 0x9c) |
|---|
| 76 | ESC ] |
|---|
| 77 | Operating System Command (OSC is 0x9d) |
|---|
| 78 | ESC ^ |
|---|
| 79 | Privacy Message (PM is 0x9e) |
|---|
| 80 | ESC _ |
|---|
| 81 | Application Program Command (APC is 0x9f) |
|---|
| 82 | |
|---|
| 83 | These control characters are used in the vtXXX emulation. |
|---|
| 84 | |
|---|
| 85 | VT100 Mode |
|---|
| 86 | Most of these control sequences are standard VT102 control sequences, |
|---|
| 87 | but there is support for later DEC VT terminals (i.e., VT220, VT320, |
|---|
| 88 | VT420), as well as ISO 6429 and aixterm color controls. The only VT102 |
|---|
| 89 | features not supported is auto-repeat, since the only way X provides for |
|---|
| 90 | this will affect all windows. There are additional control sequences to |
|---|
| 91 | provide xterm-dependent functions, such as the scrollbar or window size. |
|---|
| 92 | Where the function is specified by DEC or ISO 6429, the code assigned to |
|---|
| 93 | it is given in parentheses. The escape codes to designate and invoke |
|---|
| 94 | character sets are specified by ISO 2022; see that document for a dis- |
|---|
| 95 | cussion of character sets. |
|---|
| 96 | |
|---|
| 97 | Single-character functions |
|---|
| 98 | BEL Bell (Ctrl-G) |
|---|
| 99 | BS Backspace (Ctrl-H) |
|---|
| 100 | CR Carriage Return (Ctrl-M) |
|---|
| 101 | ENQ Return Terminal Status (Ctrl-E). Default response is an empty |
|---|
| 102 | string, but may be overridden by a resource answerbackString. |
|---|
| 103 | FF Form Feed or New Page (NP) (Ctrl-L) same as LF |
|---|
| 104 | LF Line Feed or New Line (NL) (Ctrl-J) |
|---|
| 105 | SO Shift Out (Ctrl-N) -> Switch to Alternate Character Set: |
|---|
| 106 | invokes the G1 character set. |
|---|
| 107 | SP Space. |
|---|
| 108 | TAB Horizontal Tab (HT) (Ctrl-I) |
|---|
| 109 | VT Vertical Tab (Ctrl-K) same as LF |
|---|
| 110 | SI Shift In (Ctrl-O) -> Switch to Standard Character Set: invokes |
|---|
| 111 | the G0 character set (the default). |
|---|
| 112 | |
|---|
| 113 | Controls beginning with ESC (other than those where ESC is part of a |
|---|
| 114 | 7-bit equivalent to 8-bit C1 controls), ordered by the final charac- |
|---|
| 115 | ter(s). |
|---|
| 116 | ESC SP F 7-bit controls (S7C1T). |
|---|
| 117 | ESC SP G 8-bit controls (S8C1T). |
|---|
| 118 | ESC SP L Set ANSI conformance level 1 (dpANS X3.134.1). |
|---|
| 119 | ESC SP M Set ANSI conformance level 2 (dpANS X3.134.1). |
|---|
| 120 | ESC SP N Set ANSI conformance level 3 (dpANS X3.134.1). |
|---|
| 121 | ESC # 3 DEC double-height line, top half (DECDHL) |
|---|
| 122 | ESC # 4 DEC double-height line, bottom half (DECDHL) |
|---|
| 123 | ESC # 5 DEC single-width line (DECSWL) |
|---|
| 124 | ESC # 6 DEC double-width line (DECDWL) |
|---|
| 125 | ESC # 8 DEC Screen Alignment Test (DECALN) |
|---|
| 126 | ESC % @ Select default character set, ISO 8859-1 (ISO 2022) |
|---|
| 127 | ESC % G Select UTF-8 character set (ISO 2022) |
|---|
| 128 | ESC ( C Designate G0 Character Set (ISO 2022) |
|---|
| 129 | ESC ) C Designate G1 Character Set (ISO 2022) |
|---|
| 130 | ESC * C Designate G2 Character Set (ISO 2022) |
|---|
| 131 | ESC + C Designate G3 Character Set (ISO 2022) |
|---|
| 132 | Final character C for designating character sets (0 , A and B |
|---|
| 133 | apply to VT100 and up, the remainder to VT220 and up): |
|---|
| 134 | C = 0 -> DEC Special Character and Line Drawing Set |
|---|
| 135 | C = A -> United Kingdom (UK) |
|---|
| 136 | C = B -> United States (USASCII) |
|---|
| 137 | C = 4 -> Dutch |
|---|
| 138 | C = C or 5 -> Finnish |
|---|
| 139 | C = R -> French |
|---|
| 140 | C = Q -> French Canadian |
|---|
| 141 | C = K -> German |
|---|
| 142 | C = Y -> Italian |
|---|
| 143 | C = E or 6 -> Norwegian/Danish |
|---|
| 144 | C = Z -> Spanish |
|---|
| 145 | C = H or 7 -> Swedish |
|---|
| 146 | C = = -> Swiss |
|---|
| 147 | ESC 7 Save Cursor (DECSC) |
|---|
| 148 | ESC 8 Restore Cursor (DECRC) |
|---|
| 149 | ESC = Application Keypad (DECPAM) |
|---|
| 150 | ESC > Normal Keypad (DECPNM) |
|---|
| 151 | ESC F Cursor to lower left corner of screen (if enabled by the |
|---|
| 152 | hpLowerleftBugCompat resource). |
|---|
| 153 | ESC c Full Reset (RIS) |
|---|
| 154 | ESC l Memory Lock (per HP terminals). Locks memory above the cur- |
|---|
| 155 | sor. |
|---|
| 156 | ESC m Memory Unlock (per HP terminals) |
|---|
| 157 | ESC n Invoke the G2 Character Set as GL (LS2). |
|---|
| 158 | ESC o Invoke the G3 Character Set as GL (LS3). |
|---|
| 159 | ESC | Invoke the G3 Character Set as GR (LS3R). |
|---|
| 160 | ESC } Invoke the G2 Character Set as GR (LS2R). |
|---|
| 161 | ESC ~ Invoke the G1 Character Set as GR (LS1R). |
|---|
| 162 | |
|---|
| 163 | Application Program-Control functions |
|---|
| 164 | APC Pt ST xterm implements no APC functions; Pt is ignored. Pt need |
|---|
| 165 | not be printable characters. |
|---|
| 166 | |
|---|
| 167 | Device-Control functions |
|---|
| 168 | DCS Ps; Ps| Pt ST |
|---|
| 169 | User-Defined Keys (DECUDK). The first parameter: |
|---|
| 170 | Ps = 0 -> Clear all UDK definitions before starting |
|---|
| 171 | (default) |
|---|
| 172 | Ps = 1 -> Erase Below (default) |
|---|
| 173 | The second parameter: |
|---|
| 174 | Ps = 0 -> Lock the keys (default) |
|---|
| 175 | Ps = 1 -> Do not lock. |
|---|
| 176 | The third parameter is a ';'-separated list of strings denot- |
|---|
| 177 | ing the key-code separated by a '/' from the hex-encoded key |
|---|
| 178 | value. The key codes correspond to the DEC function-key codes |
|---|
| 179 | (e.g., F6=17). |
|---|
| 180 | DCS $ q Pt ST |
|---|
| 181 | Request Status String (DECRQSS). The string following the "q" |
|---|
| 182 | is one of the following: |
|---|
| 183 | " q -> DECSCA |
|---|
| 184 | " p -> DECSCL |
|---|
| 185 | r -> DECSTBM |
|---|
| 186 | m -> SGR |
|---|
| 187 | xterm responds with DCS 1 $ r Pt ST for valid requests, |
|---|
| 188 | replacing the Pt with the corresponding CSI string, or DCS 0 $ |
|---|
| 189 | r Pt ST for invalid requests. |
|---|
| 190 | DCS + q Pt ST |
|---|
| 191 | Request Termcap/Terminfo String (xterm, experimental). The |
|---|
| 192 | string following the "q" is a list of names encoded in hex- |
|---|
| 193 | adecimal (2 digits per character) separated by ; which corre- |
|---|
| 194 | spond to termcap or terminfo key names. |
|---|
| 195 | xterm responds with DCS 1 + r Pt ST for valid requests, adding |
|---|
| 196 | to Pt an = , and the value of the corresponding string that |
|---|
| 197 | xterm would send, or DCS 0 + r Pt ST for invalid requests. |
|---|
| 198 | The strings are encoded in hexadecimal (2 digits per charac- |
|---|
| 199 | ter). |
|---|
| 200 | |
|---|
| 201 | Functions using CSI , ordered by the final character(s) |
|---|
| 202 | CSI Ps @ Insert Ps (Blank) Character(s) (default = 1) (ICH) |
|---|
| 203 | CSI Ps A Cursor Up Ps Times (default = 1) (CUU) |
|---|
| 204 | CSI Ps B Cursor Down Ps Times (default = 1) (CUD) |
|---|
| 205 | CSI Ps C Cursor Forward Ps Times (default = 1) (CUF) |
|---|
| 206 | CSI Ps D Cursor Backward Ps Times (default = 1) (CUB) |
|---|
| 207 | CSI Ps E Cursor Next Line Ps Times (default = 1) (CNL) |
|---|
| 208 | CSI Ps F Cursor Preceding Line Ps Times (default = 1) (CPL) |
|---|
| 209 | CSI Ps G Cursor Character Absolute [column] (default = [row,1]) (CHA) |
|---|
| 210 | CSI Ps ; Ps H |
|---|
| 211 | Cursor Position [row;column] (default = [1,1]) (CUP) |
|---|
| 212 | CSI Ps I Cursor Forward Tabulation Ps tab stops (default = 1) (CHT) |
|---|
| 213 | CSI Ps J Erase in Display (ED) |
|---|
| 214 | Ps = 0 -> Erase Below (default) |
|---|
| 215 | Ps = 1 -> Erase Above |
|---|
| 216 | Ps = 2 -> Erase All |
|---|
| 217 | Ps = 3 -> Erase Saved Lines (xterm) |
|---|
| 218 | CSI ? Ps J |
|---|
| 219 | Erase in Display (DECSED) |
|---|
| 220 | Ps = 0 -> Selective Erase Below (default) |
|---|
| 221 | Ps = 1 -> Selective Erase Above |
|---|
| 222 | Ps = 2 -> Selective Erase All |
|---|
| 223 | CSI Ps K Erase in Line (EL) |
|---|
| 224 | Ps = 0 -> Erase to Right (default) |
|---|
| 225 | Ps = 1 -> Erase to Left |
|---|
| 226 | Ps = 2 -> Erase All |
|---|
| 227 | CSI ? Ps K |
|---|
| 228 | Erase in Line (DECSEL) |
|---|
| 229 | Ps = 0 -> Selective Erase to Right (default) |
|---|
| 230 | Ps = 1 -> Selective Erase to Left |
|---|
| 231 | Ps = 2 -> Selective Erase All |
|---|
| 232 | CSI Ps L Insert Ps Line(s) (default = 1) (IL) |
|---|
| 233 | CSI Ps M Delete Ps Line(s) (default = 1) (DL) |
|---|
| 234 | CSI Ps P Delete Ps Character(s) (default = 1) (DCH) |
|---|
| 235 | CSI Ps S Scroll up Ps lines (default = 1) (SU) |
|---|
| 236 | CSI Ps T Scroll down Ps lines (default = 1) (SD) |
|---|
| 237 | CSI Ps ; Ps ; Ps ; Ps ; Ps T |
|---|
| 238 | Initiate highlight mouse tracking. Parameters are |
|---|
| 239 | [func;startx;starty;firstrow;lastrow]. See the section Mouse |
|---|
| 240 | Tracking. |
|---|
| 241 | CSI Ps X Erase Ps Character(s) (default = 1) (ECH) |
|---|
| 242 | CSI Ps Z Cursor Backward Tabulation Ps tab stops (default = 1) (CBT) |
|---|
| 243 | CSI Pm ` Character Position Absolute [column] (default = [row,1]) |
|---|
| 244 | (HPA) |
|---|
| 245 | CSI Ps b Repeat the preceding graphic character Ps times (REP) |
|---|
| 246 | CSI Ps c Send Device Attributes (Primary DA) |
|---|
| 247 | Ps = 0 or omitted -> request attributes from terminal. The |
|---|
| 248 | response depends on the decTerminalID resource setting. |
|---|
| 249 | -> CSI ? 1 ; 2 c (``VT100 with Advanced Video Option'') |
|---|
| 250 | -> CSI ? 1 ; 0 c (``VT101 with No Options'') |
|---|
| 251 | -> CSI ? 6 c (``VT102'') |
|---|
| 252 | -> CSI ? 6 0 ; 1 ; 2 ; 6 ; 8 ; 9 ; 1 5 ; c (``VT220'') |
|---|
| 253 | The VT100-style response parameters do not mean anything by |
|---|
| 254 | themselves. VT220 parameters do, telling the host what fea- |
|---|
| 255 | tures the terminal supports: |
|---|
| 256 | -> 1 132-columns |
|---|
| 257 | -> 2 Printer |
|---|
| 258 | -> 6 Selective erase |
|---|
| 259 | -> 8 User-defined keys |
|---|
| 260 | -> 9 National replacement character sets |
|---|
| 261 | -> 1 5 Technical characters |
|---|
| 262 | -> 2 2 ANSI color, e.g., VT525 |
|---|
| 263 | -> 2 9 ANSI text locator (i.e., DEC Locator mode) |
|---|
| 264 | CSI > Ps c |
|---|
| 265 | Send Device Attributes (Secondary DA) |
|---|
| 266 | Ps = 0 or omitted -> request the terminal's identification |
|---|
| 267 | code. The response depends on the decTerminalID resource set- |
|---|
| 268 | ting. It should apply only to VT220 and up, but xterm extends |
|---|
| 269 | this to VT100. |
|---|
| 270 | -> CSI > Pp ; Pv ; Pc c |
|---|
| 271 | where Pp denotes the terminal type |
|---|
| 272 | -> 0 (``VT100'') |
|---|
| 273 | -> 1 (``VT220'') |
|---|
| 274 | and Pv is the firmware version (for xterm, this was originally |
|---|
| 275 | the XFree86 patch number, starting with 95). In a DEC termi- |
|---|
| 276 | nal, Pc indicates the ROM cartridge registration number and is |
|---|
| 277 | always zero. |
|---|
| 278 | CSI Pm d Line Position Absolute [row] (default = [1,column]) (VPA) |
|---|
| 279 | CSI Ps ; Ps f |
|---|
| 280 | Horizontal and Vertical Position [row;column] (default = |
|---|
| 281 | [1,1]) (HVP) |
|---|
| 282 | CSI Ps g Tab Clear (TBC) |
|---|
| 283 | Ps = 0 -> Clear Current Column (default) |
|---|
| 284 | Ps = 3 -> Clear All |
|---|
| 285 | CSI Pm h Set Mode (SM) |
|---|
| 286 | Ps = 2 -> Keyboard Action Mode (AM) |
|---|
| 287 | Ps = 4 -> Insert Mode (IRM) |
|---|
| 288 | Ps = 1 2 -> Send/receive (SRM) |
|---|
| 289 | Ps = 2 0 -> Automatic Newline (LNM) |
|---|
| 290 | CSI ? Pm h |
|---|
| 291 | DEC Private Mode Set (DECSET) |
|---|
| 292 | Ps = 1 -> Application Cursor Keys (DECCKM) |
|---|
| 293 | Ps = 2 -> Designate USASCII for character sets G0-G3 |
|---|
| 294 | (DECANM), and set VT100 mode. |
|---|
| 295 | Ps = 3 -> 132 Column Mode (DECCOLM) |
|---|
| 296 | Ps = 4 -> Smooth (Slow) Scroll (DECSCLM) |
|---|
| 297 | Ps = 5 -> Reverse Video (DECSCNM) |
|---|
| 298 | Ps = 6 -> Origin Mode (DECOM) |
|---|
| 299 | Ps = 7 -> Wraparound Mode (DECAWM) |
|---|
| 300 | Ps = 8 -> Auto-repeat Keys (DECARM) |
|---|
| 301 | Ps = 9 -> Send Mouse X & Y on button press. See the sec- |
|---|
| 302 | tion Mouse Tracking. |
|---|
| 303 | Ps = 1 0 -> Show toolbar (rxvt) |
|---|
| 304 | Ps = 1 2 -> Start Blinking Cursor (att610) |
|---|
| 305 | Ps = 1 8 -> Print form feed (DECPFF) |
|---|
| 306 | Ps = 1 9 -> Set print extent to full screen (DECPEX) |
|---|
| 307 | Ps = 2 5 -> Show Cursor (DECTCEM) |
|---|
| 308 | Ps = 3 0 -> Show scrollbar (rxvt). |
|---|
| 309 | Ps = 3 5 -> Enable font-shifting functions (rxvt). |
|---|
| 310 | Ps = 3 8 -> Enter Tektronix Mode (DECTEK) |
|---|
| 311 | Ps = 4 0 -> Allow 80 -> 132 Mode |
|---|
| 312 | Ps = 4 1 -> more(1) fix (see curses resource) |
|---|
| 313 | Ps = 4 2 -> Enable Nation Replacement Character sets (DECN- |
|---|
| 314 | RCM) |
|---|
| 315 | Ps = 4 4 -> Turn On Margin Bell |
|---|
| 316 | Ps = 4 5 -> Reverse-wraparound Mode |
|---|
| 317 | Ps = 4 6 -> Start Logging (normally disabled by a compile- |
|---|
| 318 | time option) |
|---|
| 319 | Ps = 4 7 -> Use Alternate Screen Buffer (unless disabled by |
|---|
| 320 | the titeInhibit resource) |
|---|
| 321 | Ps = 6 6 -> Application keypad (DECNKM) |
|---|
| 322 | Ps = 6 7 -> Backarrow key sends backspace (DECBKM) |
|---|
| 323 | Ps = 1 0 0 0 -> Send Mouse X & Y on button press and |
|---|
| 324 | release. See the section Mouse Tracking. |
|---|
| 325 | Ps = 1 0 0 1 -> Use Hilite Mouse Tracking. |
|---|
| 326 | Ps = 1 0 0 2 -> Use Cell Motion Mouse Tracking. |
|---|
| 327 | Ps = 1 0 0 3 -> Use All Motion Mouse Tracking. |
|---|
| 328 | Ps = 1 0 0 4 -> Send FocusIn/FocusOut events. |
|---|
| 329 | Ps = 1 0 1 0 -> Scroll to bottom on tty output (rxvt). |
|---|
| 330 | Ps = 1 0 1 1 -> Scroll to bottom on key press (rxvt). |
|---|
| 331 | Ps = 1 0 3 4 -> Interpret "meta" key, sets eighth bit. |
|---|
| 332 | (enables the eightBitInput resource). |
|---|
| 333 | Ps = 1 0 3 5 -> Enable special modifiers for Alt and Num- |
|---|
| 334 | Lock keys (enables the numLock resource). |
|---|
| 335 | Ps = 1 0 3 6 -> Send ESC when Meta modifies a key (enables |
|---|
| 336 | the metaSendsEscape resource). |
|---|
| 337 | Ps = 1 0 3 7 -> Send DEL from the editing-keypad Delete key |
|---|
| 338 | Ps = 1 0 3 9 -> Send ESC when Alt modifies a key (enables |
|---|
| 339 | the altSendsEscape resource). |
|---|
| 340 | Ps = 1 0 4 0 -> Keep selection even if not highlighted |
|---|
| 341 | (enables the keepSelection resource). |
|---|
| 342 | Ps = 1 0 4 1 -> Use the CLIPBOARD selection (enables the |
|---|
| 343 | selectToClipboard resource). |
|---|
| 344 | Ps = 1 0 4 2 -> Enable Urgency window manager hint when |
|---|
| 345 | Control-G is received (enables the bellIsUrgent resource). |
|---|
| 346 | Ps = 1 0 4 3 -> Enable raising of the window when Control-G |
|---|
| 347 | is received (enables the popOnBell resource). |
|---|
| 348 | Ps = 1 0 4 7 -> Use Alternate Screen Buffer (unless dis- |
|---|
| 349 | abled by the titeInhibit resource) |
|---|
| 350 | Ps = 1 0 4 8 -> Save cursor as in DECSC (unless disabled by |
|---|
| 351 | the titeInhibit resource) |
|---|
| 352 | Ps = 1 0 4 9 -> Save cursor as in DECSC and use Alternate |
|---|
| 353 | Screen Buffer, clearing it first (unless disabled by the |
|---|
| 354 | titeInhibit resource). This combines the effects of the 1 0 4 |
|---|
| 355 | 7 and 1 0 4 8 modes. Use this with terminfo-based applica- |
|---|
| 356 | tions rather than the 4 7 mode. |
|---|
| 357 | Ps = 1 0 5 0 -> Set terminfo/termcap function-key mode. |
|---|
| 358 | Ps = 1 0 5 1 -> Set Sun function-key mode. |
|---|
| 359 | Ps = 1 0 5 2 -> Set HP function-key mode. |
|---|
| 360 | Ps = 1 0 5 3 -> Set SCO function-key mode. |
|---|
| 361 | Ps = 1 0 6 0 -> Set legacy keyboard emulation (X11R6). |
|---|
| 362 | Ps = 1 0 6 1 -> Set VT220 keyboard emulation. |
|---|
| 363 | Ps = 2 0 0 4 -> Set bracketed paste mode. |
|---|
| 364 | CSI Pm i Media Copy (MC) |
|---|
| 365 | Ps = 0 -> Print screen (default) |
|---|
| 366 | Ps = 4 -> Turn off printer controller mode |
|---|
| 367 | Ps = 5 -> Turn on printer controller mode |
|---|
| 368 | CSI ? Pm i |
|---|
| 369 | Media Copy (MC, DEC-specific) |
|---|
| 370 | Ps = 1 -> Print line containing cursor |
|---|
| 371 | Ps = 4 -> Turn off autoprint mode |
|---|
| 372 | Ps = 5 -> Turn on autoprint mode |
|---|
| 373 | Ps = 1 0 -> Print composed display, ignores DECPEX |
|---|
| 374 | Ps = 1 1 -> Print all pages |
|---|
| 375 | CSI Pm l Reset Mode (RM) |
|---|
| 376 | Ps = 2 -> Keyboard Action Mode (AM) |
|---|
| 377 | Ps = 4 -> Replace Mode (IRM) |
|---|
| 378 | Ps = 1 2 -> Send/receive (SRM) |
|---|
| 379 | Ps = 2 0 -> Normal Linefeed (LNM) |
|---|
| 380 | CSI ? Pm l |
|---|
| 381 | DEC Private Mode Reset (DECRST) |
|---|
| 382 | Ps = 1 -> Normal Cursor Keys (DECCKM) |
|---|
| 383 | Ps = 2 -> Designate VT52 mode (DECANM). |
|---|
| 384 | Ps = 3 -> 80 Column Mode (DECCOLM) |
|---|
| 385 | Ps = 4 -> Jump (Fast) Scroll (DECSCLM) |
|---|
| 386 | Ps = 5 -> Normal Video (DECSCNM) |
|---|
| 387 | Ps = 6 -> Normal Cursor Mode (DECOM) |
|---|
| 388 | Ps = 7 -> No Wraparound Mode (DECAWM) |
|---|
| 389 | Ps = 8 -> No Auto-repeat Keys (DECARM) |
|---|
| 390 | Ps = 9 -> Don't send Mouse X & Y on button press |
|---|
| 391 | Ps = 1 0 -> Hide toolbar (rxvt) |
|---|
| 392 | Ps = 1 2 -> Stop Blinking Cursor (att610) |
|---|
| 393 | Ps = 1 8 -> Don't print form feed (DECPFF) |
|---|
| 394 | Ps = 1 9 -> Limit print to scrolling region (DECPEX) |
|---|
| 395 | Ps = 2 5 -> Hide Cursor (DECTCEM) |
|---|
| 396 | Ps = 3 0 -> Don't show scrollbar (rxvt). |
|---|
| 397 | Ps = 3 5 -> Disable font-shifting functions (rxvt). |
|---|
| 398 | Ps = 4 0 -> Disallow 80 -> 132 Mode |
|---|
| 399 | Ps = 4 1 -> No more(1) fix (see curses resource) |
|---|
| 400 | Ps = 4 2 -> Disable Nation Replacement Character sets (DEC- |
|---|
| 401 | NRCM) |
|---|
| 402 | Ps = 4 4 -> Turn Off Margin Bell |
|---|
| 403 | Ps = 4 5 -> No Reverse-wraparound Mode |
|---|
| 404 | Ps = 4 6 -> Stop Logging (normally disabled by a compile- |
|---|
| 405 | time option) |
|---|
| 406 | Ps = 4 7 -> Use Normal Screen Buffer |
|---|
| 407 | Ps = 6 6 -> Numeric keypad (DECNKM) |
|---|
| 408 | Ps = 6 7 -> Backarrow key sends delete (DECBKM) |
|---|
| 409 | Ps = 1 0 0 0 -> Don't send Mouse X & Y on button press and |
|---|
| 410 | release. See the section Mouse Tracking. |
|---|
| 411 | Ps = 1 0 0 1 -> Don't use Hilite Mouse Tracking. |
|---|
| 412 | Ps = 1 0 0 2 -> Don't use Cell Motion Mouse Tracking. |
|---|
| 413 | Ps = 1 0 0 3 -> Don't use All Motion Mouse Tracking. |
|---|
| 414 | Ps = 1 0 0 4 -> Don't send FocusIn/FocusOut events. |
|---|
| 415 | Ps = 1 0 1 0 -> Don't scroll to bottom on tty output |
|---|
| 416 | (rxvt). |
|---|
| 417 | Ps = 1 0 1 1 -> Don't scroll to bottom on key press (rxvt). |
|---|
| 418 | Ps = 1 0 3 4 -> Don't interpret "meta" key (disables the |
|---|
| 419 | eightBitInput resource). |
|---|
| 420 | Ps = 1 0 3 5 -> Disable special modifiers for Alt and Num- |
|---|
| 421 | Lock keys (disables the numLock resource). |
|---|
| 422 | Ps = 1 0 3 6 -> Don't send ESC when Meta modifies a key |
|---|
| 423 | (disables the metaSendsEscape resource). |
|---|
| 424 | Ps = 1 0 3 7 -> Send VT220 Remove from the editing-keypad |
|---|
| 425 | Delete key |
|---|
| 426 | Ps = 1 0 3 9 -> Don't send ESC when Alt modifies a key |
|---|
| 427 | (disables the altSendsEscape resource). |
|---|
| 428 | Ps = 1 0 4 0 -> Do not keep selection when not highlighted |
|---|
| 429 | (disables the keepSelection resource). |
|---|
| 430 | Ps = 1 0 4 1 -> Use the PRIMARY selection. (disables the |
|---|
| 431 | selectToClipboard resource). |
|---|
| 432 | Ps = 1 0 4 2 -> Disable Urgency window manager hint when |
|---|
| 433 | Control-G is received (disables the bellIsUrgent resource). |
|---|
| 434 | Ps = 1 0 4 3 -> Disable raising of the window when Control- |
|---|
| 435 | G is received (disables the popOnBell resource). |
|---|
| 436 | Ps = 1 0 4 7 -> Use Normal Screen Buffer, clearing screen |
|---|
| 437 | first if in the Alternate Screen (unless disabled by the |
|---|
| 438 | titeInhibit resource) |
|---|
| 439 | Ps = 1 0 4 8 -> Restore cursor as in DECRC (unless disabled |
|---|
| 440 | by the titeInhibit resource) |
|---|
| 441 | Ps = 1 0 4 9 -> Use Normal Screen Buffer and restore cursor |
|---|
| 442 | as in DECRC (unless disabled by the titeInhibit resource). |
|---|
| 443 | This combines the effects of the 1 0 4 7 and 1 0 4 8 modes. |
|---|
| 444 | Use this with terminfo-based applications rather than the 4 7 |
|---|
| 445 | mode. |
|---|
| 446 | Ps = 1 0 5 0 -> Reset terminfo/termcap function-key mode. |
|---|
| 447 | Ps = 1 0 5 1 -> Reset Sun function-key mode. |
|---|
| 448 | Ps = 1 0 5 2 -> Reset HP function-key mode. |
|---|
| 449 | Ps = 1 0 5 3 -> Reset SCO function-key mode. |
|---|
| 450 | Ps = 1 0 6 0 -> Reset legacy keyboard emulation (X11R6). |
|---|
| 451 | Ps = 1 0 6 1 -> Reset keyboard emulation to Sun/PC style. |
|---|
| 452 | Ps = 2 0 0 4 -> Reset bracketed paste mode. |
|---|
| 453 | CSI Pm m Character Attributes (SGR) |
|---|
| 454 | Ps = 0 -> Normal (default) |
|---|
| 455 | Ps = 1 -> Bold |
|---|
| 456 | Ps = 4 -> Underlined |
|---|
| 457 | Ps = 5 -> Blink (appears as Bold) |
|---|
| 458 | Ps = 7 -> Inverse |
|---|
| 459 | Ps = 8 -> Invisible, i.e., hidden (VT300) |
|---|
| 460 | Ps = 2 2 -> Normal (neither bold nor faint) |
|---|
| 461 | Ps = 2 4 -> Not underlined |
|---|
| 462 | Ps = 2 5 -> Steady (not blinking) |
|---|
| 463 | Ps = 2 7 -> Positive (not inverse) |
|---|
| 464 | Ps = 2 8 -> Visible, i.e., not hidden (VT300) |
|---|
| 465 | Ps = 3 0 -> Set foreground color to Black |
|---|
| 466 | Ps = 3 1 -> Set foreground color to Red |
|---|
| 467 | Ps = 3 2 -> Set foreground color to Green |
|---|
| 468 | Ps = 3 3 -> Set foreground color to Yellow |
|---|
| 469 | Ps = 3 4 -> Set foreground color to Blue |
|---|
| 470 | Ps = 3 5 -> Set foreground color to Magenta |
|---|
| 471 | Ps = 3 6 -> Set foreground color to Cyan |
|---|
| 472 | Ps = 3 7 -> Set foreground color to White |
|---|
| 473 | Ps = 3 9 -> Set foreground color to default (original) |
|---|
| 474 | Ps = 4 0 -> Set background color to Black |
|---|
| 475 | Ps = 4 1 -> Set background color to Red |
|---|
| 476 | Ps = 4 2 -> Set background color to Green |
|---|
| 477 | Ps = 4 3 -> Set background color to Yellow |
|---|
| 478 | Ps = 4 4 -> Set background color to Blue |
|---|
| 479 | Ps = 4 5 -> Set background color to Magenta |
|---|
| 480 | Ps = 4 6 -> Set background color to Cyan |
|---|
| 481 | Ps = 4 7 -> Set background color to White |
|---|
| 482 | Ps = 4 9 -> Set background color to default (original). |
|---|
| 483 | |
|---|
| 484 | If 16-color support is compiled, the following apply. Assume |
|---|
| 485 | that xterm's resources are set so that the ISO color codes are |
|---|
| 486 | the first 8 of a set of 16. Then the aixterm colors are the |
|---|
| 487 | bright versions of the ISO colors: |
|---|
| 488 | Ps = 9 0 -> Set foreground color to Black |
|---|
| 489 | Ps = 9 1 -> Set foreground color to Red |
|---|
| 490 | Ps = 9 2 -> Set foreground color to Green |
|---|
| 491 | Ps = 9 3 -> Set foreground color to Yellow |
|---|
| 492 | Ps = 9 4 -> Set foreground color to Blue |
|---|
| 493 | Ps = 9 5 -> Set foreground color to Magenta |
|---|
| 494 | Ps = 9 6 -> Set foreground color to Cyan |
|---|
| 495 | Ps = 9 7 -> Set foreground color to White |
|---|
| 496 | Ps = 1 0 0 -> Set background color to Black |
|---|
| 497 | Ps = 1 0 1 -> Set background color to Red |
|---|
| 498 | Ps = 1 0 2 -> Set background color to Green |
|---|
| 499 | Ps = 1 0 3 -> Set background color to Yellow |
|---|
| 500 | Ps = 1 0 4 -> Set background color to Blue |
|---|
| 501 | Ps = 1 0 5 -> Set background color to Magenta |
|---|
| 502 | Ps = 1 0 6 -> Set background color to Cyan |
|---|
| 503 | Ps = 1 0 7 -> Set background color to White |
|---|
| 504 | |
|---|
| 505 | If xterm is compiled with the 16-color support disabled, it |
|---|
| 506 | supports the following, from rxvt: |
|---|
| 507 | Ps = 1 0 0 -> Set foreground and background color to |
|---|
| 508 | default |
|---|
| 509 | |
|---|
| 510 | If 88- or 256-color support is compiled, the following apply. |
|---|
| 511 | Ps = 3 8 ; 5 ; Ps -> Set foreground color to the second Ps |
|---|
| 512 | Ps = 4 8 ; 5 ; Ps -> Set background color to the second Ps |
|---|
| 513 | |
|---|
| 514 | CSI > Ps; Ps m |
|---|
| 515 | Set or reset resource-values used by xterm to decide whether |
|---|
| 516 | to construct escape sequences holding information about the |
|---|
| 517 | modifiers pressed with a given key. The first parameter iden- |
|---|
| 518 | tifies the resource to set/reset. The second parameter is the |
|---|
| 519 | value to assign to the resource. If the second parameter is |
|---|
| 520 | omitted, the resource is reset to its initial value. |
|---|
| 521 | -> 1 modifyCursorKeys |
|---|
| 522 | -> 2 modifyFunctionKeys |
|---|
| 523 | -> 4 modifyOtherKeys |
|---|
| 524 | If no parameters are given, all resources are reset to their |
|---|
| 525 | initial values. |
|---|
| 526 | CSI Ps n Device Status Report (DSR) |
|---|
| 527 | Ps = 5 -> Status Report CSI 0 n (``OK'') |
|---|
| 528 | Ps = 6 -> Report Cursor Position (CPR) [row;column] as |
|---|
| 529 | CSI r ; c R |
|---|
| 530 | CSI > Ps n |
|---|
| 531 | Disable modifiers which may be enabled via the CSI > Ps; Ps m |
|---|
| 532 | sequence. This corresponds to a resource value of "-1", which |
|---|
| 533 | cannot be set with the other sequence. The parameter identi- |
|---|
| 534 | fies the resource to be disabled: |
|---|
| 535 | -> 1 modifyCursorKeys |
|---|
| 536 | -> 2 modifyFunctionKeys |
|---|
| 537 | -> 4 modifyOtherKeys If the parameter is omitted, modify- |
|---|
| 538 | FunctionKeys is disabled. When modifyFunctionKeys is dis- |
|---|
| 539 | abled, xterm uses the modifier keys to make an extended |
|---|
| 540 | sequence of functions rather than adding a parameter to each |
|---|
| 541 | function key to denote the modifiers. |
|---|
| 542 | CSI ? Ps n |
|---|
| 543 | Device Status Report (DSR, DEC-specific) |
|---|
| 544 | Ps = 6 -> Report Cursor Position (CPR) [row;column] as CSI |
|---|
| 545 | ? r ; c R (assumes page is zero). |
|---|
| 546 | Ps = 1 5 -> Report Printer status as CSI ? 1 0 n (ready) |
|---|
| 547 | or CSI ? 1 1 n (not ready) |
|---|
| 548 | Ps = 2 5 -> Report UDK status as CSI ? 2 0 n (unlocked) |
|---|
| 549 | or CSI ? 2 1 n (locked) |
|---|
| 550 | Ps = 2 6 -> Report Keyboard status as |
|---|
| 551 | CSI ? 2 7 ; 1 ; 0 ; 0 n (North American) |
|---|
| 552 | The last two parameters apply to VT400 & up, and denote key- |
|---|
| 553 | board ready and LK01 respectively. |
|---|
| 554 | Ps = 5 3 -> Report Locator status as |
|---|
| 555 | CSI ? 5 3 n Locator available, if compiled-in, or |
|---|
| 556 | CSI ? 5 0 n No Locator, if not. |
|---|
| 557 | CSI > Ps p |
|---|
| 558 | Set resource value pointerMode, used by xterm to decide |
|---|
| 559 | whether to hide the pointer cursor as the user types. Valid |
|---|
| 560 | values for the parameter: |
|---|
| 561 | Ps = 0 -> never hide the pointer |
|---|
| 562 | Ps = 1 -> hide if the mouse tracking mode is not enabled |
|---|
| 563 | Ps = 2 -> always hide the pointer If no parameter is given, |
|---|
| 564 | xterm uses the default, which is 1 . |
|---|
| 565 | CSI ! p Soft terminal reset (DECSTR) |
|---|
| 566 | CSI Ps ; Ps " p |
|---|
| 567 | Set conformance level (DECSCL) Valid values for the first |
|---|
| 568 | parameter: |
|---|
| 569 | Ps = 6 1 -> VT100 |
|---|
| 570 | Ps = 6 2 -> VT200 |
|---|
| 571 | Ps = 6 3 -> VT300 |
|---|
| 572 | Valid values for the second parameter: |
|---|
| 573 | Ps = 0 -> 8-bit controls |
|---|
| 574 | Ps = 1 -> 7-bit controls (always set for VT100) |
|---|
| 575 | Ps = 2 -> 8-bit controls |
|---|
| 576 | CSI Ps " q |
|---|
| 577 | Select character protection attribute (DECSCA). Valid values |
|---|
| 578 | for the parameter: |
|---|
| 579 | Ps = 0 -> DECSED and DECSEL can erase (default) |
|---|
| 580 | Ps = 1 -> DECSED and DECSEL cannot erase |
|---|
| 581 | Ps = 2 -> DECSED and DECSEL can erase |
|---|
| 582 | CSI Ps ; Ps r |
|---|
| 583 | Set Scrolling Region [top;bottom] (default = full size of win- |
|---|
| 584 | dow) (DECSTBM) |
|---|
| 585 | CSI ? Pm r |
|---|
| 586 | Restore DEC Private Mode Values. The value of Ps previously |
|---|
| 587 | saved is restored. Ps values are the same as for DECSET. |
|---|
| 588 | CSI Pt; Pl; Pb; Pr; Ps$ r |
|---|
| 589 | Change Attributes in Rectangular Area (DECCARA). |
|---|
| 590 | Pt; Pl; Pb; Pr denotes the rectangle. |
|---|
| 591 | Ps denotes the SGR attributes to change: 0, 1, 4, 5, 7 |
|---|
| 592 | CSI s Save cursor (ANSI.SYS) |
|---|
| 593 | CSI ? Pm s |
|---|
| 594 | Save DEC Private Mode Values. Ps values are the same as for |
|---|
| 595 | DECSET. |
|---|
| 596 | CSI Ps ; Ps ; Ps t |
|---|
| 597 | Window manipulation (from dtterm, as well as extensions). |
|---|
| 598 | These controls may be disabled using the allowWindowOps |
|---|
| 599 | resource. Valid values for the first (and any additional |
|---|
| 600 | parameters) are: |
|---|
| 601 | Ps = 1 -> De-iconify window. |
|---|
| 602 | Ps = 2 -> Iconify window. |
|---|
| 603 | Ps = 3 ; x ; y -> Move window to [x, y]. |
|---|
| 604 | Ps = 4 ; height ; width -> Resize the xterm window to |
|---|
| 605 | height and width in pixels. |
|---|
| 606 | Ps = 5 -> Raise the xterm window to the front of the stack- |
|---|
| 607 | ing order. |
|---|
| 608 | Ps = 6 -> Lower the xterm window to the bottom of the |
|---|
| 609 | stacking order. |
|---|
| 610 | Ps = 7 -> Refresh the xterm window. |
|---|
| 611 | Ps = 8 ; height ; width -> Resize the text area to |
|---|
| 612 | [height;width] in characters. |
|---|
| 613 | Ps = 9 ; 0 -> Restore maximized window. |
|---|
| 614 | Ps = 9 ; 1 -> Maximize window (i.e., resize to screen |
|---|
| 615 | size). |
|---|
| 616 | Ps = 1 1 -> Report xterm window state. If the xterm window |
|---|
| 617 | is open (non-iconified), it returns CSI 1 t . If the xterm |
|---|
| 618 | window is iconified, it returns CSI 2 t . |
|---|
| 619 | Ps = 1 3 -> Report xterm window position as CSI 3 ; x; yt |
|---|
| 620 | Ps = 1 4 -> Report xterm window in pixels as CSI 4 ; |
|---|
| 621 | height ; width t |
|---|
| 622 | Ps = 1 8 -> Report the size of the text area in characters |
|---|
| 623 | as CSI 8 ; height ; width t |
|---|
| 624 | Ps = 1 9 -> Report the size of the screen in characters as |
|---|
| 625 | CSI 9 ; height ; width t |
|---|
| 626 | Ps = 2 0 -> Report xterm window's icon label as OSC L |
|---|
| 627 | label ST |
|---|
| 628 | Ps = 2 1 -> Report xterm window's title as OSC l title ST |
|---|
| 629 | Ps >= 2 4 -> Resize to Ps lines (DECSLPP) |
|---|
| 630 | CSI Pt; Pl; Pb; Pr; Ps$ t |
|---|
| 631 | Reverse Attributes in Rectangular Area (DECRARA). |
|---|
| 632 | Pt; Pl; Pb; Pr denotes the rectangle. |
|---|
| 633 | Ps denotes the attributes to reverse. 1, 4, 5, 7 |
|---|
| 634 | CSI u Save cursor (ANSI.SYS) |
|---|
| 635 | CSI Pt; Pl; Pb; Pr; Pp; Pt; Pl; Pp$ v |
|---|
| 636 | Copy Rectangular Area (DECCRA) |
|---|
| 637 | Pt; Pl; Pb; Pr denotes the rectangle. |
|---|
| 638 | Pp denotes the source page. |
|---|
| 639 | Pt; Pl denotes the target location. |
|---|
| 640 | Pp denotes the target page. |
|---|
| 641 | CSI Pt ; Pl ; Pb ; Pr ' w |
|---|
| 642 | Enable Filter Rectangle (DECEFR) |
|---|
| 643 | Parameters are [top;left;bottom;right]. |
|---|
| 644 | Defines the coordinates of a filter rectangle and activates |
|---|
| 645 | it. Anytime the locator is detected outside of the filter |
|---|
| 646 | rectangle, an outside rectangle event is generated and the |
|---|
| 647 | rectangle is disabled. Filter rectangles are always treated |
|---|
| 648 | as "one-shot" events. Any parameters that are omitted default |
|---|
| 649 | to the current locator position. If all parameters are omit- |
|---|
| 650 | ted, any locator motion will be reported. DECELR always can- |
|---|
| 651 | cels any prevous rectangle definition. |
|---|
| 652 | CSI Ps x Request Terminal Parameters (DECREQTPARM) |
|---|
| 653 | if Ps is a "0" (default) or "1", and xterm is emulating VT100, |
|---|
| 654 | the control sequence elicits a response of the same form whose |
|---|
| 655 | parameters describe the terminal: |
|---|
| 656 | Ps -> the given Ps incremented by 2. |
|---|
| 657 | 1 -> no parity |
|---|
| 658 | 1 -> eight bits |
|---|
| 659 | 1 2 8 -> transmit 38.4k baud |
|---|
| 660 | 1 2 8 -> receive 38.4k baud |
|---|
| 661 | 1 -> clock multiplier |
|---|
| 662 | 0 -> STP flags |
|---|
| 663 | CSI Ps x Select Attribute Change Extent (DECSACE). |
|---|
| 664 | Ps = 0 -> from start to end position, wrapped |
|---|
| 665 | Ps = 1 -> from start to end position, wrapped |
|---|
| 666 | Ps = 2 -> rectangle (exact). |
|---|
| 667 | CSI Pc; Pt; Pl; Pb; Pr$ x |
|---|
| 668 | Fill Rectangular Area (DECFRA). |
|---|
| 669 | Pc is the character to use. |
|---|
| 670 | Pt; Pl; Pb; Pr denotes the rectangle. |
|---|
| 671 | CSI Ps ; Pu ' z |
|---|
| 672 | Enable Locator Reporting (DECELR) |
|---|
| 673 | Valid values for the first parameter: |
|---|
| 674 | Ps = 0 -> Locator disabled (default) |
|---|
| 675 | Ps = 1 -> Locator enabled |
|---|
| 676 | Ps = 2 -> Locator enabled for one report, then disabled |
|---|
| 677 | The second parameter specifies the coordinate unit for locator |
|---|
| 678 | reports. |
|---|
| 679 | Valid values for the second parameter: |
|---|
| 680 | Pu = 0 or omitted -> default to character cells |
|---|
| 681 | Pu = 1 -> device physical pixels |
|---|
| 682 | Pu = 2 -> character cells |
|---|
| 683 | CSI Pt; Pl; Pb; Pr$ z |
|---|
| 684 | Erase Rectangular Area (DECERA). |
|---|
| 685 | Pt; Pl; Pb; Pr denotes the rectangle. |
|---|
| 686 | CSI Pm ' { |
|---|
| 687 | Select Locator Events (DECSLE) |
|---|
| 688 | Valid values for the first (and any additional parameters) |
|---|
| 689 | are: |
|---|
| 690 | Ps = 0 -> only respond to explicit host requests (DECRQLP) |
|---|
| 691 | (default) also cancels any filter rectangle |
|---|
| 692 | Ps = 1 -> report button down transitions |
|---|
| 693 | Ps = 2 -> do not report button down transitions |
|---|
| 694 | Ps = 3 -> report button up transitions |
|---|
| 695 | Ps = 4 -> do not report button up transitions |
|---|
| 696 | CSI Pt; Pl; Pb; Pr$ { |
|---|
| 697 | Selective Erase Rectangular Area (DECSERA). |
|---|
| 698 | Pt; Pl; Pb; Pr denotes the rectangle. |
|---|
| 699 | CSI Ps ' | |
|---|
| 700 | Request Locator Position (DECRQLP) |
|---|
| 701 | Valid values for the parameter are: |
|---|
| 702 | Ps = 0 , 1 or omitted -> transmit a single DECLRP locator |
|---|
| 703 | report |
|---|
| 704 | |
|---|
| 705 | If Locator Reporting has been enabled by a DECELR, xterm will |
|---|
| 706 | respond with a DECLRP Locator Report. This report is also |
|---|
| 707 | generated on button up and down events if they have been |
|---|
| 708 | enabled with a DECSLE, or when the locator is detected outside |
|---|
| 709 | of a filter rectangle, if filter rectangles have been enabled |
|---|
| 710 | with a DECEFR. |
|---|
| 711 | |
|---|
| 712 | -> CSI Pe ; Pb ; Pr ; Pc ; Pp & w |
|---|
| 713 | |
|---|
| 714 | Parameters are [event;button;row;column;page]. |
|---|
| 715 | Valid values for the event: |
|---|
| 716 | Pe = 0 -> locator unavailable - no other parameters sent |
|---|
| 717 | Pe = 1 -> request - xterm received a DECRQLP |
|---|
| 718 | Pe = 2 -> left button down |
|---|
| 719 | Pe = 3 -> left button up |
|---|
| 720 | Pe = 4 -> middle button down |
|---|
| 721 | Pe = 5 -> middle button up |
|---|
| 722 | Pe = 6 -> right button down |
|---|
| 723 | Pe = 7 -> right button up |
|---|
| 724 | Pe = 8 -> M4 button down |
|---|
| 725 | Pe = 9 -> M4 button up |
|---|
| 726 | Pe = 1 0 -> locator outside filter rectangle |
|---|
| 727 | ``button'' parameter is a bitmask indicating which buttons are |
|---|
| 728 | pressed: |
|---|
| 729 | Pb = 0 -> no buttons down |
|---|
| 730 | Pb & 1 -> right button down |
|---|
| 731 | Pb & 2 -> middle button down |
|---|
| 732 | Pb & 4 -> left button down |
|---|
| 733 | Pb & 8 -> M4 button down |
|---|
| 734 | ``row'' and ``column'' parameters are the coordinates of the |
|---|
| 735 | locator position in the xterm window, encoded as ASCII deci- |
|---|
| 736 | mal. |
|---|
| 737 | The ``page'' parameter is not used by xterm, and will be omit- |
|---|
| 738 | ted. |
|---|
| 739 | |
|---|
| 740 | Operating System Controls |
|---|
| 741 | OSC Ps ; Pt ST |
|---|
| 742 | OSC Ps ; Pt BEL |
|---|
| 743 | Set Text Parameters. For colors and font, if Pt is a "?", the |
|---|
| 744 | control sequence elicits a response which consists of the con- |
|---|
| 745 | trol sequence which would set the corresponding value. The |
|---|
| 746 | dtterm control sequences allow you to determine the icon name |
|---|
| 747 | and window title. |
|---|
| 748 | Ps = 0 -> Change Icon Name and Window Title to Pt |
|---|
| 749 | Ps = 1 -> Change Icon Name to Pt |
|---|
| 750 | Ps = 2 -> Change Window Title to Pt |
|---|
| 751 | Ps = 3 -> Set X property on top-level window. Pt should be |
|---|
| 752 | in the form "prop=value", or just "prop" to delete the prop- |
|---|
| 753 | erty |
|---|
| 754 | Ps = 4 ; c ; spec -> Change Color Number c to the color |
|---|
| 755 | specified by spec, i.e., a name or RGB specification as per |
|---|
| 756 | XParseColor. Any number of c name pairs may be given. The |
|---|
| 757 | color numbers correspond to the ANSI colors 0-7, their bright |
|---|
| 758 | versions 8-15, and if supported, the remainder of the 88-color |
|---|
| 759 | or 256-color table. |
|---|
| 760 | |
|---|
| 761 | If a "?" is given rather than a name or RGB specification, |
|---|
| 762 | xterm replies with a control sequence of the same form which |
|---|
| 763 | can be used to set the corresponding color. Because more than |
|---|
| 764 | one pair of color number and specification can be given in one |
|---|
| 765 | control sequence, xterm can make more than one reply. |
|---|
| 766 | |
|---|
| 767 | The 8 colors which may be set using 1 0 through 1 7 are |
|---|
| 768 | denoted dynamic colors, since the corresponding control |
|---|
| 769 | sequences were the first means for setting xterm's colors |
|---|
| 770 | dynamically, i.e., after it was started. They are not the |
|---|
| 771 | same as the ANSI colors. One or more parameters is expected |
|---|
| 772 | for Pt. Each successive parameter changes the next color in |
|---|
| 773 | the list. The value of Ps tells the starting point in the |
|---|
| 774 | list. The colors are specified by name or RGB specification |
|---|
| 775 | as per XParseColor. |
|---|
| 776 | |
|---|
| 777 | If a "?" is given rather than a name or RGB specification, |
|---|
| 778 | xterm replies with a control sequence of the same form which |
|---|
| 779 | can be used to set the corresponding dynamic color. Because |
|---|
| 780 | more than one pair of color number and specification can be |
|---|
| 781 | given in one control sequence, xterm can make more than one |
|---|
| 782 | reply. |
|---|
| 783 | |
|---|
| 784 | Ps = 1 0 -> Change VT100 text foreground color to Pt |
|---|
| 785 | Ps = 1 1 -> Change VT100 text background color to Pt |
|---|
| 786 | Ps = 1 2 -> Change text cursor color to Pt |
|---|
| 787 | Ps = 1 3 -> Change mouse foreground color to Pt |
|---|
| 788 | Ps = 1 4 -> Change mouse background color to Pt |
|---|
| 789 | Ps = 1 5 -> Change Tektronix foreground color to Pt |
|---|
| 790 | Ps = 1 6 -> Change Tektronix background color to Pt |
|---|
| 791 | Ps = 1 7 -> Change highlight color to Pt |
|---|
| 792 | Ps = 1 8 -> Change Tektronix cursor color to Pt |
|---|
| 793 | |
|---|
| 794 | Ps = 4 6 -> Change Log File to Pt (normally disabled by a |
|---|
| 795 | compile-time option) |
|---|
| 796 | |
|---|
| 797 | Ps = 5 0 -> Set Font to Pt If Pt begins with a "#", index |
|---|
| 798 | in the font menu, relative (if the next character is a plus or |
|---|
| 799 | minus sign) or absolute. A number is expected but not |
|---|
| 800 | required after the sign (the default is the current entry for |
|---|
| 801 | relative, zero for absolute indexing). |
|---|
| 802 | |
|---|
| 803 | Ps = 5 1 (reserved for Emacs shell) |
|---|
| 804 | |
|---|
| 805 | Ps = 5 2 -> Manipulate Selection Data. These controls may |
|---|
| 806 | be disabled using the allowWindowOps resource. The parameter |
|---|
| 807 | Pt is parsed as |
|---|
| 808 | Pc; Pd |
|---|
| 809 | The first, Pc, may contain any character from the set c p s |
|---|
| 810 | 0 1 2 3 4 5 6 7 . It is used to construct a list of |
|---|
| 811 | selection parameters for clipboard, primary, select, or cut |
|---|
| 812 | buffers 0 through 8 respectively, in the order given. If the |
|---|
| 813 | parameter is empty, xterm uses s 0 , to specify the config- |
|---|
| 814 | urable primary/clipboard selection and cut buffer 0. |
|---|
| 815 | The second parameter, Pd, gives the selection data. Normally |
|---|
| 816 | this is a string encoded in base64. The data becomes the new |
|---|
| 817 | selection, which is then available for pasting by other appli- |
|---|
| 818 | cations. |
|---|
| 819 | If the second parameter is a ? , xterm replies to the host |
|---|
| 820 | with the selection data encoded using the same protocol. |
|---|
| 821 | |
|---|
| 822 | Privacy Message |
|---|
| 823 | PM Pt ST xterm implements no PM functions; Pt is ignored. Pt need not |
|---|
| 824 | be printable characters. |
|---|
| 825 | |
|---|
| 826 | Alt and Meta Keys |
|---|
| 827 | Many keyboards have keys labeled "Alt". Few have keys labeled "Meta". |
|---|
| 828 | However, xterm's default translations use the Meta modifier. Common |
|---|
| 829 | keyboard configurations assign the Meta modifier to an "Alt" key. By |
|---|
| 830 | using xmodmap one may have the modifier assigned to a different key, and |
|---|
| 831 | have "real" alt and meta keys. Here is an example: |
|---|
| 832 | |
|---|
| 833 | ! put meta on mod3 to distinguish it from alt |
|---|
| 834 | keycode 64 = Alt_L |
|---|
| 835 | clear mod1 |
|---|
| 836 | add mod1 = Alt_L |
|---|
| 837 | keycode 115 = Meta_L |
|---|
| 838 | clear mod3 |
|---|
| 839 | add mod3 = Meta_L |
|---|
| 840 | |
|---|
| 841 | The metaSendsEscape resource (and altSendsEscape if altIsNotMeta is set) |
|---|
| 842 | can be used to control the way the Meta modifier applies to ordinary |
|---|
| 843 | keys unless the modifyOtherKeys resource is set: |
|---|
| 844 | - prefix a key with the ESC character. |
|---|
| 845 | - shift the key from codes 0-127 to 128-255 by adding 128. |
|---|
| 846 | The table shows the result for a given character "x" with modifiers |
|---|
| 847 | according to the default translations with the resources set on or off. |
|---|
| 848 | This assumes altIsNotMeta is set: |
|---|
| 849 | |
|---|
| 850 | ----------------------------------------------------------- |
|---|
| 851 | key altSendsEscape metaSendsEscape result |
|---|
| 852 | ----------------------------------------------------------- |
|---|
| 853 | x off off x |
|---|
| 854 | Meta-x off off shift |
|---|
| 855 | Alt-x off off shift |
|---|
| 856 | Alt+Meta-x off off shift |
|---|
| 857 | x ON off x |
|---|
| 858 | Meta-x ON off shift |
|---|
| 859 | Alt-x ON off ESC x |
|---|
| 860 | Alt+Meta-x ON off ESC shift |
|---|
| 861 | x off ON x |
|---|
| 862 | Meta-x off ON ESC x |
|---|
| 863 | Alt-x off ON shift |
|---|
| 864 | Alt+Meta-x off ON ESC shift |
|---|
| 865 | x ON ON x |
|---|
| 866 | Meta-x ON ON ESC x |
|---|
| 867 | Alt-x ON ON ESC x |
|---|
| 868 | Alt+Meta-x ON ON ESC x |
|---|
| 869 | ----------------------------------------------------------- |
|---|
| 870 | |
|---|
| 871 | |
|---|
| 872 | PC-Style Function Keys |
|---|
| 873 | If xterm does minimal translation of the function keys, it usually does |
|---|
| 874 | this with a PC-style keyboard, so PC-style function keys result. Sun |
|---|
| 875 | keyboards are similar to PC keyboards. Both have cursor and scrolling |
|---|
| 876 | operations printed on the keypad, which duplicate the smaller cursor and |
|---|
| 877 | scrolling keypads. |
|---|
| 878 | X does not predefine NumLock (used for VT220 keyboards) or Alt (used as |
|---|
| 879 | an extension for the Sun/PC keyboards) as modifiers. These keys are |
|---|
| 880 | recognized as modifiers when enabled by the numLock resource, or by the |
|---|
| 881 | DECSET 1 0 3 5 control sequence. |
|---|
| 882 | The cursor keys transmit the following escape sequences depending on the |
|---|
| 883 | mode specified via the DECCKM escape sequence. |
|---|
| 884 | |
|---|
| 885 | Key Normal Application |
|---|
| 886 | -------------------------------------- |
|---|
| 887 | Cursor Up CSI A SS3 A |
|---|
| 888 | Cursor Down CSI B SS3 B |
|---|
| 889 | Cursor Right CSI C SS3 C |
|---|
| 890 | Cursor Left CSI D SS3 D |
|---|
| 891 | -------------------------------------- |
|---|
| 892 | |
|---|
| 893 | The home- and end-keys (unlike PageUp and other keys also on the 6-key |
|---|
| 894 | editing keypad) are considered "cursor keys" by xterm. Their mode is |
|---|
| 895 | also controlled by the DECCKM escape sequence: |
|---|
| 896 | |
|---|
| 897 | Key Normal Application |
|---|
| 898 | ---------------------------------- |
|---|
| 899 | Home CSI H SS3 H |
|---|
| 900 | End CSI F SS3 F |
|---|
| 901 | ---------------------------------- |
|---|
| 902 | |
|---|
| 903 | The application keypad transmits the following escape sequences depend- |
|---|
| 904 | ing on the mode specified via the DECPNM and DECPAM escape sequences. |
|---|
| 905 | Use the NumLock key to override the application mode. |
|---|
| 906 | Not all keys are present on the Sun/PC keypad (e.g., PF1, Tab), but are |
|---|
| 907 | supported by the program. |
|---|
| 908 | |
|---|
| 909 | Key Numeric Application Terminfo Termcap |
|---|
| 910 | -------------------------------------------------------------- |
|---|
| 911 | Space SP SS3 SP - - |
|---|
| 912 | Tab TAB SS3 I - - |
|---|
| 913 | Enter CR SS3 M kent @8 |
|---|
| 914 | PF1 SS3 P SS3 P kf1 k1 |
|---|
| 915 | PF2 SS3 Q SS3 Q kf2 k2 |
|---|
| 916 | PF3 SS3 R SS3 R kf3 k3 |
|---|
| 917 | PF4 SS3 S SS3 S kf4 k4 |
|---|
| 918 | * (multiply) * SS3 j - - |
|---|
| 919 | + (add) + SS3 k - - |
|---|
| 920 | , (comma) , SS3 l - - |
|---|
| 921 | - (minus) - SS3 m - - |
|---|
| 922 | . (Delete) . CSI 3 ~ - - |
|---|
| 923 | / (divide) / SS3 o - - |
|---|
| 924 | 0 (Insert) 0 CSI 2 ~ - - |
|---|
| 925 | 1 (End) 1 SS3 F kc1 K4 |
|---|
| 926 | 2 (DownArrow) 2 CSI B - - |
|---|
| 927 | 3 (PageDown) 3 CSI 6 ~ kc3 K5 |
|---|
| 928 | 4 (LeftArrow) 4 CSI D - - |
|---|
| 929 | 5 (Begin) 5 CSI E kb2 K2 |
|---|
| 930 | 6 (RightArrow) 6 CSI C - - |
|---|
| 931 | 7 (Home) 7 SS3 H ka1 K1 |
|---|
| 932 | 8 (UpArrow) 8 CSI A - - |
|---|
| 933 | 9 (PageUp) 9 CSI 5 ~ ka3 K3 |
|---|
| 934 | = (equal) = SS3 X - - |
|---|
| 935 | -------------------------------------------------------------- |
|---|
| 936 | |
|---|
| 937 | They also provide 12 function keys, as well as a few other special-pur- |
|---|
| 938 | pose keys. |
|---|
| 939 | |
|---|
| 940 | Key Escape Sequence |
|---|
| 941 | --------------------------- |
|---|
| 942 | F1 SS3 P |
|---|
| 943 | F2 SS3 Q |
|---|
| 944 | F3 SS3 R |
|---|
| 945 | F4 SS3 S |
|---|
| 946 | F5 CSI 1 5 ~ |
|---|
| 947 | F6 CSI 1 7 ~ |
|---|
| 948 | F7 CSI 1 8 ~ |
|---|
| 949 | F8 CSI 1 9 ~ |
|---|
| 950 | F9 CSI 2 0 ~ |
|---|
| 951 | F10 CSI 2 1 ~ |
|---|
| 952 | F11 CSI 2 3 ~ |
|---|
| 953 | F12 CSI 2 4 ~ |
|---|
| 954 | --------------------------- |
|---|
| 955 | |
|---|
| 956 | Older versions of xterm implement different escape sequences for F1 |
|---|
| 957 | through F4. These can be activated by setting the oldXtermFKeys |
|---|
| 958 | resource. However, since they do not correspond to any hardware termi- |
|---|
| 959 | nal, they have been deprecated. (The DEC VT220 reserves F1 through F5 |
|---|
| 960 | for local functions such as Setup). |
|---|
| 961 | |
|---|
| 962 | Key Escape Sequence |
|---|
| 963 | --------------------------- |
|---|
| 964 | F1 CSI 1 1 ~ |
|---|
| 965 | F2 CSI 1 2 ~ |
|---|
| 966 | F3 CSI 1 3 ~ |
|---|
| 967 | F4 CSI 1 4 ~ |
|---|
| 968 | --------------------------- |
|---|
| 969 | |
|---|
| 970 | In normal mode, i.e., a Sun/PC keyboard when the sunKeyboard resource is |
|---|
| 971 | false, xterm recognizes function key modifiers which are parameters |
|---|
| 972 | appended before the final character of the control sequence. |
|---|
| 973 | |
|---|
| 974 | Code Modifiers |
|---|
| 975 | --------------------------------- |
|---|
| 976 | 2 Shift |
|---|
| 977 | 3 Alt |
|---|
| 978 | 4 Shift + Alt |
|---|
| 979 | 5 Control |
|---|
| 980 | 6 Shift + Control |
|---|
| 981 | 7 Alt + Control |
|---|
| 982 | 8 Shift + Alt + Control |
|---|
| 983 | --------------------------------- |
|---|
| 984 | |
|---|
| 985 | For example, shift-F5 would be sent as CSI 1 5 ; 2 ~ |
|---|
| 986 | If the alwaysUseMods resource is set, the Meta modifier also is recog- |
|---|
| 987 | nized, making parameters 9 through 16. |
|---|
| 988 | |
|---|
| 989 | VT220-Style Function Keys |
|---|
| 990 | However, xterm is most useful as a DEC VT102 or VT220 emulator. Set the |
|---|
| 991 | sunKeyboard resource to true to force a Sun/PC keyboard to act like a |
|---|
| 992 | VT220 keyboard. |
|---|
| 993 | |
|---|
| 994 | The VT102/VT220 application keypad transmits unique escape sequences in |
|---|
| 995 | application mode, which are distinct from the cursor and scrolling key- |
|---|
| 996 | pad: |
|---|
| 997 | |
|---|
| 998 | Key Numeric Application |
|---|
| 999 | -------------------------------------- |
|---|
| 1000 | Space SP SS3 SP |
|---|
| 1001 | Tab TAB SS3 I |
|---|
| 1002 | Enter CR SS3 M |
|---|
| 1003 | PF1 SS3 P SS3 P |
|---|
| 1004 | PF2 SS3 Q SS3 Q |
|---|
| 1005 | PF3 SS3 R SS3 R |
|---|
| 1006 | PF4 SS3 S SS3 S |
|---|
| 1007 | * (multiply) * SS3 j |
|---|
| 1008 | + (add) + SS3 k |
|---|
| 1009 | , (comma) , SS3 l |
|---|
| 1010 | - (minus) - SS3 m |
|---|
| 1011 | . (period) . SS3 n |
|---|
| 1012 | / (divide) / SS3 o |
|---|
| 1013 | 0 0 SS3 p |
|---|
| 1014 | 1 1 SS3 q |
|---|
| 1015 | 2 2 SS3 r |
|---|
| 1016 | 3 3 SS3 s |
|---|
| 1017 | 4 4 SS3 t |
|---|
| 1018 | 5 5 SS3 u |
|---|
| 1019 | 6 6 SS3 v |
|---|
| 1020 | 7 7 SS3 w |
|---|
| 1021 | 8 8 SS3 x |
|---|
| 1022 | 9 9 SS3 y |
|---|
| 1023 | = (equal) = SS3 X |
|---|
| 1024 | -------------------------------------- |
|---|
| 1025 | |
|---|
| 1026 | The VT220 provides a 6-key editing keypad, which is analogous to that on |
|---|
| 1027 | the PC keyboard. It is not affected by DECCKM or DECPNM/DECPAM: |
|---|
| 1028 | |
|---|
| 1029 | Key Normal Application |
|---|
| 1030 | ---------------------------------- |
|---|
| 1031 | Insert CSI 2 ~ CSI 2 ~ |
|---|
| 1032 | Delete CSI 3 ~ CSI 3 ~ |
|---|
| 1033 | Home CSI 1 ~ CSI 1 ~ |
|---|
| 1034 | End CSI 4 ~ CSI 4 ~ |
|---|
| 1035 | PageUp CSI 5 ~ CSI 5 ~ |
|---|
| 1036 | PageDown CSI 6 ~ CSI 6 ~ |
|---|
| 1037 | ---------------------------------- |
|---|
| 1038 | |
|---|
| 1039 | The VT220 provides 8 additional function keys. With a Sun/PC keyboard, |
|---|
| 1040 | access these keys by Control/F1 for F13, etc. |
|---|
| 1041 | |
|---|
| 1042 | Key Escape Sequence |
|---|
| 1043 | --------------------------- |
|---|
| 1044 | F13 CSI 2 5 ~ |
|---|
| 1045 | F14 CSI 2 6 ~ |
|---|
| 1046 | F15 CSI 2 8 ~ |
|---|
| 1047 | F16 CSI 2 9 ~ |
|---|
| 1048 | F17 CSI 3 1 ~ |
|---|
| 1049 | F18 CSI 3 2 ~ |
|---|
| 1050 | F19 CSI 3 3 ~ |
|---|
| 1051 | F20 CSI 3 4 ~ |
|---|
| 1052 | --------------------------- |
|---|
| 1053 | |
|---|
| 1054 | |
|---|
| 1055 | VT52-Style Function Keys |
|---|
| 1056 | A VT52 does not have function keys, but it does have a numeric keypad |
|---|
| 1057 | and cursor keys. They differ from the other emulations by the prefix. |
|---|
| 1058 | Also, the cursor keys do not change: |
|---|
| 1059 | |
|---|
| 1060 | Key Normal/Application |
|---|
| 1061 | ---------------------------------- |
|---|
| 1062 | Cursor Up ESC A |
|---|
| 1063 | Cursor Down ESC B |
|---|
| 1064 | Cursor Right ESC C |
|---|
| 1065 | Cursor Left ESC D |
|---|
| 1066 | ---------------------------------- |
|---|
| 1067 | |
|---|
| 1068 | The keypad is similar: |
|---|
| 1069 | |
|---|
| 1070 | Key Numeric Application |
|---|
| 1071 | -------------------------------------- |
|---|
| 1072 | Space SP ESC ? SP |
|---|
| 1073 | Tab TAB ESC ? I |
|---|
| 1074 | Enter CR ESC ? M |
|---|
| 1075 | PF1 ESC P ESC P |
|---|
| 1076 | PF2 ESC Q ESC Q |
|---|
| 1077 | PF3 ESC R ESC R |
|---|
| 1078 | PF4 ESC S ESC S |
|---|
| 1079 | * (multiply) * ESC ? j |
|---|
| 1080 | + (add) + ESC ? k |
|---|
| 1081 | , (comma) , ESC ? l |
|---|
| 1082 | - (minus) - ESC ? m |
|---|
| 1083 | . (period) . ESC ? n |
|---|
| 1084 | / (divide) / ESC ? o |
|---|
| 1085 | 0 0 ESC ? p |
|---|
| 1086 | 1 1 ESC ? q |
|---|
| 1087 | 2 2 ESC ? r |
|---|
| 1088 | 3 3 ESC ? s |
|---|
| 1089 | 4 4 ESC ? t |
|---|
| 1090 | 5 5 ESC ? u |
|---|
| 1091 | 6 6 ESC ? v |
|---|
| 1092 | 7 7 ESC ? w |
|---|
| 1093 | 8 8 ESC ? x |
|---|
| 1094 | 9 9 ESC ? y |
|---|
| 1095 | = (equal) = ESC ? X |
|---|
| 1096 | -------------------------------------- |
|---|
| 1097 | |
|---|
| 1098 | |
|---|
| 1099 | Sun-Style Function Keys |
|---|
| 1100 | The xterm program provides support for Sun keyboards more directly, by a |
|---|
| 1101 | menu toggle that causes it to send Sun-style function key codes rather |
|---|
| 1102 | than VT220. Note, however, that the sun and VT100 emulations are not |
|---|
| 1103 | really compatible. For example, their wrap-margin behavior differs. |
|---|
| 1104 | Only function keys are altered; keypad and cursor keys are the same. |
|---|
| 1105 | The emulation responds identically. See the xterm-sun terminfo entry |
|---|
| 1106 | for details. |
|---|
| 1107 | |
|---|
| 1108 | HP-Style Function Keys |
|---|
| 1109 | Similarly, xterm can be compiled to support HP keyboards. See the |
|---|
| 1110 | xterm-hp terminfo entry for details. |
|---|
| 1111 | |
|---|
| 1112 | The Alternate Screen Buffer |
|---|
| 1113 | Xterm maintains two screen buffers. The normal screen buffer allows you |
|---|
| 1114 | to scroll back to view saved lines of output up to the maximum set by |
|---|
| 1115 | the saveLines resource. The alternate screen buffer is exactly as large |
|---|
| 1116 | as the display, contains no additional saved lines. When the alternate |
|---|
| 1117 | screen buffer is active, you cannot scroll back to view saved lines. |
|---|
| 1118 | Xterm provides control sequences and menu entries for switching between |
|---|
| 1119 | the two. |
|---|
| 1120 | |
|---|
| 1121 | Most full-screen applications use terminfo or termcap to obtain strings |
|---|
| 1122 | used to start/stop full-screen mode, i.e., smcup and rmcup for terminfo, |
|---|
| 1123 | or the corresponding ti and te for termcap. The titeInhibit resource |
|---|
| 1124 | removes the ti and te strings from the TERMCAP string which is set in |
|---|
| 1125 | the environment for some platforms. That is not done when xterm is |
|---|
| 1126 | built with terminfo libraries because terminfo does not provide the |
|---|
| 1127 | whole text of the termcap data in one piece. It would not work for ter- |
|---|
| 1128 | minfo anyway, since terminfo data is not passed in environment vari- |
|---|
| 1129 | ables; setting an environment variable in this manner would have no |
|---|
| 1130 | effect on the application's ability to switch between normal and alter- |
|---|
| 1131 | nate screen buffers. Instead, the newer private mode controls (such as |
|---|
| 1132 | 1 0 4 9 ) for switching between normal and alternate screen buffers sim- |
|---|
| 1133 | ply disable the switching. They add other features such as clearing the |
|---|
| 1134 | display for the same reason: to make the details of switching indepen- |
|---|
| 1135 | dent of the application that requests the switch. |
|---|
| 1136 | |
|---|
| 1137 | Bracketed Paste Mode |
|---|
| 1138 | When bracketed paste mode is set, pasted text is bracketed with control |
|---|
| 1139 | sequences so that the program can differentiate pasted text from typed- |
|---|
| 1140 | in text. When bracketed paste mode is set, the program will receive: |
|---|
| 1141 | ESC [ 200 ~, followed by the pasted text, followed by ESC [ 201 ~. |
|---|
| 1142 | |
|---|
| 1143 | Mouse Tracking |
|---|
| 1144 | The VT widget can be set to send the mouse position and other informa- |
|---|
| 1145 | tion on button presses. These modes are typically used by editors and |
|---|
| 1146 | other full-screen applications that want to make use of the mouse. |
|---|
| 1147 | |
|---|
| 1148 | There are six mutually exclusive modes. One is DEC Locator mode, |
|---|
| 1149 | enabled by the DECELR CSI Ps ; Ps ' z control sequence, and is not |
|---|
| 1150 | described here (control sequences are summarized above). The remaining |
|---|
| 1151 | five modes are each enabled (or disabled) by a different parameter in |
|---|
| 1152 | DECSET CSI ? Pm h or DECRST CSI ? Pm l control sequence. |
|---|
| 1153 | |
|---|
| 1154 | Manifest constants for the parameter values are defined in xcharmouse.h |
|---|
| 1155 | as follows: |
|---|
| 1156 | |
|---|
| 1157 | #define SET_X10_MOUSE 9 |
|---|
| 1158 | #define SET_VT200_MOUSE 1000 |
|---|
| 1159 | #define SET_VT200_HIGHLIGHT_MOUSE 1001 |
|---|
| 1160 | #define SET_BTN_EVENT_MOUSE 1002 |
|---|
| 1161 | #define SET_ANY_EVENT_MOUSE 1003 |
|---|
| 1162 | |
|---|
| 1163 | #define SET_FOCUS_EVENT_MOUSE 1004 |
|---|
| 1164 | |
|---|
| 1165 | The motion reporting modes are strictly xterm extensions, and are not |
|---|
| 1166 | part of any standard, though they are analogous to the DEC VT200 DECELR |
|---|
| 1167 | locator reports. |
|---|
| 1168 | |
|---|
| 1169 | Parameters (such as pointer position and button number) for all mouse |
|---|
| 1170 | tracking escape sequences generated by xterm encode numeric parameters |
|---|
| 1171 | in a single character as value+32. For example, ! specifies the value |
|---|
| 1172 | 1. The upper left character position on the terminal is denoted as 1,1. |
|---|
| 1173 | |
|---|
| 1174 | X10 compatibility mode sends an escape sequence only on button press, |
|---|
| 1175 | encoding the location and the mouse button pressed. It is enabled by |
|---|
| 1176 | specifying parameter 9 to DECSET. On button press, xterm sends CSI M |
|---|
| 1177 | CbCxCy (6 characters). Cb is button-1. Cx and Cy are the x and y coor- |
|---|
| 1178 | dinates of the mouse when the button was pressed. |
|---|
| 1179 | |
|---|
| 1180 | Normal tracking mode sends an escape sequence on both button press and |
|---|
| 1181 | release. Modifier key (shift, ctrl, meta) information is also sent. It |
|---|
| 1182 | is enabled by specifying parameter 1000 to DECSET. On button press or |
|---|
| 1183 | release, xterm sends CSI M CbCxCy. The low two bits of Cb encode button |
|---|
| 1184 | information: 0=MB1 pressed, 1=MB2 pressed, 2=MB3 pressed, 3=release. |
|---|
| 1185 | The next three bits encode the modifiers which were down when the button |
|---|
| 1186 | was pressed and are added together: 4=Shift, 8=Meta, 16=Control. Note |
|---|
| 1187 | however that the shift and control bits are normally unavailable because |
|---|
| 1188 | xterm uses the control modifier with mouse for popup menus, and the |
|---|
| 1189 | shift modifier is used in the default translations for button events. |
|---|
| 1190 | The Meta modifier recognized by xterm is the mod1 mask, and is not nec- |
|---|
| 1191 | essarily the "Meta" key (see xmodmap). Cx and Cy are the x and y coor- |
|---|
| 1192 | dinates of the mouse event, encoded as in X10 mode. |
|---|
| 1193 | |
|---|
| 1194 | Wheel mice may return buttons 4 and 5. Those buttons are represented by |
|---|
| 1195 | the same event codes as buttons 1 and 2 respectively, except that 64 is |
|---|
| 1196 | added to the event code. Release events for the wheel buttons are not |
|---|
| 1197 | reported. |
|---|
| 1198 | |
|---|
| 1199 | Mouse highlight tracking notifies a program of a button press, receives |
|---|
| 1200 | a range of lines from the program, highlights the region covered by the |
|---|
| 1201 | mouse within that range until button release, and then sends the program |
|---|
| 1202 | the release coordinates. It is enabled by specifying parameter 1001 to |
|---|
| 1203 | DECSET. Highlighting is performed only for button 1, though other but- |
|---|
| 1204 | ton events can be received. Warning: use of this mode requires a coop- |
|---|
| 1205 | erating program or it will hang xterm. On button press, the same infor- |
|---|
| 1206 | mation as for normal tracking is generated; xterm then waits for the |
|---|
| 1207 | program to send mouse tracking information. All X events are ignored |
|---|
| 1208 | until the proper escape sequence is received from the pty: CSI Ps ; Ps ; |
|---|
| 1209 | Ps ; Ps ; Ps T . The parameters are func, startx, starty, firstrow, and |
|---|
| 1210 | lastrow. func is non-zero to initiate highlight tracking and zero to |
|---|
| 1211 | abort. startx and starty give the starting x and y location for the |
|---|
| 1212 | highlighted region. The ending location tracks the mouse, but will |
|---|
| 1213 | never be above row firstrow and will always be above row lastrow. (The |
|---|
| 1214 | top of the screen is row 1.) When the button is released, xterm reports |
|---|
| 1215 | the ending position one of two ways: if the start and end coordinates |
|---|
| 1216 | are valid text locations: CSI t CxCy. If either coordinate is past the |
|---|
| 1217 | end of the line: CSI T CxCyCxCyCxCy. The parameters are startx, starty, |
|---|
| 1218 | endx, endy, mousex, and mousey. startx, starty, endx, and endy give the |
|---|
| 1219 | starting and ending character positions of the region. mousex and |
|---|
| 1220 | mousey give the location of the mouse at button up, which may not be |
|---|
| 1221 | over a character. |
|---|
| 1222 | |
|---|
| 1223 | Button-event tracking is essentially the same as normal tracking, but |
|---|
| 1224 | xterm also reports button-motion events. Motion events are reported |
|---|
| 1225 | only if the mouse pointer has moved to a different character cell. It |
|---|
| 1226 | is enabled by specifying parameter 1002 to DECSET. On button press or |
|---|
| 1227 | release, xterm sends the same codes used by normal tracking mode. On |
|---|
| 1228 | button-motion events, xterm adds 32 to the event code (the third charac- |
|---|
| 1229 | ter, Cb). The other bits of the event code specify button and modifier |
|---|
| 1230 | keys as in normal mode. For example, motion into cell x,y with button 1 |
|---|
| 1231 | down is reported as CSI M @ CxCy. ( @ = 32 + 0 (button 1) + 32 (motion |
|---|
| 1232 | indicator) ). Similarly, motion with button 3 down is reported as CSI M |
|---|
| 1233 | B CxCy. ( B = 32 + 2 (button 3) + 32 (motion indicator) ). |
|---|
| 1234 | |
|---|
| 1235 | Any-event mode is the same as button-event mode, except that all motion |
|---|
| 1236 | events are reported, even if no mouse button is down. It is enabled by |
|---|
| 1237 | specifying 1003 to DECSET. |
|---|
| 1238 | |
|---|
| 1239 | FocusIn/FocusOut can be combined with any of the mouse events since it |
|---|
| 1240 | uses a different protocol. When set, it causes xterm to send CSI I |
|---|
| 1241 | when the terminal gains focus, and CSI O when it loses focus. |
|---|
| 1242 | |
|---|
| 1243 | Tektronix 4014 Mode |
|---|
| 1244 | Most of these sequences are standard Tektronix 4014 control sequences. |
|---|
| 1245 | Graph mode supports the 12-bit addressing of the Tektronix 4014. The |
|---|
| 1246 | major features missing are the write-through and defocused modes. This |
|---|
| 1247 | document does not describe the commands used in the various Tektronix |
|---|
| 1248 | plotting modes but does describe the commands to switch modes. |
|---|
| 1249 | |
|---|
| 1250 | BEL Bell (Ctrl-G) |
|---|
| 1251 | BS Backspace (Ctrl-H) |
|---|
| 1252 | TAB Horizontal Tab (Ctrl-I) |
|---|
| 1253 | LF Line Feed or New Line (Ctrl-J) |
|---|
| 1254 | VT Cursor up (Ctrl-K) |
|---|
| 1255 | FF Form Feed or New Page (Ctrl-L) |
|---|
| 1256 | CR Carriage Return (Ctrl-M) |
|---|
| 1257 | ESC ETX Switch to VT100 Mode (ESC Ctrl-C) |
|---|
| 1258 | ESC ENQ Return Terminal Status (ESC Ctrl-E) |
|---|
| 1259 | ESC FF PAGE (Clear Screen) (ESC Ctrl-L) |
|---|
| 1260 | ESC SO Begin 4015 APL mode (ignored by xterm) (ESC Ctrl-N) |
|---|
| 1261 | ESC SI End 4015 APL mode (ignored by xterm) (ESC Ctrl-O) |
|---|
| 1262 | ESC ETB COPY (Save Tektronix Codes to file COPYyyyy-mm-dd.hh:mm:ss) |
|---|
| 1263 | (ESC Ctrl-W) |
|---|
| 1264 | ESC CAN Bypass Condition (ESC Ctrl-X) |
|---|
| 1265 | ESC SUB GIN mode (ESC Ctrl-Z) |
|---|
| 1266 | ESC FS Special Point Plot Mode (ESC Ctrl-\) |
|---|
| 1267 | ESC 8 Select Large Character Set |
|---|
| 1268 | ESC 9 Select #2 Character Set |
|---|
| 1269 | ESC : Select #3 Character Set |
|---|
| 1270 | ESC ; Select Small Character Set |
|---|
| 1271 | OSC Ps ; Pt BEL |
|---|
| 1272 | Set Text Parameters of VT window |
|---|
| 1273 | Ps = 0 -> Change Icon Name and Window Title to Pt |
|---|
| 1274 | Ps = 1 -> Change Icon Name to Pt |
|---|
| 1275 | Ps = 2 -> Change Window Title to Pt |
|---|
| 1276 | Ps = 4 6 -> Change Log File to Pt (normally disabled by a |
|---|
| 1277 | compile-time option) |
|---|
| 1278 | ESC ` Normal Z Axis and Normal (solid) Vectors |
|---|
| 1279 | ESC a Normal Z Axis and Dotted Line Vectors |
|---|
| 1280 | ESC b Normal Z Axis and Dot-Dashed Vectors |
|---|
| 1281 | ESC c Normal Z Axis and Short-Dashed Vectors |
|---|
| 1282 | ESC d Normal Z Axis and Long-Dashed Vectors |
|---|
| 1283 | ESC h Defocused Z Axis and Normal (solid) Vectors |
|---|
| 1284 | ESC i Defocused Z Axis and Dotted Line Vectors |
|---|
| 1285 | ESC j Defocused Z Axis and Dot-Dashed Vectors |
|---|
| 1286 | ESC k Defocused Z Axis and Short-Dashed Vectors |
|---|
| 1287 | ESC l Defocused Z Axis and Long-Dashed Vectors |
|---|
| 1288 | ESC p Write-Thru Mode and Normal (solid) Vectors |
|---|
| 1289 | ESC q Write-Thru Mode and Dotted Line Vectors |
|---|
| 1290 | ESC r Write-Thru Mode and Dot-Dashed Vectors |
|---|
| 1291 | ESC s Write-Thru Mode and Short-Dashed Vectors |
|---|
| 1292 | ESC t Write-Thru Mode and Long-Dashed Vectors |
|---|
| 1293 | FS Point Plot Mode (Ctrl-\) |
|---|
| 1294 | GS Graph Mode (Ctrl-]) |
|---|
| 1295 | RS Incremental Plot Mode (Ctrl-^) |
|---|
| 1296 | US Alpha Mode (Ctrl-_) |
|---|
| 1297 | |
|---|
| 1298 | VT52 Mode |
|---|
| 1299 | Parameters for cursor movement are at the end of the ESC Y escape |
|---|
| 1300 | sequence. Each ordinate is encoded in a single character as value+32. |
|---|
| 1301 | For example, ! is 1. The screen coordinate system is 0-based. |
|---|
| 1302 | |
|---|
| 1303 | ESC A Cursor up. |
|---|
| 1304 | ESC B Cursor down. |
|---|
| 1305 | ESC C Cursor right. |
|---|
| 1306 | ESC D Cursor left. |
|---|
| 1307 | ESC F Enter graphics mode. |
|---|
| 1308 | ESC G Exit graphics mode. |
|---|
| 1309 | ESC H Move the cursor to the home position. |
|---|
| 1310 | ESC I Reverse line feed. |
|---|
| 1311 | ESC J Erase from the cursor to the end of the screen. |
|---|
| 1312 | ESC K Erase from the cursor to the end of the line. |
|---|
| 1313 | ESC Y Ps Ps |
|---|
| 1314 | Move the cursor to given row and column. |
|---|
| 1315 | ESC Z Identify |
|---|
| 1316 | -> ESC / Z (``I am a VT52.'') |
|---|
| 1317 | ESC = Enter alternate keypad mode. |
|---|
| 1318 | ESC > Exit alternate keypad mode. |
|---|
| 1319 | ESC < Exit VT52 mode (Enter VT100 mode). |
|---|