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