скан-коды клавы и режим NumLock

Использование и разработка софта (преимущественно на ПЦ)

Moderator: Shaos

User avatar
Vasil Ivanov
Doomed
Posts: 413
Joined: 11 Dec 2003 14:34

скан-коды клавы и режим NumLock

Post by Vasil Ivanov »

Привет всем!

Объясните следующую фитчу.
Заметил, что при включении режима "Num Lock", клава добавляет префикс "E0 12" для клавиш управления курсором, PageUp, PageDown, Ins, Del, Home, End.
Речь идет о скан-кодах выдаваемых самой клавой. Происходит это не только при посылке команды (ED xx) клаве на включение режима NumLock, но также и при простом нажатии на клавишу "Num Lock".
Возвращаемые скан-коды проверял на дев-борде Altera DE1.
Ту же самую ps2-корку проверял на борде Nexys-3 (только нажатием на клавишу NumLock) - никакого префикса "E0 12" для указанных клавиш не выдается. Также не выдается этого префикса и на Спринтере.
Нигде в литературе (инете) про такой префикс не упоминается. Помнится только, что кто-то из питерских ребят спринтер-группы упоминал, что клавка начинает выдавать другие скан-коды при включении режима NumLock (тогда вопрос был про двусторонний обмен с клавой).
Кто-нить прояснит данный вопрос ?
Vasil Ivanov
vasil-i@yandex.ru
VGrad
Maniac
Posts: 208
Joined: 18 Nov 2013 15:15
Location: все оттуда ;)

Re: скан-коды клавы и режим NumLock

Post by VGrad »

Vasil Ivanov wrote:Кто-нить прояснит данный вопрос ?
Google ? ВикиПедия ? ;)

http://ru.wikipedia.org/wiki/%D0%A1%D0% ... 0%BE%D0%B4
User avatar
Vasil Ivanov
Doomed
Posts: 413
Joined: 11 Dec 2003 14:34

Re: скан-коды клавы и режим NumLock

Post by Vasil Ivanov »

VGrad wrote:
Vasil Ivanov wrote:Кто-нить прояснит данный вопрос ?
Google ? ВикиПедия ? ;)

http://ru.wikipedia.org/wiki/%D0%A1%D0% ... 0%BE%D0%B4
Точно... а я то неразумный и не догадался предварительно гуглом пояндексить :)
А если по делу - и где там про префикс "E0 12" говорится ? Скен-код клавиши PrintScreen не в счет.
Vasil Ivanov
vasil-i@yandex.ru
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: скан-коды клавы и режим NumLock

Post by Lavr »

Vasil Ivanov wrote: а я то неразумный и не догадался предварительно гуглом пояндексить :)
Ну я из интересу чисто гуглом пояндексил...
If the Numlock key is down then the Press code will be E0 12 E0 75 hex.
More technical information on the PC keyboards

Может гугло-яндексы у нас с Вами разные?
iLavr
jdigreze
God
Posts: 1388
Joined: 02 Jan 2006 02:28
Location: Abakan

Re: скан-коды клавы и режим NumLock

Post by jdigreze »

Lavr wrote:Может гугло-яндексы у нас с Вами разные?

[offtop]
Запросто! Современные поисковые движки подстраиваются под пользователя, в итоге при одном и том же простом запросе, мы с тобой увидим разные результаты, если конечно не пользоваться сложными уточняющими конструкциями.
[/offtop]
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: скан-коды клавы и режим NumLock

Post by Lavr »

jdigreze wrote:Современные поисковые движки подстраиваются под пользователя
У меня иногда ещё складывается ощущение - что и под время суток они "подстраиваются"! :lol:
Днем ищешь-ищешь - ничего нету... пустыня... ночью - только ткнешь, и находишь с пол-пинка... 8)


PS. И еще, оказывается, надо приложить определенные усилия, чтобы прошерстить, к примеру,
какой-либо "национальный интернет". Я прогугливал как-то компьютерные вопросы французских
фирм, так сразу и не очень-то и найдешь их! Но в итоге - настроил поисковую "зобаку"...
:D
iLavr
User avatar
Vasil Ivanov
Doomed
Posts: 413
Joined: 11 Dec 2003 14:34

Re: скан-коды клавы и режим NumLock

Post by Vasil Ivanov »

Lavr wrote:
Vasil Ivanov wrote: а я то неразумный и не догадался предварительно гуглом пояндексить :)
Ну я из интересу чисто гуглом пояндексил...
If the Numlock key is down then the Press code will be E0 12 E0 75 hex.
More technical information on the PC keyboards
Пасибо. Внесли ясность, что это легальная фитча у клав.
Кста, у меня клава с USB-интерфейсом сама включает режим NumLock просто по нажатии клавиши "Num Lock", без засылки в нее команды "ED 02", а вот пару клав (на которых проверял) с PS/2 интерфейсом так не могут, у них режим NumLock включается только через программирование их контроллеров.
Vasil Ivanov
vasil-i@yandex.ru
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Vasil Ivanov wrote:Пасибо. Внесли ясность, что это легальная фитча у клав.
Кста, у меня клава с USB-интерфейсом сама включает режим NumLock просто по нажатии клавиши "Num Lock", без засылки в нее команды "ED 02", а вот пару клав (на которых проверял) с PS/2 интерфейсом так не могут, у них режим NumLock включается только через программирование их контроллеров.
Я, собственно, влез Вам помочь, потому что уже весьма давно писал резидентный драйвер клавиатуры,
и не по наслышке знаю, что порой со скан-кодами не всё так однозначно, как пишут в справочных
материалах. Посмотрев свои материалы, я обнаружил, что про "E0 12" я тогда ничего и не знал.
Ну - теперь знаем все вместе... :wink:
iLavr
User avatar
Vasil Ivanov
Doomed
Posts: 413
Joined: 11 Dec 2003 14:34

Post by Vasil Ivanov »

Lavr wrote:Я, собственно, влез Вам помочь, потому что уже весьма давно писал резидентный драйвер клавиатуры,
и не по наслышке знаю, что порой со скан-кодами не всё так однозначно, как пишут в справочных
материалах. Посмотрев свои материалы, я обнаружил, что про "E0 12" я тогда ничего и не знал.
Я тоже не знал до недавнего времени, поскольку в таблицах скан-кодов, имеющихся в инете, нигде о таком префиксе не упоминается.
Просто тестировал ps2-корку на дев-борде и наткнулся на этот "сюрприз".

P.S. Хорошие статейки по клавиатуре есть в журналах Радио за 1997 год, номера 4 и 6. Если кто не знает.
Vasil Ivanov
vasil-i@yandex.ru