Троан Эрик В.
Шрифт:
21.3.3. Тестирование последовательностей
Для проверки большинства последовательностей вам нужно просто войти в виртуальную консоль и запустить
Терминалы отвечают на команды вроде идентификации терминала
Затем введите команды, после которых укажите возврат каретки и
21.3.4. Составные управляющие последовательности
Пять двухсимвольных управляющих последовательностей (которые показаны в табл. 21.3) фактически являются префиксами более длинных и сложных последовательностей. Рассмотрим каждую из них по очереди.
Таблица 21.3. Составные последовательность управления консолью
Управляющие последовательности | Описание |
---|---|
^[[ | Начинается последовательность CSI ( ALT-^[ является синонимом). |
^[] | Начинается последовательность управления палитрой. |
^[% | Начинается последовательность UTF (UTF-8 wide-character Unicode). |
^[( | Выбирается шрифт, соответствующий набору символов G0 . |
^[) | Выбирается шрифт, соответствующий набору символов G1 . |
^[#8 | Внутренняя тестовая последовательность DEC; заполняет экран символами Е. |
Последовательности CSI имеют три или четыре части.
1.
2. Только для последовательностей
3. Предусматривается не более чем 16 параметров. Параметры — это десятичные числа, разделенные символами
4. Командный символ прерывает последовательность и определяет способ интерпретации параметров, которые терминал только что обнаружил.
На параметры обычно ссылаются как на некоторые переменные от par1 до par16. Если вы не установили параметр явно, то его значение автоматически приравнивается к нулю или единице, в зависимости от смысла операции. Командные символы CSI перечислены в табл. 21.4.
Таблица 21.4. Последовательности CSI
Символ | Описание |
---|---|
h | Устанавливает режим; см. табл. 21.8. |
l | Очищает режим; см. табл. 21.8. |
n | par1=5 Отчет о состоянии: терминал отвечает ^[[0n , что означает "OK" par1=6 Отчет о положении курсора: терминал отвечает ^[[x;yR , где у указывается относительно начала отсчета, а не области (если выбран режим начала отсчета, смотрите табл. 21.9) |
G или ` | Устанавливает горизонтальное положение курсора в колонке par1. |
A | Передвигает вертикальную позицию курсора вверх на par1 строк. |
В или e | Передвигает вертикальную позицию курсора вниз на par1 строк. |
С или a | Передвигает горизонтальную позицию курсора вправо на par1 колонок. |
D | Передвигает горизонтальную позицию курсора влево на par1 колонок. |
E | Передвигает курсор в начало линии и ниже на par1 строк (1 по умолчанию). |
F | Передвигает курсор в начало линии и выше на par1 строк (1 по умолчанию). |
d | Устанавливает вертикальное положение курсора в строке par1. |
H или f | Устанавливает вертикальное положение курсора в строке par1 и горизонтальное положение курсора в колонке par2 (по умолчанию оба параметра равны нулю, перемещая курсор в начало отсчета). |
J | par1=0 Очищает экран от курсора до конца дисплея par1=1 Очищает экран от начала отсчета до курсора par1=2 Очищает экран полностью |
K | par1=0 Очищает экран от курсора до конца строки par1=1 Очищает экран от начала строки до курсора par1=2 Очищает строку полностью |
L | Вставляет par1 строк ниже текущей строки. |
М | Удаляет par1 строк, начиная с текущей строки. |
P | Удаляет par1 символов, начиная с текущей позиции, передвигая остальную часть строки влево. |
с | Отвечает ^[[?6c (синоним ^[Z ). |
g | par1=0 Удаляет точку табуляции в текущем столбце (по умолчанию) par1=3 Удаляет все точки табуляции |
m | Последовательность изображения символов; смотрите табл. 21.7. |
q | Включает клавиатурный LED par1 и отключает остальные (0 выключает все). |
r | Устанавливает область прокручивания (применяется только в режиме начала отсчета DEC; см. табл. 21.9): par1 Первая строка области, должна находиться в пределах от 1 (по умолчанию) до par2–1 par2 Последняя строка области, должна находиться в пределах от par1+1 и нижней строкой (по умолчанию) |
s | Сохраняет позицию и атрибуты курсора (синоним ^[7 ). |
u | Восстанавливает позицию и атрибуты курсора (синоним ^[8 ). |
X | Стирает par1 символов (до конца текущей строки). |
@ | Стирает par1 символов (до конца текущей строки). |
] | Последовательности setterm; смотрите табл. 21.10. |
Несколько последовательностей принимают аргументы, описывающие цвета. Во всех таких последовательностях используется одно и то же соответствие между числами и цветами, приведенное в табл. 21.5. Последовательности, которые указывают цвета фона, допускают номера цветов только от 0 до 7. Те последовательности, которые задают цвет переднего плана, принимают числа от 8 до 15 (они описывают насыщенные или яркие цвета).
Таблица 21.5. Коды цветов
Число | Цвет | Число | Яркий цвет |
---|---|---|---|
0 | Черный | 8 | Темно-серый |
1 | Красный | 9 | Светло-красный |
2 | Зеленый | 10 | Светло-зеленый |
3 | Коричневый | 11 | Желтый |
4 | Голубой | 12 | Светло-голубой |
5 | Пурпурный | 13 | Ярко-красный |
6 | Синий | 14 | Светло-синий |
7 | Серый | 15 | Белый |
Указанные цвета фактически представляют собой смещения — названия цветов в таблице описывают стандартные цвета, которые хранятся по данным смещениям. Однако вы можете изменять эти цвета при помощи последовательности установки палитры. Например, последовательность