Файл ANSI.SYS

Определяет функции, изменяющие вывод графики, управляющие перемещением курсора и переназначающие клавиши. Драйвер устройства 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, заключенными в кавычки (на некоторых компьютерах отдельные значение недопустимы).

Таблица 1.

Текстовые атрибуты Основные цвета Фоновые цвета
0 атрибуты сброшены 30 черный 40 черный
1 жирный шрифт 31 красный 41 красный
4 подчеркивание 32 зеленый 42 зеленый
(монохромный адаптер) 33 желтый 43 желтый
5 мерцание 34 голубой 44 голубой
7 обратный видеорежим 35 малиновый 45 малиновый
8 скрытый текст 36 бирюзовый 46 бирюзовый
37 белый 47 белый

Таблица 2.

Значение Действие
0 40 x 148 x 25 монохромный (текст)
1 40 x 148 x 25 цветной (текст)
2 80 x 148 x 25 монохромный (текст)
3 80 x 148 x 25 цветной (текст)
4 320 x 148 x 200 4-цветной (графика)
5 320 x 148 x 200 монохромный (графика)
6 640 x 148 x 200 монохромный (графика)
7 разрешает перенос строки
13 320 x 148 x 200 цветной (графика)
14 640 x 148 x 200 цветной (16-цветная графика)
15 640 x 148 x 350 монохромный (2-цветная графика)
16 640 x 148 x 350 цветной (16-цветная графика)
17 640 x 148 x 480 монохромный (2-цветная графика)
18 640 x 148 x 480 цветной (16-цветная графика)
19 320 x 148 x 200 цветной (256-цветная графика)

Таблица 3.

Клавиша Код SHIFT+код CTRL+код ALT+код
F1 0;59 0;84 0;94 0;104
F2 0;60 0;85 0;95 0;105
F3 0;61 0;86 0;96 0;106
F4 0;62 0;87 0;97 0;107
F5 0;63 0;88 0;98 0;108
F6 0;64 0;89 0;99 0;109
F7 0;65 0;90 0;100 0;110
F8 0;66 0;91 0;101 0;111
F9 0;67 0;92 0;102 0;112
F10 0;68 0;93 0;103 0;113
F11 0;133 0;135 0;137 0;139
F12 0;134 0;136 0;138 0;140
HOME * 0;71 55 0;119
стрелка вверх * 0;72 56 (0;141)
PgUp * 0;73 57 0;132
Стрелка влево * 0;75 52 0;115
Стрелка вправо* 0;77 54 0;116
END * 0;79 49 0;117
Стрелка вниз * 0;80 50 (0;145)
PgDn * 0;81 51 0;118
Ins * 0;82 48 (0;146)
Del * 0;83 46 (0;147)
HOME (224;71) (224;71) (224;119) (224;151)
Стрелка вверх (224;72) (224;72) (224;141) (224;152)
PgUp (224;73) (224;73) (224;132) (224;153)
Стрелка влево (224;75) (224;75) (224;115) (224;155)
Стрелка вправо (224;77) (224;77) (224;116) (224;157)
END (224;79) (224;79) (224;117) (224;159)
Стрелка вниз (224;80) (224;80) (224;145) (224;154)
PgDn (224;81) (224;81) (224;118) (224;161)
Ins (224;82) (224;82) (224;146) (224;162)
Del (224;83) (224;83) (224;147) (224;163)
PRINT SCREEN 0;114
PAUSE/BREAK 0;0
BACKSPACE 8 8 127 (0)
ENTER 13 10 (0
TAB 9 0;15 (0;148) (0;165)
NULL 0;3
A 97 65 1 0;30
B 98 66 2 0;48
C 99 66 3 0;46
D 100 68 4 0;32
E 101 69 5 0;18
F 102 70 6 0;33
G 103 71 7 0;34
H 104 72 8 0;35
I 105 73 9 0;23
J 106 74 10 0;36
K 107 75 11 0;37
L 108 76 12 0;38
M 109 77 13 0;50
N 110 78 14 0;49
O 111 79 15 0;24
P 112 80 16 0;25
Q 113 81 17 0;16
R 114 82 18 0;19
S 115 83 19 0;31
T 116 84 20 0;20
U 117 85 21 0;22
V 118 86 22 0;47
W 119 87 23 0;17
X 120 88 24 0;45
Y 121 89 25 0;21
Z 122 90 26 0;44
1 49 33 0;120
2 50 64 0 0;121
3 51 35 0;122
4 52 36 0;123
5 53 37 0;124
6 54 94 30 0;125
7 55 38 0;126
8 56 42 0;126
9 57 40 0;127
0 48 41 0;129
- 45 95 31 0;130
= 61 43 0;131
[ 91 123 27 0;26
] 93 125 29 0;27
92 124 28 0;43
; 59 58 0;39
' 39 34 0;40
, 44 60 0;51
46 62 0;52
/ 47 63 0;53
` 96 126 (0;41)
ENTER (*) 13 10 (0;166)
/ (*) 47 47 (0;142) (0;74)
* (*) 42 (0;144) (0;78)
- (*) 45 45 (0;149) (0;164)
+ (*) 43 43 (0;150) (0;55)
5 (*) (0;76) 53 (0;143)

* - клавиши дополнительной клавиатуры

Например, чтобы поменять местами значения клавиш | и \, используйте следующую управляющую последовательность:


ESC["|";"\"pESC["\";"|"p

Назад | Содержание | Вперед