funkey.com программа перепрограммирования клавиш, на основе OS CP/M-80 V2.2
Работа с программами в ПРО ДОС
E:250597 (C) 1996,97 ORIONSOFT
1. Назначение программы
Программа FunKey предназначена для программирования функциональных клавиш компьютера "Orion-Pro" и работает под управлением операционной системы PRODOS версии не ниже 2.00.Исходные данные для программы записываются в специальный управляющий текстовый файл, имя которого задается в командной строке при запуске программы. По сравнению с предыдущей версией программы (V1.00) новая версия поддерживает систему распределения сегментной динамической памяти. Прежнюю версию программы не рекомендуется использовать в среде операционной системы PRODOS V2.00.
2. Возможности программы
Данная программа позволяет:
1). Устанавливать режим клавиатуры (КОИ-7,КОИ-8,АЛТ);
2). Устанавливать флаги клавиатуры (CAPS LOCK, РУС/ЛАТ, ГРАФ/АЛФ);
3). Устанавливать константы задержки клавиатуры (константуавтоповтора и константу частоты мигания курсора);
4). Устанавливать коды клавиш управления курсором для системной подпрограммы 0F81BH:
- коды отдельно нажатых клавиш курсора;
- коды клавиш курсора, нажатых совместно с клавишейCTRL;
- коды клавиш курсора, нажатых совместно с клавишейSHIFT.
Указанные коды действуют и для системной подпрограммы 0F803H, если этим клавишам не назначены другие функциональные последовательности.
5). Задавать до трех таблиц функциональных клавиш, содержащих строки кодов:
- для отдельно нажатых клавиш;
- для клавиш, нажатых совместно с клавишей CTRL;
- для клавиш, нажатых совместно с клавишей SHIFT.
Функциональной клавишей может быть назначена любая клавиша, кроме CTRL, SHIFT, ФИКС, АЛФ, ГРАФ, причем заданная для нее строка кодов не будет действовать при вызове системной подпрограммы 0F81BH.
6). Для клавиатуры РК-86 (и MC7007 в "старом" режиме) можно установить новые коды клавиш включения и отключения псевдографики (вместо ^O, ^N).
3. Порядок вызова программы
Для запуска программы необходимо набрать на клавиатуре или включить в пакетный файл типа .BAT строку:
FUNKEY или FUNKEY <имя файла данных>
Если имя файла данных не указано, то оно запрашивается с клавиатуры. Тип файла может быть опущен, при этом по умолчанию принимается тип .KEY .
4. Структура файла данных
Файл данных - это текстовый файл, который может быть создан практически любым текстовым редактором, например редактором системы TURBO Pascal V3.0 или редактором Corona.
Каждая строка этого файла может начинаться с одного из следующих ключевых слов (регистр букв значения не имеет):
Rem - Комментарий (последующие символы строки игнорируются);
; - Комментарий (аналогично);
Msg - Вывод на экран следующего в строке сообщения;
KbdMode - Установка байта режима клавиатуры;
KbdFlag - Установка байта флагов клавиатуры;
AutoDel - Установка константы задержки автоповтора;
CurDel - Установка константы частоты мигания курсора;
Seg - Установка шестадцатиричного номера сегмента ОЗУ для загрузки таблицы функциональных клавиш;
Addr - Установка шестнадцатиричного адреса начала размещения таблицы функциональных клавиш в текущем сегменте;
Key - Включение доступа к таблице одиночных функциональных клавиш для CONIN; следующие строки кодов будут загружаться в указанную таблицу;
CtrlKey - Включение доступа к таблице клавиш, нажатых с CTRL для CONIN;
ShiftKey - Включение доступа к таблице клавиш, нажатых с SHIFT для CONIN;
Cur - Задание кодов клавиш курсора для CONST (порядок: влево, вправо, вверх,вниз);
CtrlCur - Задание кодов клавиш курсора с CTRL для CONST;
ShiftCur - Задание кодов клавиш курсора с SHIFT для CONST;
Graph - Установка кода клавиши включения режима ввода псевдографики на РК-86;
Alf - Установка кода клавиши отключения режима ввода псевдографики на РК-86 и перехода в алфавитный режим.
Допускается наличие в файле пустых строк.
Все данные в строках отделяются по крайней мере одним пробелом.
Примеры ключевых строк:
Rem Это комментарий
; Это тоже комментарий
Msg Эта строка будет выведена на экран
KbdMode 00
KbdFlag 40
AutoDel 7F
CurDel 180
Seg 1F
SegF
Addr 1000H
Key
CtrlKey
ShiftKey
Cur 08 04 05 18
CtrlCur 01 06 12 03
Graph07
Alf 07
Структура байта режима клавиатуры и байта флагов клавиатуры описана в документации на драйвер клавиатуры для режима "Pro".
Если в файле отсутствуют обе ключевые строки Seg и Addr (т.е. сегмент и адрес для размещения таблиц функциональных клавиш не указан), то программа запрашивает первую подходящую свободную область памяти у операционной системы.
В случае, если в файле встречен или сегмент, или адрес, или оба этих параметра, действует следующее правило:если был указан только сегмент, то значение адреса подразумевается равным 0000H, а если был указан только адрес, то по умолчанию принимается сегмент 1FH. После загрузки очередной таблицы функциональных клавиш значение адреса автоматически увеличивается в соответствии с ее длиной, однако адрес может быть задан принудительно с помощью дополнительной строки Addr.
Заметим, что ключевые слова Seg и Addr оставлены только для совместимости со старой версией, так как в новой версии сегмент и адрес для размещения таблицы функциональных клавиш может определяться системой автоматически.
За ключевыми строками Key, CtrlKey, ShiftKey должны следовать строки кодов, описывающих функциональные клавиши для каждой таблицы. Если таких строк нет, то соответствующая таблица обнуляется.
Каждая строка, описывающая клавишу, начинается с шестнадцатиричного кода сканирования этой клавиши, за которым следует последовательность шестнадцатиричных кодов (не более 15) формируемой клавишей строки. Одна строка может описывать только одну функциональную клавишу.
Например, для клавиши ИСП (MC7007):
2E 54 75 72 62 6F 0D 59
При нажатии на эту клавишу с клавиатуры будет вводиться строка кодов:
Turbo <ВК> Y
Каждая из трех таблиц должна описываться не более 1 раза.
*** ORIONSOFT ***
На предыдущую страницу На главную страницу На следующую страницу