Определяет функции, изменяющие вывод графики, управляющие перемещением курсора и переназначающие клавиши. Драйвер устройства ANSI.SYS поддерживает для управления экраном и клавиатурой эмуляцию управляющих последовательностей (ESC-последовательностей) терминала ANSI (первые два символа в этой последовательности - это 1Bh и 5Bh, а следующие символы задают код, управляющие функцией клавиатуры или дисплея).
Данный драйвер устройства должен загружаться в файле CONFIG.SYS командой DEVICE или DEVICEHIGH:
DEVICE=[диск:][маршрут]ANSI.SYS [/X] [/K] [/R]
где /X отображает расширенные клавиши для 101-клавишной клавиатуры, /K приводит к тому, что ANSI.SYS интерпретирует 101-клавишную клавиатуру как 84-клавишную (это эквивалентно команде SWITCHES=/K), а /R настраивает прокрутку строки, когда ANSI.SYS используется с программами, выполняющими чтения с экрана.
В управляющих последовательностях ANSI используются следующие параметры:
Pn - числовой параметр. Задает десятичное число.
Ps - селективный параметр. Задает десятичное число, используемое для выбора функции. Разделив параметры точкой с запятой, можно задать более одной функции.
PL - параметр строки. Задает десятичное число, представляющее одну из строк дисплея или другого устройства.
Pc - параметр столбца. Задает десятичное число, представляющее один из столбцов.
В приводимой ниже таблице сокращение ESC представляет управляющий символ ASCII 27 (1Bh), который указывается в начале каждой последовательности.
Управляющие последовательности ANSI для перемещения курсора, задания графики и установок клавиатуры
ESC[PL;PcH | Перемещает курсор в точку с заданными координатами, или, если они не указаны, в начальную позицию (левый верхний угол экрана - 0,0). |
ESC[PL;Pcf | Работает аналогично предыдущей управляющей последовательности. |
ESC[PnA | Перемещает курсор вверх на заданное число строк, не изменяя позиции столбца. При достижении верхней строки игнорируется. |
ESC[PnB | Перемещает курсор вниз на заданное число строк. В нижней строке эта последовательность игнорируется. |
ESC[PnC | Перемещает курсор вперед на заданное число позиций (столбцов) без изменения строки. В правом столбце игнорируется. |
ESC[PnD | Перемещает курсор назад на заданное число позиций (столбцов) без изменения строки. В левом столбце игнорируется. |
ESC[s | Сохраняет текущую позицию курсора. Переместить курсор в сохраненную позицию можно с помощью ESC[u. |
ESC[u | Возвращает курсор в позицию, сохраненную с помощью ESC[s. |
ESC[2J | Очищает экран и перемещает курсор в начальную позицию - точку (0,0). |
ESC[K | Стирает символы от позиции курсора до конца строки (включая символ в позиции курсора). |
ESC[Ps;...;Psm | Устанавливает графический режим: вызывает графические функции, заданные указанными значениями. Данные функции будут активными до следующей подобной управляющей последовательности. Графический режим изменяет цвета и атрибуты текста на экране. (См. табл. 1). |
ESC[=psh | Устанавливает режим: изменяет ширину экрана на режим, заданный одним из значений из табл. 2. |
ESC[=Psl | Сбрасывает режим. Используются те же значения, что и при установке режима (кроме 7). |
ESC[код;s;..p] | Переопределяет клавишу клавиатуры на заданную строку s. Код - это одно или более значений, перечисленных в таблице 3. Кроме точек с запятой в управляющей последовательности нужно указывать точки с запятой, заданные в таблице. Коды, указанные в скобках, на некоторых клавиатурах недоступны (укажите параметр /X в команде DEVICE для ANSI.SYS). Строка задается одним или несколькими символами ASCII, заключенными в кавычки (на некоторых компьютерах отдельные значение недопустимы). |