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