DEC Modes
This page tries to list all (DEC) (private) modes that
are encountered in the wild.
These modes can be set using DECSET
and unset using DECRST
.
Modes
Mode | Origin | Description |
---|---|---|
1 | DEC | DECCKM - Cursor Keys Mode |
2 | DEC | DECANM - ANSI/VT52 Mode |
3 | DEC | DECCOLM - Column |
4 | DEC | DECSCLM - Scrolling |
5 | DEC | DECSCNM - Screen Mode (light or dark screen) |
6 | DEC | DECOM - Origin Mode |
7 | DEC | DECAWM - Auto Wrap Mode |
8 | DEC | DECARM - Auto Repeat Mode |
9 | DEC | DECINLM - Interlace Mode |
9 | xterm | Mouse Tracking |
10 | DEC | DECEDM - Editing Mode |
10 | rxvt | Show toolbar |
11 | DEC | DECLTM - Line Transmit Mode |
12 | DEC | DECKANAM - Katakana Shift Mode |
12 | xterm | Blinking cursor |
13 | DEC | DECSCFDM - Space Compression/Field Delimiter Mode |
13 | xterm | Start blinking cursor |
14 | DEC | DECTEM - Transmit Execution Mode |
14 | xterm | Enable XOR of blinking cursor control sequence and menu. |
16 | DEC | DECEKEM - Edit Key Execution Mode |
18 | DEC | DECPFF - Print Form Feed |
19 | DEC | DECPEX - Printer Extent |
20 | DEC | OV1 - Overstrike |
21 | DEC | BA1 - Local BASIC |
22 | DEC | BA2 - Host BASIC |
23 | DEC | PK1 - Programmable Keypad |
24 | DEC | AH1 - Auto Hardcopy |
25 | DEC | DECTCEM - Text Cursor Enable Mode |
27 | DEC | DECPSP - Proportional Spacing |
29 | DEC | DECPSM - Pitch Select Mode |
30 | rxvt | Show scrollbar |
34 | DEC | DECRLM - Cursor Right to Left Mode |
35 | DEC | DECHEBM - Hebrew (Keyboard) Mode |
35 | rxvt | Enable font-shifting functions |
36 | DEC | DECHEM - Hebrew Encoding Mode |
38 | DEC | DECTEK - Tektronix 4010/4014 Mode |
40 | DEC | DECCRNLM - Carriage Return/New Line Mode |
40 | xterm | Allow 80 โ 132 mode |
41 | DEC | DECUPM - Unidirectional Print Mode |
41 | xterm | more(1) fix |
42 | DEC | DECNRCM - National Replacement Character Set Mode |
43 | DEC | DECGEPM - Graphics Expanded Print Mode |
44 | DEC | DECGPCM - Graphics Print Color Mode |
44 | xterm | Turn on margin bell |
45 | DEC | DECGPCS - Graphics Print Color Syntax |
45 | xterm | Reverse-wraparound mode |
46 | DEC | DECGPBM - Graphics Print Background Mode |
46 | xterm | Start logging |
47 | DEC | DECGRPM - Graphics Rotated Print Mode |
47 | xterm | Use Alternate Screen Buffer |
49 | DEC | DECTHAIM - Thai Input Mode |
50 | DEC | DECTHAICM - Thai Cursor Mode |
51 | DEC | DECBWRM - Black/White Reversal Mode |
52 | DEC | DECOPM - Origin Placement Mode |
53 | DEC | DEC131TM - VT131 Transmit Mode |
55 | DEC | DECBPM - Bold Page Mode |
57 | DEC | DECNAKB - Greek/N-A Keyboard Mapping Mode |
58 | DEC | DECIPEM - Enter IBM Proprinter Emulation Mode |
59 | DEC | DECKKDM - Kanji/Katakana Display Mode |
60 | DEC | DECHCCM - Horizontal Cursor Coupling |
61 | DEC | DECVCCM - Vertical Cursor Coupling Mode |
64 | DEC | DECPCCM - Page Cursor Coupling Mode |
65 | DEC | DECBCMM - Business Color Matching Mode |
66 | DEC | DECNKM - Numeric Keypad Mode |
67 | DEC | DECBKM - Backarrow Key Mode |
68 | DEC | DECKBUM - Keyboard Usage Mode |
69 | DEC | DECVSSM - Vertical Split Screen Mode |
69 | DEC | DECLRMM - Left Right Margin Mode |
70 | DEC | DECFPM - Force Plot Mode |
73 | DEC | DECXRLM - Transmission Rate Limiting |
80 | DEC | DECSDM - Sixel Display Mode |
81 | DEC | DECKPM - Key Position Mode |
83 | WY-370 | 52 line |
84 | WY-370 | Erasable/nonerasable WYENAT Off attribute select |
85 | WY-370 | Replacement character color |
90 | DEC | DECTHAISCM - Thai Space Compensating Mode |
95 | DEC | DECNCSM - No Clearing Screen on Column Change Mode |
96 | DEC | DECRLCM - Right to Left Copy Mode |
97 | DEC | DECCRTSM - CRT Save Mode |
98 | DEC | DECARSM - Auto Resize Mode |
99 | DEC | DECMCM - Modem Control Mode |
100 | DEC | DECAAM - Auto Answerback Mode |
101 | DEC | DECCANSM - Conceal Answerback Message Mode |
102 | DEC | DECNULM - Ignore Null Mode |
103 | DEC | DECHDPXM - Half Duplex Mode |
104 | DEC | DECESKM - Secondary Keyboard Language Mode |
106 | DEC | DECOSCNM - Overscan Mode |
108 | DEC | DECNUMLK - NumLock Mode |
109 | DEC | DECCAPSLK - Caps Lock Mode |
110 | DEC | DECKLHIM - Keyboard LEDs Host Indicator Mode |
111 | DEC | DECFWM - Framed Windows Mode |
112 | DEC | DECRPL - Review Previous Lines Mode |
113 | DEC | DECHWUM - Host Wake-Up Mode |
114 | DEC | DECATCUM - Alternate Text Color Underline Mode |
115 | DEC | DECATCBM - Alternate Text Color Blink Mode |
116 | DEC | DECBBSM - Bold and Blink Style Mode |
117 | DEC | DECECM - Erase Color Mode |
... | ... | ... |
1000 | xterm | Send Mouse X & Y on button press |
1001 | xterm | Use Hilite Mouse Tracking |
1002 | xterm | Use Cell Motion Mouse Tracking |
1003 | xterm | Use All Motion Mouse Tracking |
1004 | xterm | Send FocusIn/FocusOut events |
1005 | xterm | Enable UTF-8 Mouse Mode |
1006 | xterm | Enable SGR Mouse Mode |
1007 | xterm | Enable Alternate Scroll Mode |
1010 | rxvt | Scroll to bottom on tty output |
1011 | rxvt | Scroll to bottom on key press |
1014 | xterm | Enable fastScroll resource |
1015 | urxvt | Enable urxvt Mouse Mode |
1016 | xterm | Enable SGR Mouse PixelMode |
1021 | rxvt | Bold/italic implies high intensity |
1034 | xterm | Interpret "meta" key |
1035 | xterm | Enable special modifiers for Alt and NumLock keys |
1036 | xterm | Send ESC when Meta modifies a key |
1037 | xterm | Send DEL from the editing-keypad Delete key |
1039 | xterm | Send ESC when Alt modifies a key |
1040 | xterm | Keep selection even if not highlighted |
1041 | xterm | Use the CLIPBOARD selection |
1042 | xterm | Enable Urgency window manager hint when Control-G is received |
1043 | xterm | Enable raising of the window when Control-G is received |
1044 | xterm | Reuse the most recent data copied to CLIPBOARD |
1045 | xterm | Extended Reverse-wraparound mode (XTREVWRAP2) |
1046 | xterm | Enable switching to/from Alternate Screen Buffer |
1047 | xterm | Use Alternate Screen Buffer |
1048 | xterm | Save cursor as in DECSC |
1049 | xterm | Save cursor as in DECSC and use alternate screen buffer |
1050 | xterm | Set terminfo/termcap function-key mode |
1051 | xterm | Set Sun function-key mode |
1052 | xterm | Set HP function-key mode |
1053 | xterm | Set SCO function-key mode |
1060 | xterm | Set legacy keyboard emulation, i.e, X11R6 |
1061 | xterm | Set VT220 keyboard emulation |
1070 | xterm | Use private color registers for each graphic |
... | ... | ... |
1243 | VTE | Arrow keys swapping (BiDi) |
... | ... | ... |
1337 | iTerm2 | Report Key Up |
... | ... | ... |
2001 | xterm | Enable readline mouse button-1 |
2002 | xterm | Enable readline mouse button-2 |
2003 | xterm | Enable readline mouse button-3 |
2004 | xterm | Set bracketed paste mode |
2005 | xterm | Enable readline character-quoting |
2006 | xterm | Enable readline newline pasting |
2026 | Contour | Synchronized Output |
2027 | mintty | Rewrap on resize (deprecated) |
2027 | Contour | Grapheme cluster processing |
2028 | Contour | Text reflow |
2029 | Contour | Passive Mouse Tracking |
2030 | Contour | Report grid cell selection |
2031 | Contour | Color palette updates |
2048 | @rockorager | In-Band Window Resize Notifications |
2500 | VTE | Mirror box drawing characters |
2501 | VTE | BiDi autodetection |
... | ... | ... |
7700 | mintty | Ambiguous width reporting |
7711 | mintty | Scroll markers (prompt start) |
7723 | mintty | Rewrap on resize |
7727 | mintty | Application escape key mode |
7728 | mintty | Send send ^\ instead of the standard ^[ for the ESC key |
7730 | mintty | Graphics position |
7765 | mintty | Alt-modified mousewheel mode |
7766 | mintty | Show/hide scrollbar |
7767 | mintty | Font change reporting |
7780 | mintty | Graphics position |
7783 | mintty | Shortcut key mode |
7786 | mintty | Mousewheel reporting |
7787 | mintty | Application mousewheel mode |
7796 | mintty | BiDi on current line |
... | ... | ... |
8200 | Tera Term | TTCTH |
... | ... | ... |
8400 | RLogin | |
8401 | RLogin | |
8402 | RLogin | |
8403 | RLogin | |
8405 | RLogin | |
8406 | RLogin | |
8428 | RLogin | |
8435 | RLogin | |
8437 | RLogin | |
8440 | RLogin | |
8441 | RLogin | |
8442 | RLogin | |
8443 | RLogin | |
8448 | RLogin | |
8449 | RLogin | |
8450 | RLogin | |
8451 | RLogin | |
8452 | xterm/RLogin | Sixel scrolling leaves cursor to right of graphic |
8453 | RLogin | |
8455 | RLogin | |
8456 | RLogin | |
8457 | RLogin | |
8458 | RLogin | |
8459 | RLogin | |
... | ... | ... |
8800 | DRCSTerm | enable/disable character mapping service |
8801 | DRCSTerm | reserved |
8802 | DRCSTerm | reserved |
8803 | DRCSTerm | reserved |
8804 | DRCSTerm | reserved |
8840 | Tanasinn | Treat ambiguous width characters as double-width |
... | ... | ... |
9001 | conpty | win32-input-mode |
19997 | Kitty | Handle Ctrl-C/Ctrl-Z mode |
77096 | mintty | BiDi |
737769 | foot | Input Method Editor (IME) mode |
Sources
This table draws from many different sources:
- Private Modes used by DEC
- XTerm Control Sequences
- Contour: Synchronized Output
- Terminal Unicode Core
- Contour: Line Reflow Reconfiguration
- Contour: Dark and Light Mode Detection
- BiDi in Terminal Emulators
- mintty: CtrlSeqs
- DRCSTerm
- Improved keyboard handling in Conpty
- RLogin: List of supported control codes
- Tanasinn: Modes
- Tera Term: Supported Control Functions
foot-ctlseqs(7)
man page- WY-370 Programmer's Guide (PDF Page 188)
- Private Mode for In-Band Window Resize Notifications
I used VTE's modes.py as a starting point for more exploration.
Since this page doesn't track support across terminals, you might find the following collection of links useful. They point to man pages or source code files that show a terminal's supported private modes.
Links
- Alacritty
- xterm.js
- xterm
- hterm
- Contour
- foot
- JediTerm
- iTerm2
- kitty
- Konsole
- mintty
console_codes(4)
man page- rxvt-unicode
- st
- Terminology
- Termux
- WezTerm
- ConEmu
- mrxvt
- PuTTY
- QTermWidget
- Windows Terminal
- VT520/VT525 Video Terminal Programmer Information (PDF Page 264)
- MLTERM
- RLogin
- VT100 User Manual
- screen
- tmux