Other DCS commands¶
Less common device-control strings, most of which exist for a single terminal or a historical DEC feature.
DECUDK: User-Defined Keys¶
Status: DEC.
DCS Pc ; Pl | key / hex-string ; key / hex-string … ST
Programs function keys to send arbitrary strings. Pc selects clear-all
(0) or clear-only-listed (1); Pl selects locked (0) or unlocked
(1). Each definition is a key number, /, and a hex-encoded string.
Most modern emulators do not implement DECUDK, and those that do (xterm) typically disable it because a remote program could rebind keys to inject commands. Treat it as unavailable.
Source: VT510: DECUDK.
DECRSPS: Restore Presentation State¶
Status: DEC.
DCS Ps $ t data ST
Restores state previously reported by DECRQPSR (CSI Ps $ w): cursor
information (Ps = 1) or tab stops (Ps = 2). xterm implements both
directions; other emulators generally do not. Ghostty and foot document
tab-stop restore only ?.
Source: VT510: DECRSPS.
XTSETTCAP: Set Termcap/Terminfo Data¶
Status: xterm.
DCS + p Pt ST
The write counterpart of XTGETTCAP: xterm accepts a
terminfo-style name (Pt is the hex-encoded entry name) and switches its
key-encoding behavior to match. Gated by allowTcapOps. No other emulator
implements it.
Source: XTerm Control Sequences.
Sixel and ReGIS¶
DCS Pa ; Pb ; Ph q data ST Sixel
DCS Pm p data ST ReGIS
Both are DCS commands with large payloads; see Sixel and the Graphics overview. ReGIS is implemented by xterm (when built with it) and essentially nothing else.
tmux control mode¶
Status: Vendor-private (tmux).
DCS 1000 p begins control mode output
When tmux is started with -C or -CC, it emits DCS 1000 p and then a
line-oriented text protocol (%begin, %output, %end, …) instead of a
rendered screen. iTerm2 uses -CC to present tmux windows as native tabs.
The stream ends with ST. This is a client protocol rather than a terminal
control sequence and is documented in tmux's manual under "Control mode".
Source: tmux(1): Control mode.
Sources¶
Compatibility¶
Choose terminals
| Feature / stable ID | Alacritty | Apple Terminal | ConPTY (conhost) | Contour | DomTerm | foot | Ghostty | iTerm2 | kitty | Konsole | mintty | mlterm | PuTTY | Revenant | RLogin | st | tmux | rxvt-unicode | VTE | wayst | WezTerm | Windows Terminal | xterm | xterm.js |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
DECRQPSR request presentation statecsi-decrqpsr |
Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown |
User-defined keysdcs-decudk |
Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown |
Set termcap/terminfo entriesdcs-xtsettcap |
Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown |
tmux control modedcs-tmux-control-mode |
Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown |