# Device control strings

> Functions sent as a string between DCS and ST: status requests, key definitions, fonts, and xterm's queries.

Functions carried by a device control string: [DCS](https://control-codes.page/esc/dcs/index.html.md), what
identifies the function, then data, then [ST](https://control-codes.page/esc/st/index.html.md). A string can carry
much more than a control sequence's parameters, which is why DEC used it for
key definitions and soft fonts, and why xterm uses it for questions whose
answers are text.

- [DECDLD: Down Line Load](https://control-codes.page/dcs/decdld/index.html.md): Load the glyphs of a soft character set, which can then be designated like any other.
- [XTGETXRES: Request Resource Values](https://control-codes.page/dcs/xtgetxres/index.html.md): Ask xterm for the value of one of its X resources.
- [DECRQSS: Request Selection or Setting](https://control-codes.page/dcs/decrqss/index.html.md): Ask for the current setting of a function, as the sequence that would set it.
- [XTGETTCAP: Request Termcap/Terminfo String](https://control-codes.page/dcs/xtgettcap/index.html.md): Ask the terminal what a key sends, or for one of a few of its capabilities, by its terminfo or termcap name.
- [XTSETTCAP: Set Termcap Data](https://control-codes.page/dcs/xtsettcap/index.html.md): Tell xterm which terminal description to take its function keys from.
- [DECUDK: User Defined Keys](https://control-codes.page/dcs/decudk/index.html.md): Load the strings the function keys send, and optionally lock them against being loaded again.

---

This is the Markdown version of <https://control-codes.page/dcs/>. On that page every validation case runs live in libghostty-vt, the terminal emulation core of Ghostty, compiled to WebAssembly.
