ProcessEditorInput

Far Manager

ProcessEditorInput

The ProcessEditorInput function is called from the internal editor every time there is user input (mouse or keyboard) to process.
int WINAPI ProcessEditorInput(
  const INPUT_RECORD *Rec
);

Parameters

Rec
Points to the INPUT_RECORD structure. This structure is defined in Win32 API and contains information about the last input (keyboard or mouse) event.

Return value

If the plugin returns 0, the input event is processed by the FAR editor. The plugin should return 1 if it has completely processed the event or if the event should be discarded.

Remarks

  1. A plugin should correctly process incoming events by analysing INPUT_RECORD.EventType fields and in the case of an unhandled even to return control back to FAR.
  2. While in macro playback keyboard events (KEY_EVENT) have a new type - the INPUT_RECORD.EventType field equals 0x8001.
  3. EditorControl commands can be called from this function, but be careful when calling ECTL_PROCESSINPUT from here, because this command calls the ProcessEditorInput function again. So the plugin should take steps to prevent recursion at this place.
  4. A plugin does not receive the following key combinations: Ctrl-W, F11, Alt-F9, F12, Ctrl-Tab, Ctrl-Shift-Tab, Alt-Ins and Ctrl-Alt-Shift.
  5. A plugin receives the following key combinations with the following restrictions:
    • Alt-F5 - if the PrintMan plugin is not installed
    • Alt-F11 - if the editor is modal
    • F6 - if switching to viewer is disabled (when calling Editor with the EF_ENABLE_F6 flag omitted).
See also: