ENGLISH | KOI | WIN | ALT | ISO
Мои программы

Команды (esc-последовательности) syscons

Во всех командах Esc означает символ Escape - 27.

Там где подразумевается числовой аргумент, я буду обозначать его буквой n или n1,n2 и т.д. если их может быть несколько. Все остальные буквы являются часть команды.

Если команда требует числовой аргумент (или несколько аргументов), его можно пропустить. В этом случае обычно подразумевается, что он равен 1.

Esc7 или Esc[s запомнить положение курсора
Esc8 или Esc[u восстановить запомненное положение курсора
Escc очистить экран и установить курсор в левый верхний угол

Перемещение курсора

Esc[nA вверх на n строк
Esc[nB или Esc[ne вниз на n строк
Esc[nC или Esc[na вправо на n позиций
Esc[nD влево на n позиций
Esc[nE в начало строки и на n строк вниз
Esc[nF в начало строки и на n строк вверх
Esc[n1;n2f или Esc[n1;n2H переместить в позицию n1 и строку n2
Esc[nZ на n табуляций назад (как Tab, но в обратную сторону)
Esc[n` в той же строке в позицию n
Esc[nd в той же позиции в строку n
EscM сдвинуть курсор на строчку вверх, если он был в самой верхней строке, то сдвинуть содержимое экрана на строчку вниз (то же самое, что делает NewLine, только "вверх ногами")

Очистка части экрана

Esc[0J от курсора до конца экрана
Esc[1J от начала экрана до курсора
Esc[2J весь экран
Esc[0K от курсора до конца строки
Esc[1K от начала строки до курсора
Esc[2K всю строку
Esc[nX очистить n знаков от позиции курсора

"Раздвижка", "сдвижка", "прокрутка"

Esc[nL вставить n пустых строк (те, что были - раздвинуть)
Esc[nM удалить n строк (те, что остались - "схлопнуть")
Esc[nP удалить n знаков в строке (те, что остались - "схлопнуть")
Esc[n@ вставить n знаков в строку (те, что были - раздвинуть)
Esc[nS "прокрутить" содержимое экрана на n строк вверх
Esc[nT "прокрутить" содержимое экрана на n строк вниз

Изменение атрибутов и цветов

(влияет только на те символы, которые будут выводиться после этой команды)
Esc[nm установить атрибуты
n = 0 сброс всех атрибутов, цвет фона и символов устанавливается в "базовый" (смотри Esc=nF и Esc=nG ниже)
n = 1 повышенная яркость
n = 4 подчеркнутые символы (не все видеокарты это могут)
n = 5 мигание
n = 7 "реверс" (темные буквы на белом фоне)
n = 30+n1 установить цвет фона n1
n = 40+n1 установить цвет символов n1
Escn1;n2;...m установить сразу несколько атрибутов
Esc[x или Esc[0x сбросить все атрибуты и цвета, в том числе "базовые"
Esc[1;nx n = цвет фона
Esc[2;nx n = цвет символов
Esc[3;nx n = (цвет фона)*16 + цвет символов
Esc[5;nx n = цвет фона для "реверса"
Esc[6;nx n = цвет символов для "реверса"
Esc[7;nx n = (цвет фона)*16 + цвет символов, для "реверса"
Esc[=nF n = цвет фона и "базовый" цвет фона
Esc[=nG n = цвет символов и "базовый" цвет символов
Esc[=nH n = цвет фона для "реверса" (то же, что и Esc[5;nx)
Esc[=nI n = цвет символов для "реверса" (то же, что и Esc[6;nx)
Esc[=nA n = цвет "бордюра" (по краям экрана).

Другие команды

Esc[nz переключится в виртуальный терминал n
Esc[=n1;n2B установить параметры "пищалки"
n1 = частота (точнее, делитель для частоты)
n2 = длительность
(стандартные значения - 800;1)
влияет на "писк", который получается при выводе символа Bell - 7,
параметры свои для каждого "виртуального терминала"
Esc[=nC тип курсора (действует на все "виртуальные терминалы")
в n младший бит определяет "мерцание" (1 - да, 0 - нет)
следующий бит - тип курсора ("аппаратный" - 0/"символьный" - 1)
Esc[=n1;n2C форма "символьного" курсора (для каждого "виртуального терминала"своя)
"закрашиваются" строчки с n1 по n2 (начиная сверху) в матрице знака, которым рисуется курсор