Макрос состоит из неразделяемой последовательности эмулируемых символов (не клавиш, а знаков, в нужном регистре и языке). "Непечатные" клавиши эмулируются сочетаниями типа <keyname>. Кроме того, имеются дополнительные служебные слова, пишущиеся в верхнем регистре, которые управляют процессом эмуляции. Если при выполнении макроса целевое окно владеет фокусом ввода, то после каждой эмуляции отслеживается фокус и следующая эмуляция направляется элементу управления, который владеет фокусом. Возможно также изменять режим отслеживания, а также переключать фокус на целевое окно или делать целевым окном то, которое владеет фокусом ввода. Коды клавиатурных макроопределений следующие (регистро-чувствительно):
алфавитно-цифровой знак | эмулирует ввод соответствующего символа |
<< | эмулирует ввод символа "<" |
<enter> | эмулирует нажатие "Enter" при переводе строки |
<select> | эмулирует нажатие "Enter" при выборе пункта меню |
<esc> | эмулирует нажатие "Esc" |
<bs> | эмулирует нажатие "BS" |
<Tab> | эмулирует нажатие "Tab" (ТОЛЬКО в случае текстового ввода) |
<up> | эмулирует нажатие клавиши управления курсором "Вверх" |
<down> | эмулирует нажатие клавиши управления курсором "Вниз" |
<left> | эмулирует нажатие клавиши управления курсором "Влево" |
<right> | эмулирует нажатие клавиши управления курсором "Вправо" |
<insert> | эмулирует нажатие клавиши "Insert" |
<delete> | эмулирует нажатие клавиши "Delete" |
<pgdn> | эмулирует нажатие клавиши "PageDown" |
<pgup> | эмулирует нажатие клавиши "PageUp" |
<home> | эмулирует нажатие клавиши "Home" |
<end> | эмулирует нажатие клавиши "End" |
<Fx> | эмулирует нажатие функциональнай клавиши x ("F1", "F2",...) |
<menu> | эмулирует нажатие "Alt", как правило, активизирующее меню |
<TRACEOFF> | отключить отслеживание фокуса ввода (вся эмуляция будет направлена на данный контрол вне зависимости от перемещения фокуса после каждой клавиши |
<TRACEON> | включить отслеживание фокуса ввода |
<GETFOCUS> | направить последующий ввод окну, владеющему фокусом ввода |
<SETFOCUS> | установить фокус ввода на целевое окно (только для доступных для ввода окон) |
<NEXT> | переход к следующему элементу управления (эмуляция "Tab") |
<ONTOP> | перевод родительского окна в активное состояние ("всплытие" его поверх остальных и получение им фокуса ввода), foreground |
Ограничения макроопределений: в силу пробного состояния этой операции пока что она не работает адекватно с окнами DOS-сессий и требует индивидуального подхода, настройки и отладки во всех остальных случаях. Сочетания типа "Ctrl" + клавиша пока не реализованы.