FarNameToInputRecord / FarInputRecordToName

Место, где разработчики плагинов могут поделиться своим опытом.
Post Reply
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

FarNameToInputRecord / FarInputRecordToName

Post by John Doe »

Комбинация клавиш CtrlNumLock для системы означает VK_PAUSE, но фар об этом не знает.
Соответственно функция FarNameToInputRecord работает неправильно.

Нельзя ли исправить?
http://bugs.farmanager.com/view.php?id=2947

P.S.
При этом хотелось бы внутри фара сохранить различение Pause и CtrlNumLock
И FarInputRecordToName (подозреваю) может различать их в зависимости от состояния Ctrl.
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

FarNameToInputRecord / FarInputRecordToName

Post by HaRT »

Если кто-то будет это менять, то прошу заметить, что на USB-клавиатуре всё несколько иначе и в чём-то даже сложнее.
Вот что пишет [i]KeySpy2.exe[/i] из комплекта старого доброго Keyboard Maniac:

(Если что, у меня клавиатура марки Genius от KYE Systems.)
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

FarNameToInputRecord / FarInputRecordToName

Post by John Doe »

HaRT wrote: на USB-клавиатуре всё несколько иначе и в чём-то даже сложнее.
У меня USB клавиатура, и что это меняет в плане виртуальных клавиш?
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

FarNameToInputRecord / FarInputRecordToName

Post by HaRT »

John Doe wrote: что это меняет в плане виртуальных клавиш?
Понятия не имею.
Я же не знаю, на каком уровне Фар работает с событиями ввода.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

FarNameToInputRecord / FarInputRecordToName

Post by John Doe »

Code: Select all

far.InputRecordToName {
  ControlKeyState = 58,
  EventType = 1,
  KeyDown = true,
  RepeatCount = 1,
  UnicodeChar = "\000",
  VirtualKeyCode = 16,
  VirtualScanCode = 42
}
Возвращает CtrlAltShiftRelease (а в некоторых случаях CtrlAltShiftPress)

Если же изменить умолчательное значение System.CASRule на 0, то возвращается CtrlAltShift►
Странно это.
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

FarNameToInputRecord / FarInputRecordToName

Post by Shmuel »

Подозреваю, что в FarInputRecordToName есть немало подобных сюрпризов. Возможный выход из этой ситуации для плагина - анализировать INPUT_RECORD самому.
Post Reply

Return to “Разработка плагинов”