📂 Документ: orion128-pro-soft-prodos-funkey_clean.html


 

funkey.com программа перепрограммирования клавиш, на основе OS CP/M-80 V2.2

Работа с программами в ПРО ДОС

 

E:250597 (C) 1996,97 ORIONSOFT

ПРОГРАММА FUNKEY V2.00

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

 За ключевыми строками KeyCtrlKeyShiftKey должны следовать строки кодов,  описывающих функциональные клавиши для каждой таблицы.  Если таких строк нет,  то соответствующая таблица обнуляется.

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

 Например, для клавиши ИСП (MC7007):

 2E  54 75 72 62 6F 0D 59

 При нажатии  на  эту  клавишу  с  клавиатуры будет вводиться строка кодов:

 Turbo <ВК> Y

 Каждая из трех таблиц должна описываться не более 1 раза.

 *** ORIONSOFT ***

 

 

 

 

Полезные и интересные статьи

На предыдущую страницу  На главную страницу  На следующую страницу