FarNameToInputRecord

Функция FSF.FarNameToInputRecord конвертирует строку из кода клавиш с внутренним форматом клавиш Far Manager'а в INPUT_RECORD.
BOOL WINAPI FarNameToInputRecord(
  const wchar_t *Name,
  INPUT_RECORD *Key
);

Параметры

Name
Символьное представление клавиши. Функция ожидает строку по спецификации:
  1. Предопределённые сочетания (см. keyboard.cpp::FKeys1[])
  2. Опциональные модификаторы ("Alt", "RAlt", "Ctrl", "RCtrl", "Shift") и 1 символ, например, "AltD" или "CtrlC"
  3. "Alt" (или "RAlt") и 5 десятичных цифр (с ведущими нулями)
  4. "Spec" и 5 десятичных цифр (с ведущими нулями)
  5. "Oem" и 5 десятичных цифр (с ведущими нулями)
  6. только модификаторы ("Alt", "RAlt", "Ctrl", "RCtrl", "Shift")
Key
Указатель на структуру INPUT_RECORD куда будет помещен результат преобразования.

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

В случае успеха функция возвращает TRUE.

Примечание

  1. Если в комбинации клавиш присутствует Ctrl или Alt и клавиша - "буква", то "буква" принудительно приводится к верхнему регистру. Например, FarNameToInputRecord("CtrlAltz") вернёт KEY_CTRLALTZ.
  2. Если в комбинации клавиш присутствует Ctrl или Alt и клавиша - "буква национального алфавита", то "буква" принудительно заменяется на клавиатурный эквивалент и приводится к верхнему регистру. Например, FarNameToInputRecord("CtrlУ") вернёт KEY_CTRLE.
  3. Комбинации клавиш Shift-"буква" преобразуется к "БУКВА" (т.е. удаляется компонента Shift и "буква" переводится в верхний регистр).

Пример