		  ╔══════════════════════════════╗
    		  ║ Драйвер дисплея и клавиатуры ║
		  ║          KEYRUS V7.3         ║
		  ╚══════════════════════════════╝


	  Программа  состоит  из  трех  блоков  -  клавиатуры, поддержки
    дисплея и  интерфейса. Первый  блок обрабатывает  клавиатуру, второй
    блок  обеспечивает  корректное  отображение    символов на  дисплее,
    третий  выполняет второстепенные функции (интерфейс  с   программами
    пользователя,  динамическое   изменение параметров и др.)
	  Прежде  всего,  во  избежание  недоразумений, определимся - на
    каких компьютерах работает эта программа.
	 Блоки клавиатуры и интерфейса нечувствительны к типу  компьютера
    (если, конечно это IBM совместимый компьютер).
	 Блок  поддержки  дисплея  полноценно работает только на EGA/VGA
    На MCGA, Hercules+,  ЕС-1840  поддержка, в  принципе возможна, но  в
    данной  версии не реализована (автор не имеет доступа к таковым). На
    CGA,  MDA,  обычный  Hercules  поддержка  символов  теоретически  не
    возможна. Необходимо прошивать аппаратно знакогенератор.

	 KEYRUS был первоначально задуман как драйвер-русификатор, но  в
    текущей версии его можно настроить на любую клавиатуру  пользователя
    и на  любой национальный  шрифт (при  условии, что  символов в  этом
    языке не больше 256)
	 Программа легко настраивается на любой, даже самый  прихотливый
    вкус пользователя.  Текущая версия  поддерживает более  30 различных
    ключей,  с  помощью  которых  можно составить бесчисленное множество
    вариантов конфигурации на любой вкус.  В зависимости от конфигурации
    драйвер занимает от 300 байт до 11 килобайт.
	  Если  вам  не  нужна  поддержка  в  графике  и  многие  другие
    дополнительные возможности KEYRUS'а, то драйвер будет занимать всего
    2-3  килобайта!!!    Вспомните  драйвер  BETA,  занимающий более 20К
    оперативной памяти).

	 В этой версии было внесено множество изменений:
	 - Если не использовать новых возможностей,  эта версия драйвера
    даже занимает немного меньше памяти, чем старая.
	 - Новая версия прекрасно работает в MSWORD.
	 - Корректная работа во всех без исключения видеорежимах  (если
    установлен ключ /full), даже в нестандартных режимах SuperVGA.
	 - Включена поддержка фонта 8x14 на VGA (по желанию).
	 - Полностью изменен блок поддержки клавиатуры.
	 - Альтернативная клавиатура  переведена на  одинаковые права с
    русской клавиатурой.  Для нее  есть своя  клавиша переключения, свой
    цвет рамки и другие атрибуты. Пропал старый ключ /graph, вместо него
    появился ключ /alt.
	 - Новый ключ /blank который позволяет гасить экран по истечении
    определенного времени если не было нажатий на клавиши  или  движений
    мыши.
	 - Улучшен алгоритм обработки командной строки.
	 - Новые  ключи  /8x14, /8x16, /EGA, /HELP.
	 - Есть возможность набирать такие символы, как  запятая,  точка
    и т.д. в русском режиме, набирая Alt+","   Alt+"." и др.   Подробнее
    смотри ключ /RUSALT
	 - Расширены многие старые ключи.
	 - Добавлена поддержка украинского языка, которую можно включить
    или  отключить  по  желанию.  Использован  стандарт  MICROSOFT   для
    символов, а клавиатура взята, как на украинских печатных машинках.
	 - Немного изменен программный интерфейс.
	 - Написан редактор клавиатур.
	 - Написан инсталлятор.


    Наберитесь, пожалуйста терпения и прочитайте краткий перечень всего,
    что умеет программа KEYRUS.


	      Можно   указать   любой шрифт  8x8, 8x14   и(или) 8x16,
	 указав файл с кодировкой  рисунка букв, который можно  получить
	 с помощью программы EVAFONT или другого редактора фонтов.
	      Можно  изменить  расположение   русских и(или)  английских
	 букв  на   клавиатуре,  также   поддерживается   дополнительная
	 клавиатура,  которую можно  использовать для  псевдографики или
	 для клавиатуры альтернативного государственного языка (например
	 украинского)
	      Можно свободно менять клавиши переключения
	      На любой вкус предлагается возможности индикации  текущего
	 режима  клавиатуры -  цветом рамки,  звуком разной  частоты при
	 переключении, лампочкой на клавиатуре, потрескиванием клавиш.
	      Есть  возможность  набирать  такие  символы,  как запятая,
	 точка и т.д. в русском режиме, набирая Alt+","   Alt+"." и др.
	 Подробнее смотри ключ /RUSALT
	      Можно отключить при загрузке блоки клавиатуры или  экрана,
	 и таким образом, использовать KEYRUS только как драйвер дисплея
	 или только как драйвер клавиатуры.
	      Можно настроить драйвер на поддержку графических  режимов,
	 подробнее смотри ключи /128 /all /full /compress
	      Отдельные  шрифты можно  отключать.  К примеру, если я  не
	 работаю в режиме 80x50 и мне не нужны русские буквы в  графике,
	 зачем мне  держать в памяти  шрифт 8x8. Достаточно  ввести ключ
	 8x8=off  и мы  сэкономим 1К  памяти. Подробнее  смотри описание
	 ключей /8x8, /8x14, /8x16.
	      Для  того,  чтобы  не набирать каждый  раз при запуске все
	 ключи,  достаточно  набрать  их  один  раз и в  конце командной
	 строки  добавить  /SAVE  -   ваша конфигурация станет теперь по
	 умолчанию.  Текущую   конфигурацию  можно  посмотреть,   набрав
	 KEYRUS /?
	      Некоторые параметры можно изменять, не выгружая драйвер из
	 памяти. Конкретнее смотри описание ключей.
	      Драйвер можно выгружать из памяти с помощью ключа /RELEASE
	 или программой RELEASE.
	      При использовании  драйвера без проблем набираются  такие
	 символы, как русское "р" и др. К сожалению существует небольшое
	 количество программ, которые некорректно работают с клавиатурой
	 - они просто отбрасывают символ "р", введенный с клавиатуры.  В
	 число таких программ входит и небезызвестный Norton  Commander.
	 В конце  этой документации есть  приложение, в котором описано,
	 как изменить сам NC, чтобы он понимал эту букву.
	      Для  тех,  кто беспокоится  что экран  его дисплея  будет
	 выгорать с течением  времени (это действительно имеет  место на
	 некоторых  мониторах) предлагается  ключ /blank,  который будет
	 обеспечивать гашение экрана на компьютере, если в  данное время
	 на нем никто не работает.
	      Драйвер работает на адаптерах EGA/VGA,  но может  работать
	 и на других. Так,  например  на CGA можно  поддерживать русскую
         клавиатуру и графические режимы: keyrus /128 прекрасно заменяет
	 программу graphtabl.
	      Также  в  драйвер  встроены некоторые сервисные  функции -
	 можно   увеличить  буфер  клавиатуры,  отключить ScrollLock при
	 загрузке, изменить скоростные параметры клавиатуры AT и др.
	      Можно управлять работой драйвера из своей программы.

	      Приведенный список возможностей драйвера далеко не  полон,
	 он лишь дает общее представление о программе.


     Небольшое дополнение для программистов
