Странные коды клавиатуры при Ctrl+Shift+цифровые_кнопки при включённой NumLock Topic is solved

Столкнулись с проблемой в использовании макросов? Здесь можно получить помощь.
Post Reply
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Странные коды клавиатуры при Ctrl+Shift+цифровые_кнопки при включённой NumLock

Post by buniak_a_h »

Здравствуйте.
Обнаружил странные коды, возвращаемые mf.waitkey() для указанных сочетаний. Для определённости рассмотрим Num6:
Если NumLock выключена, то возвращается CtrlShiftNum6.
Если NumLock включена, то независимо от того, какая кнопка на цифровой клавиатуре нажата совместно с CtrlShift, возвращает просто CtrlShift.
Это так и задумано, или баг?
Last edited by buniak_a_h on Wed 11 Mar, 2020 13:30, edited 1 time in total.
User avatar
zg
zero-gravity
Posts: 6016
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Странные коды клавиатуры при Ctrl+Shift+цифровые_кнопки при вулючённой NumLock

Post by zg »

buniak_a_h wrote: Wed 11 Mar, 2020 13:30Это так и задумано, или баг?
это так задумано в винде. вызовите waitkey повторно. можете с сайта конэму скачать KeyEvents и лично убедиться, что перед нажатием num6 приходит отжатие shift'а. и да — это много раз обсуждалось, если у вас прямо готового кода нет, как это пофиксить — воду лить не стоит.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Странные коды клавиатуры при Ctrl+Shift+цифровые_кнопки при вулючённой NumLock

Post by John Doe »

buniak_a_h wrote: Wed 11 Mar, 2020 13:30 Если NumLock включена, то независимо от того, какая кнопка на цифровой клавиатуре нажата совместно с CtrlShift, возвращает просто CtrlShift.
Без Ctrl то же самое.

Обойти в своём коде можно (исходя из вышесказанного) примерно так:

Code: Select all

lua:=mf.waitkey()..mf.waitkey(0)
Т.е. пытаться прочитать 2 нажатия.

P.S.
Последний раз обсуждалось кажется в этой теме viewtopic.php?f=15&t=10912, а первый - тут viewtopic.php?t=1707.
https://t.me/FarManager — Telegram чат
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Странные коды клавиатуры при Ctrl+Shift+цифровые_кнопки при вулючённой NumLock

Post by buniak_a_h »

zg, John Doe, за это спасибо, но я пытался определить код клавиши, пришедший в export.ProcessPanelInput. Как выяснилось, эти сочетания в export.ProcessPanelInput вообще не приходит (я уже писал, что не все кнопкосочетания приходят в export.ProcessPanelInput).
Ладно, низзя объять необъятное.
User avatar
zg
zero-gravity
Posts: 6016
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Странные коды клавиатуры при Ctrl+Shift+цифровые_кнопки при включённой NumLock

Post by zg »

buniak_a_h wrote: Wed 11 Mar, 2020 15:28Как выяснилось, эти сочетания в export.ProcessPanelInput вообще не приходит
не приходят только ctrlshiftnum2 и ctrlshiftnum8, все остальные ctrlshiftnum приходят. то что винда при нажатом нумлоке шифт из нажатия убирает — не на этот форум вопрос.
Post Reply

Return to “Нужна помощь”