как узнать код клавиши на клавиатуре

Скан-код: Ремаппинг клавиш на клавиатуре

Что такое Скан-код

Спецификация для Windows.
При нажатии любой клавиши контроллер клавиатуры вырабатывает скан-код, соответствующей позиции клавиши, который передаются в компьютер. Служебные коды, которые может вырабатывать контроллер клавиатуры, передаются для обработки подпрограммам BIOS. В буфере клавиатуры для кода клавиши отводится по 2 байта, т. е. он рассчитан на 16 символов.

Как определить Скан-код клавиши

Узнать Скан-код необходимой для ремаппинга клавиши вы можете здесь, а если у вас супер новая клавиатура с кнопками космического происхождения, то отловить скан-код вы можете используя программу «KeyboardTest» от разработчика Passmark Software. Программка платная, но бесплатным триалом. Или OpenSource Программу SharpKeys. Она потребовалась для определения скан-кода левой «\», так как многие наивно полагали что сигналы у обеих одинаковые, а значит и не подлежат ремаппингу. На деле оказалось не так.

И так, мы определили скан-код нашей незадачливой кнопки, теперь нам нужно найти скан-код «LShift». Его можно найти по данной выше ссылке и он равен: 2A.00

Ремаппинг клавиш

Есть куча приложений которые делают этот ремаппинг, многие за базу принимают существующие скан-коды, многие не имеют сканера, что бы определить скан-код клавиши которой нет в базе. Да и устанавливать лишнее приложение очень не хотелось. По-гуглив я остановился на возможностях Windows. а точнее редактора реестра (Пуск-Выполнить: regedit). Или вышеупомянутую программу SharpKeys, которая имеет GUI и выполняет такую же замену в реестре

1. В ветке
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout
создайте бинарный параметр с именем «Scancode Map»
2. В параметр «Scancode Map» записываем следующие значения:
00.00.00.00.00.00.00.00.02 — девятый байт (02) в этой записи означает количество клавиш которое мы будем менять (и равен количеству клавиш +1) в нашем случае это 02, так как мы меняем значения одной клавиши. После этого вписываем еще три «пустых» байта, и теперь наш параметр выглядит так:
00.00.00.00.00.00.00.00.02.00.00.00.
Поскольку мы уже определили все Скан-коды, то продолжая наш параметр, нам следует указать скан-код значения новой кнопки (в нашем случае это 2A.00), а затем скан-код старой (заменяемой) кнопки 56.00. Теперь необходимо закрыть эту функцию четырьмя «пустыми» байтами, то есть 00.00.00.00:
как узнать код клавиши на клавиатуре. c192u4V69B. как узнать код клавиши на клавиатуре фото. как узнать код клавиши на клавиатуре-c192u4V69B. картинка как узнать код клавиши на клавиатуре. картинка c192u4V69B.
3. Перезагружаем компьютер и пользуемся нашими новыми кнопками.

PS: Если нужно сделать ремаппинг не на всем ПК, а только в вашем сеансе, то значения необходимо менять в HKEY_CURRENT_USER\SYSTEM\CurrentControlSet\Control\Keyboard Layout

UPD: Если вы боитесь работать в реесте, то создайте текстовый файл с расширением *.reg, и впишите туда следующее:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
«Scancode Map»=hex:00,00,00,00,00,00,00,00,02,00,00,00,2a,00,56,00,00,00,00,00
затем сохраните, запустите, и перезагрузите ПК.

UPD2: Перенос Скриншотов на
1. Левый Win-key выглядит так:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
«Scancode Map»=hex:00,00,00,00,00,00,00,00,02,00,00,00,37,E0,5B,E0,00,00,00,00
Правый Win-key выглядит так:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
«Scancode Map»=hex:00,00,00,00,00,00,00,00,02,00,00,00,37,E0,5C,E0,00,00,00,00

Источник

Коды клавиш клавиатуры

Таблица кодов клавиш, которыми можно пользоваться при проверке параметра Key в обработчиках событий OnKeyDown и OnKeyUp :

Клавиша

Дес.
число

Шест.
число

Символическое
имя

Сравнение по
функции ord