------------------------------------------------------------------------
     В KeyRus'е мною использован ряд оригинальных алгоритмов, которые не
встречались  мне  ранее.  Возможно  это  будет  интересно  разработчикам
аналогичных программ.

     1. Если включен режим /compress,  то весь фонт в теле  драйвера при
запуске упаковывается (процентов на 40) и при загрузке в  знакогенератор
используется  процедура,  которая  обращаясь   к  EGA/VGA  через   порты
непосредственно  распаковывает  фонт  прямо  в  память  знакогенератора.
Разумеется в этом режиме не поддерживается графический режим, т.к.  BIOS
требует указатель на неупакованный шрифт.
-- Авторское право на этот алгоритм принадлежит
Царенко П. (Донецк, ДонГУ)

     2. Как известно  существует много вариантов  SuperVGA и на  них нет
общего стандарта. Так один VGA использует дополнительные режимы 50 - 56,
другой - 4f и так далее. Этой версии KEYRUS это абсолютно безразлично.  Я
использую следующий алгоритм определения режима (только для VGA):
	mov	dx,3ceh
	in	al,dx		; Читаем индексный регистр
	mov	ah,al
	mov	al,6
	out	dx,al		; Используем регистр Graphic6
	inc	dx
	in	al,dx		; читаем этот регистр
	dec	dx		;
	test	al,1		; если бит0=0, это текстовый режим
	mov	al,ah
	out	dx,al		; Воостанавливаем индексный регистр
	je	@@TextMode
@@GraphicMode:
	...
@@TextMode:
	...
     После того, как мы определили тип режима можно узнать:
     byte 0040:0063 = 0b4h для монохромного, =0d4h для цветного режима
     word 0040:0085 = число линий в одном символе
     byte 0040:0084 = число строк на экране минус 1
     word 0040:004A = число колонок на экране
     Таким  образом  мы  имеем  полную  информацию  и номер режима нам не
интересен.

     3.  Вы  наверное  заметили,  что  KEYRUS.COM занимает почти 22К. На
самом деле драйвер представляет собой конгломерат процедур на все случаи
жизни, шрифтов, клавиатур и др. При запуске программы он себя записывает
в более старшие  адреса, а затем  считывает конфигурацию пользователя  и
начинает  строить  тело  драйвера  из  процедур, кусков фонтов (возможно
упаковав их при этом) и т.д., в общем всего того, что надо пользователю,
не оставив ни одного лишнего байта в памяти.
     Если  вы  тоже  будете  так  делать, маленькое предупреждение - все
вызовы подпрограмм должны быть косвенные.
------------------------------------------------------------------------
     Вы  можете  высказать  свои  пожелания  (особенно  интересует  меня
информация о замеченных ошибках) автору программы по следующим каналам:

            Гуртяк Дмитрий Александрович
     адрес  : Украина 340048 г.Донецк ул.Артема 147"г" кв. 23
     телефон: (0622) 55-78-52
     модем  : 2:463/10.10@fidonet


     Автор  выражает  особую  благодарность Пилипенко Олегу (Одесса),
