При нажатии отслеживаемых клавиш или
6 Включен индикатор NUM LOCK
7 Включен индикатор CAPS LOCK
8 Включен индикатор (системный режим) INSERT
9 Клавиша <Ctrl> (левая)
10 Клавиша <Alt> (левая)
11 Клавиша <Ctrl> (правая)
12 Клавиша <Alt> (правая, не действует для US-клавиатур)
13 Клавиша <Scroll Lock>
14 Клавиша <Num Lock>
15 Клавиша <Caps Lock>
16 Клавиша <Print Screen> при нажатой клавише <Alt>
--------------------------------------------------------------------
Вызов процедуры
При нажатии отслеживаемых клавиш или при включенном состоянии
отслеживаемых индикаторов, вызывается процедура, инсталлированная
TRAPSHIFT(). При вызове ей передается числовой параметр, содержащий
текущую битовую конфигурацию (в соответствии с приведенной выше
таблицей) состояния всех управляющих клавиш и индикаторов.
Внимание!
Процедура отслеживания вызывается непосредственно из драйвера как при
опросе буфера клавиатуры Clipper-программой, так и при выполнении
других действий.
Поскольку внутренние процедуры ввода не реентерабельны, то в
вызываемой процедуре нельзя использовать Clipper-команды и функции
ввода с клавиатуры типа GET/READ, PROMPT, ACCEPT, INKEY(0), MEMOEDIT()
и т.п.
Функция INPUTMODE(.T.) позволяет определить, какая из команд и функций
ввода активна при входе в вызываемую процедуру.
Примечания
. Если заданная процедура отсутствует в выполняемой программе, то
установка ее имени внутренними средствами CT II не осуществляется и
сообщение об ошибке времени выполнения не формируется. Формирование
на этапе компоновки предупреждения об отсутствии процедуры можно
обеспечить включением в текст программы Clipper-оператора
EXTERNAL <список идентификаторов процедур>.