Файл 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
Назад | Содержание | Вперед
|
|