который предложил автору ряд  очень интересных пожеланий, большая  часть
которых воплотилась в жизнь в этой версии драйвера.
     Выражаю благодарности всем, кто не поленился позвонить или написать
за их моральную поддержку и пожелания для улучшения программы.
------------------------------------------------------------------------


		      ОПИСАНИЕ РАБОТЫ С ДРАЙВЕРОМ
		      ───────────────────────────

     Запуск: KEYRUS <список ключей> [/SAVE]

     Возможные ключи: (подробное описание смотри дальше)
		      этот список можно получить по KEYRUS /HELP[:RUS]

 ---- ОСНОВНЫЕ БЛОКИ ПРОГРАММЫ ----
   /KEYBOARD=Off|On               Инсталлировать/нет драйвер клавиатуры
   /ROM                           Отключить поддержку дисплея
   /INTERFACE=Off|On              Инсталлировать/нет блок интерфейса
 ---- ФОНТЫ, ЗАГРУЖАЕМЫЕ СИМВОЛЫ ----
   /8x8=Off|On                    Фонт 8x8
   /8x14=Off|On|Auto              Фонт 8x14
   /8x16=Off|On|Auto              Фонт 8x16
   /FULL                          Полная поддержка экрана во всех режимах
   /ALL                           Загружать все символы
   /128                           Загружать последние 128 символов
   /RANGE=<st1>-<en1>,<st2>-<en2> Загружать только символы с кодами в 2-х
				  указанных промежутках
   /RUSSIAN                       Загружать только русские символы
   /COMPRESS=Off|On               Сжатие фонтов
   /FONT=<file>                   Использовать фонт из внешнего файла
 ---- ПЕРЕКЛЮЧАТЕЛИ КЛАВИАТУР ----
   /SCAN=<scancode>               На кириллицу
   /LAT=OFF|<scancode>            На английскую
   /ALT=OFF|<scancode>            На альтернативную (псевдографика)
   /RUSALT=OFF|ON                 Знаки препинания в русском режиме
 ---- ИНДИКАЦИЯ РЕЖИМА КЛАВИАТУРЫ ----
   /COLOR=<col>[,<altcol>]        Цветом рамки
   /BEEP=Off|On [,<mode>]         Звуковым сигналом разной частоты
   /CLICK=Off|On[,<mode>]         Треском клавиш
   /LAMP=Off|On [,<mode>]         Лампочкой ScrollLock для AT
                   ├── RUS    кириллица
            <mode> ├── LAT    английская
                   └── ALT    альтернативная
 ---- КЛАВИАТУРА ----
   /SWITCH=Off|On
          =<sccode>[,<shift>]     Назначить клавишу, нажатие на которую
 				  будет включать/выключать символы из ПЗУ
   /BASE_KEYS[=Off]               Поддержка английской клавиатуры
   /KEYS=<file>                   Загрузить файл с раскладкой клавиш
   /FAST[=<rate>[,delay]]         Установить скорость клавиатуры AT
   /BUFFER                        Большой буфер клавиатуры
 ---- ПРОЧИЕ ОПЦИИ ----
   /BLANK=Off|On[,time[,mouse]]   Гасить экран по истечении указанного
 				  времени
   /SAVE                          Запомнить опции
   /?                             Показать конфигурацию
   /FILES			  Создать файлы фонтов и клавиатур
   /EGA                           Указать на адаптер EGA, если таковой
				  почему-то не определяется автоматически
   /RELEASE                       Выгрузить из памяти
   /HELP[:RUS]                    Краткая инструкция

    Примечания: 1) Символ '=' можно заменять на ":" и наоборот.
		2) Подстроку вида '=On', если за ней не следует  запятая
                   можно опускать.
		3) Пробелы в любом месте строки игнорируются.


	       ┌───────────────────────────────────────────┐
    	       │ПОЛНОЕ ОПИСАНИЕ КЛЮЧЕЙ ПРОГРАММЫ KEYRUS 7.3│
	       └───────────────────────────────────────────┘

    Раздел 1. Основные блоки программы.
    ──────────────────────────────────
    Программа KEYRUS, как уже  было ранее сказано, состоит  из множества
блоков -  подпрограмм, которые  при установке  в память  очень компактно
собираются.  При  сборке   остаются  только  необходимые   подпрограммы.
Несмотря на большое число всех возможных подпрограмм, их можно  выделить
в три основные группы:
    Блок клавиатуры
    Блок поддержки дисплея
    Блок интерфейса

    Блок  клавиатуры  обеспечивает  работу  на  русской и альтернативной
клавиатуре и все связанные с этим функции.
    Блок поддержки дисплея обеспечивает  то, что при просмотре  русского
текста  вы  видите  родные  символы  вместо  вражеских  кабалистических
знаков.
    Блок  интерфейса  -  самый   маленький  из  всех.  Он   обеспечивает
возможность динамически  менять некоторые  параметры драйвера,  также он
обеспечивает пользователю управлять драйвером из своей программы.
    Все  блоки  можно  по  выбору  включать  или выключать при установке
драйвера в память с помощью следующих ключей.

   /KEYBOARD=Off|On	Установка блока поддержки клавиатуры.
    ────────		Пример: KEYRUS /keyboard=off запускает драйвер в
конфигурации без поддержки клавиатуры,  например если вы для  клавиатуры
используете другой драйвер.

   /ROM                 Отключить блок поддержки дисплея.
    ───			Может  понадобиться  в  том  случае, когда шрифт
вашего языка уже зашит в BIOS вашего компьютера или если вы для  дисплея
используете  другой  драйвер.  Эта  опция  работает  только  в   сторону
отключения,  чтобы  включить  блок  поддержки  дисплея используйте любую
опцию из следующего списка (их описание дальше)
		/range /russian /128 /all /full

   /INTERFACE=Off|On    Установка блока интерфейса.
    ─────────		Отключение  этого  блока  может сэкономить около
100  байт,  но  тогда  вы  лишитесь таких возможностей, как динамическое
изменение некоторых параметров  драйвера, программное управление,  и при
повторной загрузке  (например случайно)  KEYRUS не  заметит, что  он уже
есть в памяти.
    Это может быть  полезно в следующем  случае - по  какой либо причине
вам нужно,  чтобы в  памяти было  2 KEYRUS'а,  например один настроен на
одну конфигурацию, второй - на другую. Тогда 1-й из них надо запустить в
режиме /interface=off , а 2-й в режиме /interface=on (не могу придумать,
зачем это может понадобиться, но а вдруг?)


    Раздел 2. Параметры для блока поддержки дисплея.
    ───────────────────────────────────────────────
    Все параметры из этого раздела работают  только при  установке и  их
нельзя динамически переопределять.

   /8x8=Off|On		Указывает - использовать фонт 8x8 или нет.
    ───			Например, если вы  обычно не работаете  в режиме
80x50(80x43) и вам не нужны  русские буквы в графике, вы  можете указать
опцию /8x8=off и тогда сэкономите 1К памяти. Если фонт отключен, символы
не будут поддерживаться в режимах, которые используют матрицу 8x8.

   /8x14=Off|On|Auto    Указывает - использовать фонт 8x14 или нет.
    ────		На VGA обычно в нем нет необходимости, но и  там
он может  понадобиться для  некоторых графических  режимов (например,  в
редакторе MSWORD). Компромиссным вариантом является вариант /8x14=auto
В этом случае фонт 8x14 будет включен только в том случае, если в момент
загрузки драйвера используются символы 8x14. Если фонт отключен,  символы
не будут поддерживаться в режимах, которые используют матрицу 8x14.

   /8x16=Off|On|Auto    Указывает - использовать фонт 8x16 или нет.
    ────		Работает  полностью  аналогично  ключу /8x14. На
EGA состояние /8x16=on эквивалентно /8x16=auto (но не на VGA)

   /FULL		Этот ключ является  макрокомандой. То же  самое,
    ────		что указать:
			KEYRUS /8x8=on /8x14=on /8x16=on /all
В  этом  режиме  осуществляется  полная  поддержка  всех  стандартных  и
нестандартных текстовых и графических видеорежимов.

   /ALL                 Указывает на то, что загружать все символы,  от
    ───			символа  с  кодом  0  до  255.  В  этом   режиме
поддерживаются символы во всех графических  режимах,  которые  используют
те  фонты,  которые  указаны  опциями  /8x8,  /8x16,  /8x14.  Эта  опция
устанавливает /compress=off

   /128			Указывает  на  то,  что  надо  загружать  только
    ───			верхние 128 символов ASCII от 128 до 255.
При этом символы будут поддерживаться в текстовых режимах и  графических
режимах  CGA (если разрешен фонт 8x8).   Для  CGA  эта опция  указывает,
что   KEYRUS   работает  эквивалентно   программе  GraphTabl.  Этот ключ
устанавливает /compress=off.

   /RANGE=<st1>-<en1>,<st2>-<en2>
    ─────		Указывает  на  то,  что  надо  загружать  только
символы из  2-х промежутков.  При этом  символы поддерживаются  только в
символьных режимах. Все параметры обязательны.
Например: KEYRUS /128-175,224-239 означает,  что вы не используете  букв
"Ё", "ё", "Є", "є", "Ї", "ї"

   /RUSSIAN             Этот ключ является макрокомандой. То  же самое,
    ───────		что указать:
			KEYRUS /range=128-175,224-245 /compress=on
Т.е. грузить только русские и украинские символы:
"А"-"п","р"-"я","Ёё",  "Єє",  "Її".   Смотри  подробнее  ключи   /range,
/compress.

   /COMPRESS=Off|On     Этот ключ переключает  между  двумя  алгоритмами
    ────────		загрузки символов.
    Первый (/compress=off) использует загрузку шрифта, используя BIOS.
    Второй  (/compress=on)   алгоритм   хранит  в   драйвере   шрифты  в
упакованной форме и  KEYRUS занимает намного  меньше памяти. При  этом в
графических режимах символы вообще не поддерживаются.
    Этот  ключ  автоматически  выставляется  в  =ON  в режиме /russian и
сброшен в =OFF в режимах /all /128 для поддержки графики. Поэтому,  если
надо  изменить  значение  этого  параметра,  его  надо  указывать  после
/russian, /all, /128

   /FONT=<file>         Загружает файл со шрифтом пользователя.
    ────		Допустимы фонты 3-х типов.
			8x8 (CGA) размер файла 2048
			8x14(EGA) размер файла 3584
			8x16(VGA) размер файла 4096
    Имя  файла  не  имеет  значения,  главное  чтобы была корректной его