F1112$70VK_F1F2113$71VK_F2F3114$72VK_F3F4115$73VK_F4F5116$74VK_F5F6117$75VK_F6F7118$76VK_F7F8119$77VK_F8F9120$78VK_F9F10121$79VK_F10пробел32$20VK_SPACEBackSpace8$8VK_BACKTab9$9VK_TABEnter13$0DVK_RETURNShift16$10VK_SHIFTCtrl17$11VK_CONTROLAlt18$12VK_MENUCapsLock20$14VK_CAPITALEsc27$1BVK_ESCAPEInsert45$2DVK_INSERTPageUp33$21VK_PRIORPageDown34$22VK_NEXTEnd35$23VK_ENDHome36$24VK_HOMEСтрелка назад37$25VK_LEFTСтрелка вверх38$26VK_UPСтрелка вперед39$27VK_RIGHTСтрелка вниз40$28VK_DOWNDelete46$2EVK_DELETEPrintScreen44$2CVK_SNAPSHOTScrollLock145$91VK_SCROLLPause19$13VK_PAUSENumLock144$90VK_NUMLOCK0,)48$30Ord(‘0’)1!49$31Ord(‘1’)2@50$32Ord(‘2’)3#51$33Ord(‘3’)4$52$34Ord(‘4’)5%53$35Ord(‘5’)6^54$36Ord(‘6’)7&55$37Ord(‘7’)8*56$38Ord(‘8’)9(57$39Ord(‘9’)`

192$C0-_189$BD=+187$BB[ <219$DB]>221$DD:;186$BA‘”222$DE|220$DC,190$BE/?191$BFA a65$41Ord(‘A’)B b66$42Ord(‘B’)С с67$43Ord(‘С’)D d68$44Ord(‘D’)E e69$45Ord(‘E’)F f70$46Ord(‘F’)G g71$47Ord(‘G’)H h72$48Ord(‘H’)I i73$49Ord(‘I’)J j74$4AOrd(‘J’)K k75$4BOrd(‘K’)L l76$4COrd(‘L’)M m77$4DOrd(‘M’)N n78$4EOrd(‘N’)O o79$4FOrd(‘O’)P p80$50Ord(‘P’)Q q81$51Ord(‘Q’)R r82$52Ord(‘R’)S s83$53Ord(‘S’)T t84$54Ord(‘T’)U u85$55Ord(‘U’)V v86$56Ord(‘V’)W w87$57Ord(‘W’)X x88$58Ord(‘X’)Y y89$59Ord(‘Y’)Z z90$5AOrd(‘Z’)

Правая клавиатура при выключенной клавише NumLock:

Клавиша

Дес.
число

Шест.
число

Символическое
имя

Источник

События клавиатуры в JavaScript

При вводе с клавиатуры в javascript возникает сразу несколько событий, которые позволяют отследить коды нажатых клавиш и получить дополнительную полезную информацию для полного контроля над устройством ввода. Перейдём к теоретической и практической части.

События клавиатуры

В JS для клавиатуры используется 3 основных события:

как узнать код клавиши на клавиатуре. k 1. как узнать код клавиши на клавиатуре фото. как узнать код клавиши на клавиатуре-k 1. картинка как узнать код клавиши на клавиатуре. картинка k 1.

как узнать код клавиши на клавиатуре. k 2. как узнать код клавиши на клавиатуре фото. как узнать код клавиши на клавиатуре-k 2. картинка как узнать код клавиши на клавиатуре. картинка k 2.

Для избежания повторных вызовов «keydown» и «keypress» используйте свойство «repeat». Подробнее рассмотрим его позже.

В примерах использовался метод «addEventListener», но можно встретить и другие варианты:

Получение свойств событий

Для получения информации о клавише обратитесь к свойствам объекта «event».

Свойства key и keyCode

key — возвращает значение нажатой клавиши в виде строки. Например, «F», «5» или «Enter».

keyCode — возвращает числовой код. Для события «keypress» вернёт ASCII-код нажатого символа.

Примечание. Цифры на верхнем и боковом блоке клавиатуры имеют разные «keyCode».

Коды основных функциональных клавиш:

КлавишаKeykeyCode
ВводEnter13
СтеретьBackspace8
УдалитьDelete46
ПробелSpace32
ТабуляторTab9
EscEscape27
Стрелка влевоArrowLeft37
Стрелка вверхArrowUp38
Стрелка вправоArrowRight39
Стрелка внизArrowDown40
ShiftShift16
CtrlControl17
AltAlt18

Хорошей практикой в JavaScript считается использование «key», а не «keyCode». Это повышает читаемость кода и избавляет от необходимости запоминать соответствие кодов их значениям.

Свойства code и charCode

Актуальны только для события «keypress».

Не поддерживаются IE и старыми версиями других браузеров.

Свойства altKey, ctrlKey, shiftKey

Свойство type

Возвращает тип события в виде строки. Может использоваться, когда один обработчик применяется сразу для нескольких событий.

Свойство repeat

Возвращает логическое «true», если событие уже один раз отработало и автоматически вызывается снова. Подобная ситуация возникает при зажатии клавиши на длительное время — «keydown» и «keypress» начинают срабатывать повторно.

Пример проверки ввода в Input

Рассмотрим небольшой пример, в котором разрешим ввод в текстовое поле только нуля и единицы. Учитываем возможность стирания, удаления и табуляции.

Метод «preventDefault()» запрещает действие по умолчанию.

Применение предыдущего обработчика ко всем текстовыми полями на странице:

Коды клавиш

Поставьте курсор в поле ввода и нажмите любую клавишу:

Источник

Коды клавиш Delphi

Таблица кодов клавиш, которыми можно пользоваться при проверке параметра Key в обработчиках событий OnKeyDown и OnKeyUp :

Клавиша

число

Шест.

число

Символическое

Сравнение по

функции ordF1112$70VK_F1F2113$71VK_F2F3114$72VK_F3F4115$73VK_F4F5116$74VK_F5F6117$75VK_F6F7118$76VK_F7F8119$77VK_F8F9120$78VK_F9F10121$79VK_F10пробел32$20VK_SPACEBackSpace8$8VK_BACKTab9$9VK_TABEnter13$0DVK_RETURNShift16$10VK_SHIFTCtrl17$11VK_CONTROLAlt18$12VK_MENUCapsLock20$14VK_CAPITALEsc27$1BVK_ESCAPEInsert45$2DVK_INSERTPageUp33$21VK_PRIORPageDown34$22VK_NEXTEnd35$23VK_ENDHome36$24VK_HOMEСтрелка назад37$25VK_LEFTСтрелка вверх38$26VK_UPСтрелка вперед39$27VK_RIGHTСтрелка вниз40$28VK_DOWNDelete46$2EVK_DELETEPrintScreen44$2CVK_SNAPSHOTScrollLock145$91VK_SCROLLPause19$13VK_PAUSENumLock144$90VK_NUMLOCK0,)48$30Ord(‘0’)1!49$31Ord(‘1’)2@50$32Ord(‘2’)3#51$33Ord(‘3’)4$52$34Ord(‘4’)5%53$35Ord(‘5’)6^54$36Ord(‘6’)7&55$37Ord(‘7’)8*56$38Ord(‘8’)9(57$39Ord(‘9’)`

192$C0-_189$BD=+187$BB[ <219$DB]>221$DD:;186$BA‘”222$DE|220$DC,190$BE/?191$BFA a65$41Ord(‘A’)B b66$42Ord(‘B’)С с67$43Ord(‘С’)D d68$44Ord(‘D’)E e69$45Ord(‘E’)F f70$46Ord(‘F’)G g71$47Ord(‘G’)H h72$48Ord(‘H’)I i73$49Ord(‘I’)J j74$4AOrd(‘J’)K k75$4BOrd(‘K’)L l76$4COrd(‘L’)M m77$4DOrd(‘M’)N n78$4EOrd(‘N’)O o79$4FOrd(‘O’)P p80$50Ord(‘P’)Q q81$51Ord(‘Q’)R r82$52Ord(‘R’)S s83$53Ord(‘S’)T t84$54Ord(‘T’)U u85$55Ord(‘U’)V v86$56Ord(‘V’)W w87$57Ord(‘W’)X x88$58Ord(‘X’)Y y89$59Ord(‘Y’)Z z90$5AOrd(‘Z’)

Правая клавиатура при выключенной клавише NumLock:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *