Клавиатура
Примечание: названия буквенных и цифровых клавиш точно такие же, как и сами символы этих клавиш. То есть, клавиша «b» записывается как b, а клавиша «5» как 5.
Следующие названия клавиш используются, когда Numlock выключен:
Эти названия клавиш используются при включенном Numlock’e:
Клавиши расширенных функций Мультимедийных и Интернет-клавиатур:
Возможна запись VKnn, где nn является шестнадцатиричным виртуальным кодом клавиши. Несмотря на то, что этот редко используемый метод поддерживается всеми версиями программы, только с версии 1.0.38.02 и выше для некоторых типов горячих клавиш реализовано предотвращение отслеживания их функцией «keyboard hook» (обработчик клавиатурных прерываний). Например, следующая комбинация клавиш не использует обработчик клавиатурных прерываний (keyboard hook), и как следствие может быть запущена нажатием как клавиши Home, так и NumpadHome:
Джойстик
Несмотря на то, что следующие управляющие элементы джойстика не могут использоваться как горячие клавиши, их можно использовать при помощи команды GetKeyState:
JoyR: руль джойстика или 4-ая ось джойстика.
JoyU и JoyV: 5-ая и 6-ая оси джойстика.
JoyPOV: the point-of-view (hat) control (POV control, «шляпка» или «переключатель видов»; например, вид глазами игрока).
JoyName: название джойстика.
JoyButtons: количество кнопок, поддерживаемых джойстиком (не всегда точное).
JoyAxes: количество направлений, поддерживаемых джойстиком.
JoyInfo: генерирует строку, состоящую из нуля или более знаков, иллюстрирующих возможности джойстика: Z (имеется Z направление), R (имеется R направление), U (имеется U направление), V (имеется V направление), P (имеется POV control), D (POV control имеет ограниченное количество дискретных/промежуточных настроек), C (POV control передает непрерывные/точные данные). Пример строки: ZRUVPD.
Несколько джойстиков: если вы используете несколько джойстиков одновременно, то для более точной адресации команды используйте при записи номер джойстика перед именем клавиши джойстика. Например запись 2joy1 будет обозначать первую кнопку второго джойстика.
Примечание: если у вас возникли проблемы с определением скриптами вашего джойстика, вы можете попробовать изменить номер джойстика с 1 на что-нибудь другое, даже несмотря на то, что к компьютеру у вас подключен всего один. Неизвестно, по каким мистическим причинам, но иногда это вместе с использованием нашего тестового скрипта даёт положительный результат.
Использование джойстика как мыши: специальный скрипт превращает ваш джойстик в мышь (см. ссылку в оригинале статьи).
Дистанционные пульты управления
Специальные клавиши
Если ваши клавиатура или мышь имеют клавиши, не перечисленные выше, вы всё равно имеете возможность использовать их в качестве горячих клавиш, используя следующий метод:
Коды виртуальных клавиш
Нижеследующая таблица показывает названия именованных констант, шестнадцатеричные значения, и эквиваленты мыши или клавиатуры для кодов виртуальных клавиш, используемых системой. Коды перечисляются в нарастающем порядке.
Windows 2000/XP: для американской стандартной клавиатуры это клавиша ‘;:’.
Windows 2000/XP: для американской стандартной клавиатуры это клавиша ‘/?’.
Windows 2000/XP: для американской стандартной клавиатуры это клавиша ‘`
Keys Перечисление
Определение
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Задает коды и модификаторы клавиш.
Это перечисление имеет атрибут FlagsAttribute, который разрешает побитовое сочетание значений его элементов.
Клавиша контекстного меню (клавиатура Microsoft Natural).
Клавиша браузера «Назад».
Клавиша браузера «Избранное».
Клавиша браузера «Вперед».
Клавиша браузера «Главная».
Клавиша браузера «Обновить».
Клавиша браузера «Поиск».
Клавиша браузера «Остановить».
Клавиша десятичного разделителя.
Клавиша СТРЕЛКА ВНИЗ.
Клавиша окончательного режима IME.
Клавиша режима IME Hanguel (поддерживается для обеспечения совместимости; используйте клавишу HangulMode ).
Клавиша режима «Хангыль» редактора метода ввода.
Клавиша режима «Ханджа» редактора метода ввода.
Клавиша принятия IME, заменяет клавишу IMEAceept.
Клавиша принятия IME. Является устаревшей, вместо нее используется клавиша IMEAccept.
Клавиша преобразования IME.
Клавиша изменения режима IME.
Клавиша без преобразования IME.
Клавиша режима «Джунджа» редактора метода ввода.
Клавиша режима «Кана» редактора метода ввода.
Клавиша режима «Кандзи» редактора метода ввода.
Битовая маска для извлечения кода клавиши из значения клавиши.
Клавиша запуска первого приложения.
Клавиша запуска второго приложения.
Клавиша запуска приложения почты.
Левая клавиша CTRL.
Клавиша СТРЕЛКА ВЛЕВО.
Левая клавиша SHIFT.
Левая клавиша с логотипом Windows (клавиатура Microsoft Natural Keyboard).
Средняя кнопка мыши (трехкнопочная мышь).
Клавиша «Следующая запись».
Клавиша приостановки воспроизведения.
Клавиша «Предыдущая запись».
Клавиша остановки воспроизведения.
Битовая маска для извлечения модификаторов из значения клавиши.
Константа, зарезервированная для будущего использования.
Нет нажатых клавиш.
Клавиша 0 на цифровой клавиатуре.
Клавиша 1 на цифровой клавиатуре.
Клавиша 2 на цифровой клавиатуре.
Клавиша 3 на цифровой клавиатуре.
Клавиша 4 на цифровой клавиатуре.
Клавиша 5 на цифровой клавиатуре.
Клавиша 6 на цифровой клавиатуре.
Клавиша 7 на цифровой клавиатуре.
Клавиша 8 на цифровой клавиатуре.
Клавиша 9 на цифровой клавиатуре.
Клавиша OEM с угловой скобкой или обратной косой чертой на клавиатуре RT со 102 клавишами.
Клавиша OEM с закрывающей квадратной скобкой на клавиатуре со стандартной раскладкой «США».
Клавиша OEM с запятой на клавиатуре для любой страны или региона.
Клавиша OEM со знаком минус на клавиатуре для любой страны или региона.
Клавиша OEM с открывающей квадратной скобкой на клавиатуре со стандартной раскладкой «США».
Клавиша OEM с точкой на клавиатуре для любой страны или региона.
Клавиша OEM с вертикальной чертой на клавиатуре со стандартной раскладкой «США».
Клавиша OEM со знаком плюс на клавиатуре для любой страны или региона.
Клавиша OEM со знаком вопроса на клавиатуре со стандартной раскладкой «США».
Клавиша OEM с одинарной/двойной кавычкой на клавиатуре со стандартной раскладкой «США».
Клавиша OEM с двоеточием на клавиатуре со стандартной раскладкой «США».
Клавиша OEM со знаком тильды на клавиатуре со стандартной раскладкой «США».
Используется для передачи символов в Юникоде в виде нажатия клавиш. Значение клавиши пакета является младшим словом 32-разрядного виртуального значения клавиши, используемого для бесклавиатурных методов ввода.
Клавиша PRINT SCREEN.
Клавиша PROCESS KEY.
Правая кнопка мыши.
Правая клавиша CTRL.
Клавиша СТРЕЛКА ВПРАВО.
Правая клавиша ALT.
Правая клавиша SHIFT.
Правая клавиша с логотипом Windows (клавиатура Microsoft Natural Keyboard).
Клавиша SCROLL LOCK.
Клавиша выбора файла мультимедиа.
Клавиша перевода компьютера в спящий режим.
Клавиша PRINT SCREEN.
Клавиша СТРЕЛКА ВВЕРХ.
Клавиша уменьшения громкости.
Клавиша выключения звука.
Клавиша увеличения громкости.
Первая кнопка мыши (пятикнопочная мышь).
Вторая кнопка мыши (пятикнопочная мышь).
Примеры
В следующем примере кода событие используется KeyDown для определения типа символа, введенного в элемент управления.
Комментарии
KeysКласс содержит константы для обработки ввода с клавиатуры. Члены перечисления Keys состоят из кода ключа и набора модификаторов, Объединенных в одно целое значение. В интерфейсе прикладного программирования (API) Win32 значение ключа имеет две половины, а старшие биты содержат код ключа (то же, что и код виртуального ключа Windows), а младшие биты, представляющие модификаторы ключа, такие как SHIFT, CONTROL и ALT.
Не используйте значения из этого перечисления для Объединенных побитовых операций. Значения в перечислении не являются взаимоисключающими.
Это перечисление не дает возможности проверить, активированы ли в настоящее время клавиши CAPS LOCK или NUM LOCK. Чтобы определить, активированы ли эти ключи, можно использовать один из следующих методов.
В следующей таблице показаны ключевые значения кода, представленные двумя перечисляемыми значениями, представляющими общие ключи изготовителя оборудования (OEM) и более конкретные связи с клавиатурой США.
Шестнадцатеричное значение | Клавиатура США | Общий изготовитель оборудования |
---|---|---|
BA | оемсемиколон | OEM1 |
BF | оемкуестион | Oem2 |
C0 | оемтилде | Oem3 |
DB | оемопенбраккетс | Oem4 |
DC | оемпипе | Oem5 |
DD | оемклосебраккетс | Oem6 |
DE | оемкуотес | Oem7 |
E2 | оембаккслаш | Oem102 |
Коды клавиш Delphi
Таблица кодов клавиш, которыми можно пользоваться при проверке параметра Key в обработчиках событий OnKeyDown и OnKeyUp :
Клавиша
число
Шест.
число
Символическое
Сравнение по
функции ord
Правая клавиатура при выключенной клавише NumLock:
Список кодов клавиш JavaScript – коды клавиш событий нажатия клавиш для ввода, пробела, возврата и т.д.
События клавиатуры JavaScript помогают фиксировать действия пользователя с клавиатурой.
Как и многие другие события JavaScript, KeyboardEvent интерфейс предоставляет все необходимые свойства и методы для обработки каждого нажатия клавиши, которое пользователь делает с помощью клавиатуры.
Было написано много статей о том, как они работают и как их использовать. В то же время W3.org продолжает обновлять спецификацию, вводя новые свойства, исключая существующие и отмечая определенный код как устаревший.
Из-за этого веб-разработчикам важно продолжать изучать KeyboardEvent интерфейс, чтобы знать, что именно им следует использовать, а что больше не актуально.
В этой статье мы узнаем о:
Надеюсь, тебе понравится.
Интерфейс KeyboardEvent предоставляет информацию с использованием определенных констант, свойств и одного метода (по состоянию на январь 2021 г.). Он расширяет UIEvent интерфейс, который в конечном итоге расширяет Event интерфейс.
Вы можете добавить каждый из этих типов событий к элементу или document объекту HTML с помощью addEventListener метода. Вот пример прослушивания keydown события для элемента с идентификатором ‘type-here’:
Если вы печатаете event объект в консоли браузера, вы увидите все его свойства и методы наряду с теми, которые он наследует от UIEvent и Event интерфейсов.
Я нажал клавишу a во время обработки keyup события
Прежде чем мы пойдем дальше, как насчет игровой площадки для изучения всех событий клавиатуры, их свойств, характеристик и так далее? Я думаю, будет здорово использовать его вместе с этой статьей и не только.
Просто наведите курсор на любое место в приложении, встроенном ниже, и введите любую клавишу, чтобы увидеть контекстную информацию о нем.
Вы также можете отфильтровать нужные события, сняв флажки вверху. Так что попробуйте:
Игровая площадка событий клавиатуры
Если у вас есть какие-либо проблемы с доступом к указанной выше игровой площадке, вы можете получить доступ к этому инструменту прямо здесь: https://keyevents.netlify.app/ И вы можете найти исходный код демонстрации здесь: https://github.com/ atapas / js-keyevents-demo
Если все три события привязаны к элементу DOM, порядок запуска будет следующим:
Среди этих событий наиболее часто используемым событием клавиатуры является (или должно быть), keydown потому что:
keydown против keyup
Со всем этим объяснением, keydown событие является явным победителем и должно стать самым популярным (используемым) ключевым типом события.
Это вопрос на миллиард долларов! Самый короткий ответ – это зависит от обстоятельств. Но на чем? Это зависит от:
Но прежде чем мы туда доберемся, давайте посмотрим на предварительный просмотр некоторых полезных свойств и методов KeyboardEvent интерфейса.
Последние три свойства устарели, и вам следует использовать это key свойство. key Свойство имеет широкую поддержку браузера.
Итак, пока вы не используете какие-либо старые браузеры, event.key свойства должно быть достаточно, чтобы вы могли идентифицировать ключ. Если вам необходимо поддерживать более старый браузер, лучшим вариантом будет event.which свойство.
Если ваш код использует какие-либо из устаревших свойств и у вас есть возможность реорганизовать этот код, всегда лучше пойти на это.
Изменить ключи
Ключевые комбинации
Мы можем комбинировать несколько клавиш и выполнять действия на основе сочетаний клавиш. Фрагмент кода ниже показывает, как объединить Control и z ключ для определения действия:
Вот еще один пример, демонстрирующий еще несколько комбинаций клавиш. Пожалуйста, попробуйте:
Попробуйте комбинации клавиш
Имя ключа | event.which | event.key | event.code | Ноты |
---|---|---|---|---|
Backspace | 8 | Backspace | Backspace | |
вкладка | 9 | Вкладка | Вкладка | |
войти | 13 | Войти | Войти | |
сдвиг (слева) | 16 | сдвиг | ShiftLeft | event.shiftKey правда |
сдвиг (вправо) | 16 | сдвиг | ShiftRight | event.shiftKey правда |
ctrl (слева) | 17 | Контроль | ControlLeft | event.ctrlKey правда |
ctrl (справа) | 17 | Контроль | ControlRight | event.ctrlKey правда |
alt (слева) | 18 | Все | AltLeft | event.altKey правда |
alt (справа) | 18 | Все | AltRight | event.altKey правда |
пауза / перерыв | 19 | Пауза | Пауза | |
Caps Lock | 20 | CapsLock | CapsLock | |
побег | 27 | Побег | Побег | |
пространство | 32 | Космос | event.key Значение представляет собой единое пространство. | |
страница вверх | 33 | PageUp | PageUp | |
листать вниз | 34 | Листать вниз | Листать вниз | |
конец | 35 | Конец | Конец | |
Главная | 36 | Главная | Главная | |
стрелка влево | 37 | Стрелка влево | Стрелка влево | |
стрелка вверх | 38 | ArrowUp | ArrowUp | |
правая стрелка | 39 | Стрелка вправо | Стрелка вправо | |
стрелка вниз | 40 | Стрелка вниз | Стрелка вниз | |
Снимок экрана | 44 | Снимок экрана | Снимок экрана | |
вставить | 45 | Вставить | Вставить | |
удалять | 46 | удалять | удалять | |
0 | 48 | 0 | Цифра 0 | |
1 | 49 | 1 | Цифра 1 | |
2 | 50 | 2 | Цифра 2 | |
3 | 51 | 3 | Цифра 3 | |
4 | 52 | 4 | Цифра 4 | |
5 | 53 | 5 | Цифра 5 | |
6 | 54 | 6 | Цифра 6 | |
7 | 55 | 7 | Цифра 7 | |
8 | 56 | 8 | Цифра 8 | |
9 | 57 | 9 | Цифра 9 | |
а | 65 | а | KeyA | |
б | 66 | б | KeyB | |
c | 67 | c | KeyC | |
d | 68 | d | KeyD | |
является | 69 | является | KeyE | |
ж | 70 | ж | KeyF | |
g | 71 | g | KeyG | |
час | 72 | час | KeyH | |
i | 73 | i | KeyI | |
j | 74 | j | KeyJ | |
k | 75 | k | KeyK | |
л | 76 | л | KeyL | |
m | 77 | m | KeyM | |
п | 78 | п | KeyN | |
О | 79 | О | KeyO | |
p | 80 | p | KeyP | |
q | 81 | q | KeyQ | |
р | 82 | р | KeyR | |
s | 83 | s | KeyS | |
т | 84 | т | KeyT | |
u | 85 | u | KeyU | |
v | 86 | v | KeyV | |
в | 87 | в | KeyW | |
Икс | 88 | Икс | KeyX | |
и | 89 | и | KeyY | |
с участием | 90 | с участием | KeyZ | |
клавиша левого окна | 91 | Мета | MetaLeft | event.metaKey правда |
клавиша правого окна | 92 | Мета | MetaRight | event.metaKey правда |
клавиша выбора (контекстное меню) | 93 | Контекстное меню | Контекстное меню | |
цифровая клавиатура 0 | 96 | 0 | Numpad0 | |
цифровая клавиатура 1 | 97 | 1 | Numpad1 | |
цифровая клавиатура 2 | 98 | 2 | Numpad2 | |
цифровая клавиатура 3 | 99 | 3 | Numpad3 | |
цифровая клавиатура 4 | 100 | 4 | Numpad4 | |
цифровая клавиатура 5 | 101 | 5 | Numpad5 | |
цифровая клавиатура 6 | 102 | 6 | Numpad6 | |
цифровая клавиатура 7 | 103 | 7 | Numpad7 | |
цифровая клавиатура 8 | 104 | 8 | Numpad8 | |
цифровая клавиатура 9 | 105 | 9 | Numpad9 | |
умножать | 106 | * | NumpadMultiply | |
Добавить | 107 | + | NumpadAdd | |
вычесть | 109 | – | Numpad: вычесть | |
десятичная точка | 110 | . | NumpadDecimal | |
делить | 111 | / | NumpadDivide | |
f1 | 112 | F1 | F1 | |
f2 | 113 | F2 | F2 | |
f3 | 114 | F3 | F3 | |
f4 | 115 | F4 | F4 | |
f5 | 116 | F5 | F5 | |
f6 | 117 | F6 | F6 | |
f7 | 118 | F7 | F7 | |
f8 | 119 | F8 | F8 | |
f9 | 120 | F9 | F9 | |
f10 | 121 | F10 | F10 | |
f11 | 122 | F11 | F11 | |
f12 | 123 | F12 | F12 | |
числовой замок | 144 | NumLock | NumLock | |
блокировка прокрутки | 145 | ScrollLock | ScrollLock | |
отключение звука | 173 | AudioVolumeMute | ⚠️ В event.which Firefox значение 181. Также FF предоставляет кодовое значение как, VolumeMute | |
громкость звука убавить | 174 | AudioVolumeDown | ⚠️ В event.which Firefox значение 182. Также FF предоставляет кодовое значение как, VolumeDown | |
громкость звука | 175 | AudioVolumeUp | ⚠️ В event.which Firefox значение 183. Также FF предоставляет кодовое значение как, VolumeUp | |
проигрыватель медиа | 181 | LaunchMediaPlayer | ⚠️ Значение ️ event.which в Firefox равно 0 (без значения). Также FF предоставляет кодовое значение как, MediaSelect | |
запустить приложение 1 | 182 | LaunchApplication1 | ⚠️ Значение ️ event.which в Firefox равно 0 (без значения). Также FF предоставляет кодовое значение как, LaunchApp1 | |
запустить приложение 2 | 183 | LaunchApplication2 | ⚠️ Значение ️ event.which в Firefox равно 0 (без значения). Также FF предоставляет кодовое значение как, LaunchApp2 | |
точка с запятой | 186 | ; | Точка с запятой | ⚠️ event.which Значение 59 в Firefox |
знак равенства | 187 | Равно | ⚠️ event.which Значение 61 в Firefox | |
пункт | 188 | , | Пункт | |
рывок | 189 | – | Minus | ⚠️ event.which Значение 173 в Firefox |
period | 190 | . | Period | |
косая черта | 191 | / | Слэш | |
Обратная цитата / серьезный акцент | 192 | ` | Обратная цитата | |
открытая скобка | 219 | [ | Кронштейн: Левый | |
обратная косая черта | 220 | Обратная косая черта | ||
закрывающая скобка | 221 | ] | Кронштейн Правый | |
одиночная кавычка | 222 | ‘ | Цитата |
Пожалуйста, обратите внимание:
Так что насчет виртуальных клавиатур, например, использования наших мобильных телефонов или планшетов или любых других устройств ввода?
В спецификации сказано, что если виртуальная клавиатура имеет такое же расположение клавиш и функциональность, что и стандартная клавиатура, то она должна иметь соответствующий атрибут кода. В противном случае он не вернет правильное значение.
На этом пока все. Спасибо, что дочитали до этого места! Подключимся. Вы можете @ меня в Twitter (@tapasadhikary) с комментариями или не стесняйтесь подписываться.
Научитесь программировать бесплатно. Учебная программа с открытым исходным кодом freeCodeCamp помогла более 40 000 человек получить работу в качестве разработчиков.Начать