# ProcessEditorInputW

Функция `ProcessEditorInputW` вызывается всякий раз, когда внутренний редактор Far Manager обрабатывает событие от клавиатуры или мыши.

    intptr_t WINAPI ProcessEditorInputW(
      const struct ProcessEditorInputInfo *Info
    );

### Параметры

Info
Указатель на структуру ProcessEditorInputInfo. Эта структура содержит информацию о последнем событии от клавиатуры или мыши.
В начале функции проверьте, что поле `ProcessEditorInputInfo.StructSize >= sizeof(ProcessEditorInputInfo)`.

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

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

### Замечания

1. Плагин должен корректно обрабатывать входные события путём анализа поля `Info->INPUT_RECORD.EventType` и, в случае если плагин данное событие не обрабатывает, вернуть управление в Far Manager.
2. Во время "проигрывания" макроса клавиатурные события (`KEY_EVENT`) имеют "новый" тип - поле `Info->INPUT_RECORD.EventType` равно значению `0x8001`.
3. Плагин может вызвать команду EditorControl из этой функции, но будьте осторожны, когда вызываете здесь ECTL_PROCESSINPUT, потому что эта команда вызывает функцию `ProcessEditorInputW` снова. Таким образом, плагин должен сам предотвратить такой самовызов, или он впадёт в бесконечный цикл.
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