длина. Можно одновременно загрузить до 3-х файлов.
    Заготовки  для  своих  фонтов  можно  "вытащить" из KEYRUS с помощью
ключа /FILES

    Раздел 3. Блок клавиатуры. Переключатели клавиатур
    ──────────────────────────────────────────────────
    Эти ключи  можно динамически  переопределять. Они  указывают - какие
клавиши переключают на соответствующую клавиатуру. Можно разделить все 3
клавиши, а можно назначит их на одну - при этом не будет конфликта,  они
будут обрабатываться по кругу. Коды клавиш можно посмотреть в приложении

   /SCAN=<scancode>     Установить  переключатель на 1-ю клавиатуру
    ────		(русскую). Коды клавиш в приложении.
Примеры: KEYRYS /scan=29e  определяет клавишу Right Ctrl
	 KEYRUS /scan=29   определяет клавишу Left Ctrl
	 KEYRUS /scan=56e  определяет клавишу Right Alt

   /LAT=OFF|<scancode>  Установить переключатель на латинскую клавиатуру
    ───                 Коды клавиш в приложении. Если указан ключ
/LAT=off это означает, что для этой клавиши используется та же  клавиша,
что и для переключения на русскую клавиатуру.
Примеры: KEYRUS /scan=54 /lat=42
	    ;Рус - Right Shift, Лат - Left Shift
	 KEYRUS /scan=29e /lat=29
	    ;Рус - Right Ctrl, Лат - Left Ctrl
	 KEYRUS /scan=54 /lat=off или KEYRUS /scan=54 /lat=54
	    ;Рус/Лат - Right Shift

   /ALT=OFF|<scancode>  Установить  переключатель  на   альтернативную
    ───			клавиатуру.  Коды  клавиш  в  приложении.   Если
указан ключ  /ALT=off то  альтернативная клавиатура  не поддерживается и
драйвер  занимает  меньше  памяти.  В качестве альтернативной клавиатуры
могут использованы  варианты с  раскладкой псевдографики  или украинская
клавиатура. (смотри ключ /keys)

    Пример: KEYRUS /scan=54 /alt=54 /lat=54 ; все клавиши на right shift

   /RUSALT=OFF|ON        Если =ON, то в русском режиме клавиатуры  можно
    ──────               набирать такие  символы,  как ","  "." и др.  с
