VT100 escape sequences wrapper
Project description
py100
python wrapper for VT100 escape sequences, which are supported by most modern terminals (on linux at least).
Installation
pip3 install py100
Usage
from py100 import py100
py100.some_function_from_the_table_below()
Progress
This is the list of what is currently supported and what should be supported in the future. If a sequence isn't marked as planned it may just mean I didn't have a look at it yet.
Sequence | Description | Name | Supported | Planned | Function |
---|---|---|---|---|---|
Esc[20h | Set new line mode | LMN | :heavy_check_mark: | :heavy_check_mark: | set_new_line_mode() |
Esc[?1h | Set cursor key to application | DECCKM | :heavy_check_mark: | :heavy_check_mark: | set_cursor_key_to_application() |
Esc[?3h | Set number of columns to 132 | DECCOLM | :heavy_check_mark: | :heavy_check_mark: | set_columns_to_132() |
Esc[?4h | Set smooth scrolling | DECSCLM | :heavy_check_mark: | :heavy_check_mark: | set_smooth_scrolling() |
Esc[?5h | Set reverse video on screen | DECSCNM | :heavy_check_mark: | :heavy_check_mark: | set_reverse_video_on_screen() |
Esc[?6h | Set origin to relative | DECOM | :heavy_check_mark: | :heavy_check_mark: | set_origin_relative() |
Esc[?7h | Set auto-wrap mode | DECAWM | :heavy_check_mark: | :heavy_check_mark: | set_auto_wrap_mode() |
Esc[?8h | Set auto-repeat mode | DECARM | :heavy_check_mark: | :heavy_check_mark: | set_auto_repeat_mode() |
Esc[?9h | Set interlacing mode | DECINLM | :heavy_check_mark: | :heavy_check_mark: | set_interlacing_mode() |
Esc[20l | Set line feed mode | LMN | :heavy_check_mark: | :heavy_check_mark: | set_line_feed_mode() |
Esc[?1l | Set cursor key to cursor | DECCKM | :heavy_check_mark: | :heavy_check_mark: | set_cursor_to_key_mode() |
Esc[?2l | Set VT52 (versus ANSI) | DECANM | :heavy_check_mark: | :heavy_check_mark: | set_vt52() |
Esc[?3l | Set number of columns to 80 | DECCOLM | :heavy_check_mark: | :heavy_check_mark: | set_columns_to_80() |
Esc[?4l | Set jump scrolling | DECSCLM | :heavy_check_mark: | :heavy_check_mark: | set_jump_scrolling() |
Esc[?5l | Set normal video on screen | DECSCNM | :heavy_check_mark: | :heavy_check_mark: | set_normal_video_on_screen() |
Esc[?6l | Set origin to absolute | DECOM | :heavy_check_mark: | :heavy_check_mark: | set_origin_absolute() |
Esc[?7l | Reset auto-wrap mode | DECAWM | :heavy_check_mark: | :heavy_check_mark: | reset_auto_wrap_mode() |
Esc[?8l | Reset auto-repeat mode | DECARM | :heavy_check_mark: | :heavy_check_mark: | reset_auto_repeat_mode() |
Esc[?9l | Reset interlacing mode | DECINLM | :heavy_check_mark: | :heavy_check_mark: | reset_interlacing_mode() |
Esc= | Set alternate keypad mode | DECKPAM | :heavy_check_mark: | :heavy_check_mark: | set_alternate_keypad_mode() |
Esc> | Set numeric keypad mode | DECKPNM | :heavy_check_mark: | :heavy_check_mark: | set_numeric_keypad_mode() |
Esc(A | Set United Kingdom G0 character set | setukg0 | :heavy_check_mark: | :heavy_check_mark: | set_united_kingdom_g0_character_set() |
Esc)A | Set United Kingdom G1 character set | setukg1 | :heavy_check_mark: | :heavy_check_mark: | set_united_kingdom_g1_character_set() |
Esc(B | Set United States G0 character set | setusg0 | :heavy_check_mark: | :heavy_check_mark: | set_united_states_g0_character_set() |
Esc)B | Set United States G1 character set | setusg1 | :heavy_check_mark: | :heavy_check_mark: | set_united_states_g1_character_set() |
Esc(0 | Set G0 special chars. & line set | setspecg0 | :heavy_check_mark: | :heavy_check_mark: | set_g0_special_chars_and_line_set() |
Esc)0 | Set G1 special chars. & line set | setspecg1 | :heavy_check_mark: | :heavy_check_mark: | set_g1_special_chars_and_line_set() |
Esc(1 | Set G0 alternate character ROM | setaltg0 | :heavy_check_mark: | :heavy_check_mark: | set_g0_alternate_character_rom() |
Esc)1 | Set G1 alternate character ROM | setaltg1 | :heavy_check_mark: | :heavy_check_mark: | set_g1_alternate_character_rom() |
Esc(2 | Set G0 alt char ROM and spec. graphics | setaltspecg0 | :heavy_check_mark: | :heavy_check_mark: | set_g0_alt_char_rom_and_spec_graphics() |
Esc)2 | Set G1 alt char ROM and spec. graphics | setaltspecg1 | :heavy_check_mark: | :heavy_check_mark: | set_g1_alt_char_rom_and_spec_graphics() |
EscN | Set single shift 2 | SS2 | :heavy_check_mark: | :heavy_check_mark: | set_single_shift_2() |
EscO | Set single shift 3 | SS3 | :heavy_check_mark: | :heavy_check_mark: | set_single_shift_3() |
Esc[m | Turn off character attributes | SGR0 | :heavy_check_mark: | :heavy_check_mark: | turn_off_characters_attributes() |
Esc[0m | Turn off character attributes | SGR0 | :heavy_check_mark: | :heavy_check_mark: | turn_off_characters_attributes() |
Esc[1m | Turn bold mode on | SGR1 | :heavy_check_mark: | :heavy_check_mark: | turn_bold_mode_on() |
Esc[2m | Turn low intensity mode on | SGR2 | :heavy_check_mark: | :heavy_check_mark: | turn_low_intensity_mode_on() |
Esc[4m | Turn underline mode on | SGR4 | :heavy_check_mark: | :heavy_check_mark: | turn_underline_mode_on() |
Esc[5m | Turn blinking mode on | SGR5 | :heavy_check_mark: | :heavy_check_mark: | turn_blinking_mode_on() |
Esc[7m | Turn reverse video on | SGR7 | :heavy_check_mark: | :heavy_check_mark: | turn_reverse_video_mode_on() |
Esc[8m | Turn invisible text mode on | SGR8 | :heavy_check_mark: | :heavy_check_mark: | turn_invisible_text_mode_on() |
Esc[Line;Liner | Set top and bottom lines of a window | DECSTBM | :heavy_check_mark: | :heavy_check_mark: | set_top_and_bottom_lines_of_a_window(top_line, bottom_line) |
Esc[ValueA | Move cursor up n lines | CUU | :heavy_check_mark: | :heavy_check_mark: | move_cursor_up(nb_line) |
Esc[ValueB | Move cursor down n lines | CUD | :heavy_check_mark: | :heavy_check_mark: | move_cursor_down(nb_line) |
Esc[ValueC | Move cursor right n lines | CUF | :heavy_check_mark: | :heavy_check_mark: | move_cursor_right(nb_line) |
Esc[ValueD | Move cursor left n lines | CUB | :heavy_check_mark: | :heavy_check_mark: | move_cursor_left(nb_line) |
Esc[H | Move cursor to upper left corner | cursorhome | :heavy_check_mark: | :heavy_check_mark: | move_cursor_upper_left() |
Esc[;H | Move cursor to upper left corner | cursorhome | :heavy_check_mark: | :heavy_check_mark: | move_cursor_upper_left() |
Esc[Line;ColumnH | Move cursor to screen location v,h | CUP | :heavy_check_mark: | :heavy_check_mark: | move_cursor_to_location() |
Esc[f | Move cursor to upper left corner | hvhome | :heavy_check_mark: | :heavy_check_mark: | move_cursor_upper_left() |
Esc[;f | Move cursor to upper left corner | hvhome | :heavy_check_mark: | :heavy_check_mark: | move_cursor_upper_left() |
Esc[Line;Columnf | Move cursor to screen location v,h | CUP | :heavy_check_mark: | :heavy_check_mark: | move_cursor_to_location(hpos, vpos) |
EscD | Move/scroll window up one line | IND | :heavy_check_mark: | :heavy_check_mark: | scroll_window_up() |
EscM | Move/scroll window down one line | RI | :heavy_check_mark: | :heavy_check_mark: | scroll_window_down() |
EscE | Move to next line | NEL | :heavy_check_mark: | :heavy_check_mark: | move_to_next_line() |
Esc7 | Save cursor position and attributes | DECSC | :heavy_check_mark: | :heavy_check_mark: | save_cursor_position() |
Esc8 | Restore cursor position and attributes | DECSC | :heavy_check_mark: | :heavy_check_mark: | restore_cursor_position() |
EscH | Set a tab at the current column | HTS | :heavy_check_mark: | :heavy_check_mark: | set_a_tab_at_the_current_column() |
Esc[g | Clear a tab at the current column | TBC | :heavy_check_mark: | :heavy_check_mark: | clear_a_tab_at_the_current_column() |
Esc[0g | Clear a tab at the current column | TBC | :heavy_check_mark: | :heavy_check_mark: | clear_a_tab_at_the_current_column() |
Esc[3g | Clear all tabs | TBC | :heavy_check_mark: | :heavy_check_mark: | clear_all_tabs() |
Esc#3 | Double-height letters, top half | DECDHL | :heavy_check_mark: | :heavy_check_mark: | double_height_letters_top_half() |
Esc#4 | Double-height letters, bottom half | DECDHL | :heavy_check_mark: | :heavy_check_mark: | double_height_letters_bottom_half() |
Esc#5 | Single width, single height letters | DECSWL | :heavy_check_mark: | :heavy_check_mark: | single_width_single_height_letters() |
Esc#6 | Double width, single height letters | DECDWL | :heavy_check_mark: | :heavy_check_mark: | double_width_single_height_letters() |
Esc[K | Clear line from cursor right | EL0 | :heavy_check_mark: | :heavy_check_mark: | clear_line_from_cursor_right() |
Esc[0K | Clear line from cursor right | EL0 | :heavy_check_mark: | :heavy_check_mark: | clear_line_from_cursor_right() |
Esc[1K | Clear line from cursor left | EL1 | :heavy_check_mark: | :heavy_check_mark: | clear_line_from_cursor_left() |
Esc[2K | Clear entire line | EL2 | :heavy_check_mark: | :heavy_check_mark: | clear_entire_line() |
Esc[J | Clear screen from cursor down | ED0 | :heavy_check_mark: | :heavy_check_mark: | clear_line_from_cursor_down() |
Esc[0J | Clear screen from cursor down | ED0 | :heavy_check_mark: | :heavy_check_mark: | clear_line_from_cursor_down() |
Esc[1J | Clear screen from cursor up | ED1 | :heavy_check_mark: | :heavy_check_mark: | clear_line_from_cursor_up() |
Esc[2J | Clear entire screen | ED2 | :heavy_check_mark: | :heavy_check_mark: | clear_screen() |
Esc5n | Device status report | DSR | :heavy_check_mark: | ||
Esc0n | Response: terminal is OK | DSR | :heavy_check_mark: | ||
Esc3n | Response: terminal is not OK | DSR | :heavy_check_mark: | ||
Esc6n | Get cursor position | DSR | :heavy_check_mark: | :heavy_check_mark: | get_cursor_position() |
EscLine;ColumnR | Response: cursor is at v,h | CPR | :heavy_check_mark: | :heavy_check_mark: | get_cursor_position() |
Esc[c | Identify what terminal type | DA | :heavy_check_mark: | ||
Esc[0c | Identify what terminal type (another) | DA | :heavy_check_mark: | ||
Esc[?1;Value0c | Response: terminal type code n | DA | :heavy_check_mark: | ||
Escc | Reset terminal to initial state | RIS | :heavy_check_mark: | :heavy_check_mark: | reset_terminal_to_initial_state() |
Esc#8 | Screen alignment display | DECALN | :heavy_check_mark: | :heavy_check_mark: | screen_alignment_display() |
Esc[2;1y | Confidence power up test | DECTST | |||
Esc[2;2y | Confidence loopback test | DECTST | |||
Esc[2;9y | Repeat power up test | DECTST | |||
Esc[2;10y | Repeat loopback test | DECTST | |||
Esc[0q | Turn off all four leds | DECLL0 | :heavy_check_mark: | :heavy_check_mark: | turn_off_all_four_leds() |
Esc[1q | Turn on LED #1 | DECLL1 | :heavy_check_mark: | :heavy_check_mark: | turn_on_led_1() |
Esc[2q | Turn on LED #2 | DECLL2 | :heavy_check_mark: | :heavy_check_mark: | turn_on_led_2() |
Esc[3q | Turn on LED #3 | DECLL3 | :heavy_check_mark: | :heavy_check_mark: | turn_on_led_3() |
Esc[4q | Turn on LED #4 | DECLL4 | :heavy_check_mark: | :heavy_check_mark: | turn_on_led_4() |
Info on the VT100 escape sequences
Information on all the VT100 escape sequences can be found here (This is where my list comes from).
More information on the DEC Terminals can be found on vt100.net.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file py100-1.0.tar.gz
.
File metadata
- Download URL: py100-1.0.tar.gz
- Upload date:
- Size: 6.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.42.0 CPython/3.8.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 848183a3687e2853d8a21675ed71567e6d76c988114fbbb02bcd62bbfed81e85 |
|
MD5 | 50ff3bae70e37a3590e67bc138702c9f |
|
BLAKE2b-256 | e2a247a73369b6432e08d6e2dcb2994dce50f3ba3152febb06ad21043dc74969 |
File details
Details for the file py100-1.0-py3-none-any.whl
.
File metadata
- Download URL: py100-1.0-py3-none-any.whl
- Upload date:
- Size: 5.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.42.0 CPython/3.8.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7c46233ce8f2a145ac61ccb5323ee38e619168d4d4782f04d8a4c085a2c478b0 |
|
MD5 | b18791bb2cd3e2b919f7c7f55c85d16a |
|
BLAKE2b-256 | 01717a119794072a557b174269c9e05babfa0aeb1f0194ce4ec71d1490fb83d8 |