ProcessEditorInput

Функция ProcessEditorInput вызывается всякий раз, когда внутренний редактор FAR обрабатывает событие от клавиатуры или мыши.
int WINAPI ProcessEditorInput(
  const INPUT_RECORD *Rec
);

Параметры

Rec
Указатель на структуру INPUT_RECORD. Эта структура определена в Win32 API и содержит информацию о последнем событии от клавиатуры или мыши.

Возвращаемое значение

Если плагин должен передать управление в редактор FAR`а, то верните 0. Если плагин в полной мере отработал событие или вы хотите, чтобы FAR игнорировал это событие, то верните 1.

Замечания

  1. Плагин должен корректно обрабатывать входные события путем анализа поля INPUT_RECORD.EventType и, в случае если плагин данное событие не обрабатывает, вернуть управление в FAR.
  2. Во время "проигрывания" макроса клавиатурные события (KEY_EVENT) имеют "новый" тип - поле INPUT_RECORD.EventType равно значению 0x8001.
  3. Плагин может вызвать команду EditorControl из этой функции, но будьте осторожны, когда вызываете здесь ECTL_PROCESSINPUT, потому что эта команда вызывает функцию ProcessEditorInput снова. Таким образом, плагин должен сам предотвратить такой самовызов, или он впадет в бесконечный цикл.
  4. Плагину не приходят клавиши: Ctrl-W, F11, Alt-F9, F12, Ctrl-Tab, Ctrl-Shift-Tab, Alt-Ins и Ctrl-Alt-Shift.
  5. Плагину приходят клавиши (с ограничениями):
    • Alt-F5 - если плагин PrintMan не установлен
    • Alt-F11 - если редактор модальный
    • F6 - если есть запрет на переключение в программу просмотра (при вызове функции Editor не указан флаг EF_ENABLE_F6).
Смотрите также:
INPUT_RECORD