помощью Alt  клавиши. Для  этой цели  зарезервировано 7  клавиш в правой
части клавиатуры - "." "." "/" ";" "'" "[" "]", если нажимать их  вместе
с Alt, то эти клавиши будут обрабатываться по альтернативной клавиатуре.
Естественно, что  в режиме  заглавных букв  будут вырабытываться символы
"<" ">" "?" ":" """ "{" "}". Если у вас какая-либо программа  использует
эти 7 клавиш для Alt ввода, можно выключить этот режим. /RUSALT=OFF
    Этот параметр нельзя изменять динамически.

    Раздел 4. Блок клавиатуры. Индикация клавиатур
    ──────────────────────────────────────────────
    В этот раздел входят ключи, позволяющие выбрать пользователю - каким
образом он  будет знать,  в каком  режиме клавиатуры  находится драйвер.
Можно отображать этот цветом рамки, потрескиванием клавиатуры, лампочкой
на клавиатуре. Можно отключить все  возможности, а можно и включить  все
сразу.

   /COLOR=<col>[,<altcol>]	Отображение цветом рамки.
    ─────                       <col>  - цвет рамки в русском режиме,
<altcol> - цвет рамки в альтернативном режиме.  Цвет - число в  пределах
от 0 до 63 на EGA, до 15 на CGA, до 255 на VGA. На монохромных адаптерах
рамка не отображается. Этот параметр можно менять динамически.
    KEYRUS /color=0,0    указывает    на    то,    что   рамка не  будет
использоваться и драйвер будет занимать меньше памяти.

   /BEEP=Off|On [,<mode>]       Если  этот режим включен (On), то  при
    ────			переключении  режимов  клавиатуры  будет
раздаваться звуковой сигнал различной  частоты. <mode> указывает на  то,
для какой клавиатуры  будет использован звук  более высокой частоты,  он
может принимать 3 значения: RUS,  LAT, ALT - соответственно для  русской,
латинской и альтернативной клавиатур.
    Примеры: KEYRUS /beep=on,alt - высокий сигнал при   переключении  на
альтернативную клавиатуру.
	     KEYRUS /beep - разрешить звуковой сигнал. При этом значение
параметра <mode> можно узнать, запустив KEYRUS /?
    В процессе работы можно только отключить этот параметр /beep=off

   /CLICK=Off|On[,<mode>]       Если этот  режим включен (On),  то при
    ─────			работе  в  режиме клавиатуры  <mode> (он
может  принимать  значения  RUS,  LAT,  ALT) клавиши будут потрескивать.
    Примечание:  Если  запустить KEYRUS /click=on,lat  то  в   латинской
клавиатуре клавиши могут  не трещать. Причина  в том, что  для латинской
клавиатуры  необходимо  указывать  еще  ключ /base_keys=on (см. дальше).
Т.е. для корректной работы потрескивания в латинском режиме нужно:
    KEYRUS /click=on,lat /base_keys
    Для остальных режимов это не важно.
    Пример: KEYRUS /click=on,rus
    В процессе работы можно только отключить этот параметр /click=off

   /LAMP=Off|On [,<mode>]       Если этот режим включен (On),  то при
    ────                        работе в режиме клавиатуры <mode>   (он
может принимать значения RUS, LAT, ALT) будет гореть лампочка ScrollLock
на клавиатуре. Этот ключ работает  корректно только на AT.
    Побочный эффект:  если  при  включенной  лампочке  ScrollLock нажать
клавишу ScrollLock, CapsLock или NumLock,  то лампочка  может погаснуть.
В  этом  случае  выключите и включите русский (вернее выбранный) режим -
лампочка восстановится.
    В процессе работы можно только отключить этот параметр /lamp=off

    Раздел 5. Блок клавиатуры.
    ─────────────────────────
    Здесь  перечислены  параметры  блока  клавиатуры,  не  вошедшие   в
предыдущие два раздела.


   /SWITCH=Off|On		  Этот ключ определяет клавишу, нажатием
    ──────  <scancode>[,<shift>]       которой можно переключаться между
символами драйвера (русскими) и символами, которые "зашиты" в ПЗУ.
    KEYRUS /switch=off отключает эту возможность и позволяет  сэкономить
немного  памяти.  Если  клавиша  не  определена, подразумевается Alt+Tab
(KEYRUS /switch=15,8)
    <scancode> - Скэн код клавиши (см. приложение)
		 Внимание! нельзя указывать коды с расширением "e"
    <shift>    - код клавиши смещения
		 возможные значения:
			1 : Нажат правый Shift
			2 : Нажат левый Shift
			4 : Нажата клавиша Ctrl
			8 : Нажата клавиша Alt
		       16 : Режим Scroll Lock
		       32 : Режим Num Lock
		       64 : Режим Caps Lock
		      128 : Режим Ins
		 Допустимы  любые комбинации  этих чисел.  Например если
		 указать 12 (12=8+4), то надо будет одновременно  нажать
		 Ctrl и Alt.
    Пример:
    KEYRUS /switch=87,12       - Надо нажать Ctrl+Alt+F11
    Этот ключ можно динамически переопределять.

   /BASE_KEYS[=Off]		Этот ключ расширяет клавиатуру
    ─────────			пользователя  на  английский  режим. Это
позволяет  переопределить  клавиши  на  нестандартные,  или  наоборот  -
стандартные на нестандартной клавиатуре. Обычно /base_keys=off
Необходим, если вы пользуетесь параметром /click=on,lat
    Этот ключ нельзя динамически переопределять.

   /KEYS=<file>                 Загрузить файл с клавиатурой.
    ────			Вы  можете  задать  расположение клавиш,
отличное от стандартного. Размер файла - 318 или 212 байт.
    В  комплект   поставки   входит   программа   KEYEDIT,   позволяющая
редактировать файлы клавиатур.

    Файл состоит из 6-ти или 4-х равных частей:
    1. русские клавиши без смещения
    2. русские клавиши + shift
    3. альтернативная клавиатура
    4. альтернативная клавиатура + shift
    5. английская клавиатура.
    6. английская клавиатура + shift

    Те  клавиши,  которые  соответствуют  клавишам  CapsLock, Shift, Ctrl
могут принимать любое  значение  (например  0ffh) -   они все равно   не
производят символьного кода.

    Прилагаются 3 файла:
	1. QWERTY.KBD для тех кто работает в клавиатуре "ЯВЕРТЫ"
	   ┌────────────┬───shift────┬────alt─────┬─alt+shift──┐
	   │1234567890-=│!":/%,.?()_+│1234567890-=│@##$%^&*()_+│
	   │явертыуиопшщ│ЙЦУКЕНГШЩЗХЪ│┌┬┐╓╥╖│─║═[]│╔╦╗╒╤╕█▄▌▐{}│
	   │асдфгхйкл;'ч│ФЫВАПРОЛДЖЭ~│├┼┤╟╫╢░▒▓;'`│╠╬╣╞╪╡▀■¤:" │
	   │ъзюцэбнм,.ж │|ЯЧСМИТЬБЮЁ │└┴┘╙╨╜√,./  │╚╩╝╘╧╛№<>?  │
	   └────────────┴────────────┴────────────┴────────────┘

        2. KEYBOARD.KBD стандартное изменение клавиш
	   ┌────────────┬───shift────┬────alt─────┬─alt+shift──┐
	   │1234567890-=│!":/%,.?()_+│1234567890-=│@##$%^&*()_+│
	   │йцукенгшщзхъ│ЙЦУКЕНГШЩЗХЪ│┌┬┐╓╥╖│─║═[]│╔╦╗╒╤╕█▄▌▐{}│
	   │фывапролджэ`│ФЫВАПРОЛДЖЭ~│├┼┤╟╫╢░▒▓;'`│╠╬╣╞╪╡▀■¤:" │
	   │\ячсмитьбюё │|ЯЧСМИТЬБЮЁ │└┴┘╙╨╜√,./  │╚╩╝╘╧╛№<>?  │
	   ├────lat─────┼─lat+shift──┼────────────┴────────────┘
	   │1234567890-=│!@#$%^&*()_+│
	   │qwertyuiop[]│QWERTYUIOP{}│
	   │asdfghjkl;'`│ASDFGHJKL:"~│
	   │\zxcvbnm,./ │|ZXCVBNM<>? │
	   └────────────┴────────────┘

        3. UKRAINE.KBD вместо псевдографики - украинская раскладка
	   ┌────alt─────┬─alt+shift──┐ остальное - как в KEYBOARD.KBD
	   │1234567890-=│!":/%,.?()_+│ Эта раскладка клавиатуры
	   │йцукенгшщзхi│ЙЦУКЕНГШЩЗХI│ предложена мне Олегом Пилипенко
	   │фывапролджє`│ФЫВАПРОЛДЖЄ~│ из Одессы
	   │\ячсмитьбюї │|ЯЧСМИТЬБЮЇ │
	   └────────────┴────────────┘
    Этот ключ нельзя динамически переопределять
    Заготовку для своей клавиатуры можно также получить, запустив
    KEYRUS /FILES

   /FAST[=<rate>[,delay]]	На  AT  сбрасывает  лампочку  NumLock  и
    ────			устанавливает  скоростные  параметры  на
клавиатуре.  По  умолчанию  =0,0  что  означает  задержка  1/4 секунды и
скорость 30 символов/секунду.
    Задержка может быть то 0 до 3 (0.250 с, 0.500 с., 0.750 , 1.000 с)
    Скорость может быть от 0 до 31
		0 = 30 с/сек	10 = 10
		1 = 26.7        13 = 9.2
		2 = 24          16 = 7.5
		4 = 20          20 = 5.0
		8 = 15          31 = 2.0
    (Операционная система при старте устанавливает значения
10 сим/с и задержка 1/2 сек)
    ВНИМАНИЕ! Этот ключ не запоминается через /save

   /BUFFER			Определяет большой буфер клавиатуры
    ──────			(на 31 символ)
    ВНИМАНИЕ! этот ключ не запоминается через /save

   /BLANK=Off|On[,time[,mouse]] Этот  ключ  позволяет  гасить  экран по
    ─────			истечении определенного времени если  не
было нажатий на клавиши или движений мыши. Имеет 3 параметра.
    1. Off или On - включать в драйвер процедуру гашения экрана или нет.
Это отнимет около 150 байт памяти, но сохранит экран вашего монитора.
    2. Time - время в минутах. Если на протяжении этого времени не  было
нажатий на клавиши или движений мыши, экран погаснет.
    3. Mouse - может иметь значения ON или OFF. Указывает - присоединять
блок слежения за мышью или нет? Если этого блока не будет, вы сэкономите
немного  памяти,  но  на  мышь  драйвер  не будет обращать внимания. Для
нормальной работы надо  запустить драйвер мыши  до KEYRUS'а, иначе  блок
слежения не будет инсталлирован.
    Примечание. Экран  не  будет  гаснуть  в  графических  режимах.
    В процессе работы можно только отключить этот параметр /blank=off

    Раздел 6. Дополнительные ключи.
    ──────────────────────────────

   /SAVE	Этот ключ  должен стоять  последним в строке.   Он
    ────	делает  все   введенные параметры, включая клавиатуры  и
шрифты определенными по умолчанию.
    Пример:
      KEYRUS /full /font=myfont.fnt /save
		; После этого эти  параметры становятся по умолчанию,  и
		; стандартный шрифт в KEYRUS'е перекрывается шрифтом
		; myfont.fnt. И теперь достаточно только набирать KEYRUS
    Смотри также ключ /?
    Примечание:
      Не запоминаются параметры /buffer /fast /ega

   /?		Этот  ключ  выдает  информацию  о значении параметров по
    ─		умолчанию. Чтобы узнать раскладку клавиатур и шрифты  по
умолчанию, см. ключ /files

   /FILES       При этом в текущей директории создаются файлы  фонтов  и
    ─────       клавиатуры. Создаются следующие файлы:
		_08x08.fnt   - внутренний фонт 8x8
		_08x14.fnt   - внутренний фонт 8x14
		_08x16.fnt   - внутренний фонт 8x16
		_keys.kbd    - внутренняя клавиатура KEYRUS
   Эти файлы можно немного подредактировать и записать обратно в KEYRUS
   ключами /FONT /KEYS

   /EGA		Мне попадались  компьютеры с  адаптером EGA,  на который
    ───		Norton Commander говорит, что это не EGA. Если запустить
на этом компьютере KEYRUS, то он не включит блок поддержки дисплея, т.к.
процедура диагностики не определяет EGA. В этом случае надо запустить
    KEYRUS /EGA
    ВНИМАНИЕ! Этот ключ не запоминается через /save

   /RELEASE	Этот  ключ  выгружает  KEYRUS  из  памяти,  если  он был
    ───────	запущен  ранее   с  /inteface=on   (по  умолчанию).   Не
рекомендуется использовать этот ключ, если вы используете программу
RELEASE

   /HELP[:RUS]  Выдает  краткую  инструкцию  на английском (/help) или
    ────	русском (/help:rus) языках.



		    ┌────────────────────────────────┐
                    │Программное управление драйвером│
                    └────────────────────────────────┘

                MOV ax,'KR'
                MOV bl,< номер подфункции >
                INT 2Fh

 BL
 =0         :   Проверка - загружен KEYRUS ?
                 Если KEYRUS загружен на выходе в AL будет 82h
		 bh - Старший номер версии (7)
                 bl - Младший номер версии (3)
		 Регистр es при этом портится.

 =1         :   Получить статус драйвера.
	                Формат статуса:
		 биты 0,1:  00 - Латинский режим
			    01 - Русский режим
			    10 - Альтернативный режим
			    11 - не используется
		 бит    2:   0 - Не загружать символы
			     1 - Разрешить загрузку символов
		 бит    3:   0 - Английская клавиатура не обрабатываются
			     1 - Поддержка английской клавиатуры
		 биты 4-7: Используются внутри драйвера, нельзя
			   модифицировать

 =2         :   На входе al - новый статус драйвера.

 =90h ('Р') :   Включение русского режима клавиатуры.

 =4сh ('L') :   Включение латинского режима клавиатуры.


		      ╔════════════╗
  		      ║	Примечания ║
		      ╚════════════╝
(1)        Что нужно сделать, чтобы программа Norton Commander
                      "понимала" русскую букву "р".
      ─────────────────────────────────────────────────────────────
Для Norton Commander ( вер. 2.0 ) -
  С помощью утилиты  NU или DiskEdit скорректируйте программу NC.EXE:
  по смещению  9CBD замените байт 0e0h('р') на 00

Для Norton Commander ( вер. 3.0 ) -
  С помощью утилиты NU или DiskEdit скорректируйте программу NCMAIN.EXE:
  по смещению  1E02 замените байт 0e0h('р') на 00.

   Если и после этого проблема не будет решена (что маловероятно),
   то параметром /keys укажите файл клавиатуры, в котором вместо русской
   буквы 'р' будет латинская буква 'p' ( для этого надо просто изменить
   один символ в файле KBDMAIN )


(2)                   Таблица скэнкодов клавиатуры.
	              ─────────────────────────────
    ┌─────────╥──────────╥────────────╥─────────────╥───────────────┐
    │ Dec Key ║ Dec Key  ║ Dec Key    ║ Dec Key     ║ Dec Key       │
    │─────────╫──────────╫────────────╫─────────────╫───────────────│
    │  1  Esc ║ 18  E    ║ 35  H      ║ 52  . >     ║ 69  NumLock   │
    │  2  1 ! ║ 19  R    ║ 36  J      ║ 53  / ?     ║ 70  ScrollLock│
    │  3  2 @ ║ 20  T    ║ 37  K      ║ 54  Shft(Rt)║ 71  Home [7]  │
    │  4  3 # ║ 21  Y    ║ 38  L      ║ 55  * PrtSc ║ 72  Up   [8]  │
    │  5  4 $ ║ 22  U    ║ 39  ; :    ║ 56  Alt     ║ 73  PgUp [9]  │
    │  6  5 % ║ 23  I    ║ 40  " '    ║ 57  spacebar║ 74  <циф> -   │
    │  7  6 ^ ║ 24  O    ║ 41  ~ `    ║ 58  CapsLock║ 75  Left [4]  │
    │  8  7 & ║ 25  P    ║ 42  Shft(L)║ 59  F1      ║ 76       [5]  │
    │  9  8 * ║ 26  [ {  ║ 43  \ |    ║ 60  F2      ║ 77  Right[6]  │
    │ 10  9 ( ║ 27  ] }  ║ 44  Z      ║ 61  F3      ║ 78  <циф> +   │
    │ 11  0 ) ║ 28  Enter║ 45  X      ║ 62  F4      ║ 79  End  [1]  │
    │ 12  - _ ║ 29  Ctrl ║ 46  C      ║ 63  F5      ║ 80  Down [2]  │
    │ 13  + = ║ 30  A    ║ 47  V      ║ 64  F6      ║ 81  PgDn [3]  │
    │ 14  bksp║ 31  S    ║ 48  B      ║ 65  F7      ║ 82  Ins  [0]  │
    │ 15  Tab ║ 32  D    ║ 49  N      ║ 66  F8      ║ 83  Del  [.]  │
    │ 16  Q   ║ 33  F    ║ 50  M      ║ 67  F9      ║               │
    │ 17  W   ║ 34  G    ║ 51  , <    ║ 68  F10     ║               │
    └─────────╨──────────╨────────────╨─────────────╨───────────────┘
                       Скэнкоды расширенной клавиатуры
    ╒═════════════════════════════════════╦═════════════════════════╕
    │ Клавиша                   Код       ║ Клавиша       Код       │
    ├─────────────────────────────────────╫─────────────────────────┤
    │ F11 ..................... 87        ║ Home ........ 71e       │
    │ F12 ..................... 88        ║ End ......... 79e       │
    │ Right-Alt ............... 56e       ║ Up .......... 72e       │
    │ Right-Ctrl .............. 29e       ║ Down ........ 80e       │
    │ Shft-PrintScreen (SysReq) 55e       ║ PgUp ........ 73e       │
    │ Ctrl-PrintScreen (SysReq) 55e       ║ Pgdn......... 81e       │
    │ Alt-PrintScreen ......... 84        ║ Right ....... 77e       │
    │ Insert .................. 82e       ║ <циф> Enter . 28e       │
    │ Delete .................. 83e       ║ <циф> / ..... 53e       │
    │ Left .................... 75e       ║ 		            │
    ╘═════════════════════════════════════╩═════════════════════════╛
