Следующие названия клавиш используются, когда Numlock выключен:
NumpadClear — та же кнопка, что и Numpad5 на клавиатуре
Эти названия клавиш используются при включенном Numlock’e:
С F1 по F24 — двенадцать или более функциональных клавиш, на большинстве клавиатур представлены в самом верхнем ряду.
AppsKey — клавиша, вызывающая контекстное меню файла/программы, как при правом клике мышкой.
LWin — левая клавиша «Windows»
RWin — правая клавиша «Windows»
Control (или Ctrl)
LControl (или LCtrl) — левый «Сontrol»
RControl (или RCtrl) — правый «Сontrol»
LAlt — левый «Alt»
RAlt — правый «Alt». Примечание: если на вашей клавиатуре вместо клавиши RAlt сделана клавиша AltGr, вы можете использовать следующую запись данной клавиши: ! Также заметим, что клавишу AltGr можно записать как сочетание клавиш «LControl .
Help — довольно редкая клавиша, присутствует далеко не на всех клавиатурах. И работает совсем не как F1.
Пример программы с использованием блока “Кнопка A, B или A+B нажаты”
Sleep — предупреждаем, что клавиша «Sleep» на некоторых клавиатурах не работает под этой записью.
Клавиши расширенных функций Мультимедийных и Интернет-клавиатур:
Запись вида SCnnn, где nnn — это сканкод клавиши, позволяет нам работать с остальными клавишами, не упоминавшимися выше. Подробнее об этом — см. ниже.
Возможна запись VKnn, где nn является шестнадцатиричным виртуальным кодом клавиши. Несмотря на то, что этот редко используемый метод поддерживается всеми версиями программы, только с версии 1.0.38.02 и выше для некоторых типов горячих клавиш реализовано предотвращение отслеживания их функцией «keyboard hook» (обработчик клавиатурных прерываний). Например, следующая комбинация клавиш не использует обработчик клавиатурных прерываний (keyboard hook), и как следствие может быть запущена нажатием как клавиши Home, так и NumpadHome:
^VK24::MsgBox Вы нажали Home или NumpadHome`, удерживая клавишу Control.
Джойстик
Joy1 — Joy32: кнопки джойстика. Для удобства определения номеров кнопок вашего джойстика был создан специальный тест-скрипт (см. ссылку в оригинале статьи). Обратите внимание, что такие префиксы, как ^ (control) и + (shift) здесь не поддерживаются (тем не менее, команда GetKeyState может использоваться). Также обратите внимание, что нажатия клавиш джойстика всегда обращены напрямую в активное окно, поддерживающее приём таких сигналов.
Несмотря на то, что следующие управляющие элементы джойстика не могут использоваться как горячие клавиши, их можно использовать при помощи команды GetKeyState:
JoyX, JoyY, и JoyZ: где X (горизонтальная), Y (вертикальная), и Z (высота/глубина) — оси координат джойстика.
JoyR: руль джойстика или 4-ая ось джойстика.
JoyU и JoyV: 5-ая и 6-ая оси джойстика.
JoyPOV: the point-of-view (hat) control (POV control, «шляпка» или «переключатель видов»; например, вид глазами игрока).
Уроки Arduino. Расширенное управление кнопкой
JoyName: название джойстика.
JoyButtons: количество кнопок, поддерживаемых джойстиком (не всегда точное).
JoyAxes: количество направлений, поддерживаемых джойстиком.
JoyInfo: генерирует строку, состоящую из нуля или более знаков, иллюстрирующих возможности джойстика: Z (имеется Z направление), R (имеется R направление), U (имеется U направление), V (имеется V направление), P (имеется POV control), D (POV control имеет ограниченное количество дискретных/промежуточных настроек), C (POV control передает непрерывные/точные данные). Пример строки: ZRUVPD.
Несколько джойстиков: если вы используете несколько джойстиков одновременно, то для более точной адресации команды используйте при записи номер джойстика перед именем клавиши джойстика. Например запись 2joy1 будет обозначать первую кнопку второго джойстика.
Примечание: если у вас возникли проблемы с определением скриптами вашего джойстика, вы можете попробовать изменить номер джойстика с 1 на что-нибудь другое, даже несмотря на то, что к компьютеру у вас подключен всего один. Неизвестно, по каким мистическим причинам, но иногда это вместе с использованием нашего тестового скрипта даёт положительный результат.
Использование джойстика как мыши: специальный скрипт превращает ваш джойстик в мышь (см. ссылку в оригинале статьи).
Дистанционные пульты управления
Получение сигналов от дистанционных пультов управления с помощью специального клиентского скрипта WinLIRC — см. ссылку в оригинале статьи.
Специальные клавиши
Если ваши клавиатура или мышь имеют клавиши, не перечисленные выше, вы всё равно имеете возможность использовать их в качестве горячих клавиш, используя следующий метод:
- Вначале убедитесь, что у вас проинсталлирован обработчик клавиатурных прерываний (keyboard hook) — #InstallKeybdHook.
- Запускаем этот скрипт, и затем двойным кликом по его иконке в системном трее открываем его главное окно.
- Затем нажимаем ту самую клавишу, которую пытаемся определить.
- Далее открываем меню окошка скрипта «View — Key history and script info» и прокручиваем записи до самого низа.
- Где-то внизу этого лога должны быть записи по нажатию-отпусканию нашей искомой клавиши. Сам лог обновляется нажатием клавиши F5. Примечание: если после нажатия искомой клавиши никаких записей в логе не появилось, значит такая клавиша не распознаётся данной программой. В этом случае вы не можете использовать данную клавишу как горячую, т.к. либо драйвер вашей клавиатуры, либо сама её «железная» составляющая даёт сигнал слишком низкого уровня, недоступного для AutoHotkey. В случае со «злобными» драйверами, вы можете попробовать либо перенастроить сами «родные» драйвера, либо заменить их на другие, более дружественые, например такие, как дефолтные клавиатурные драйвера Windows.
- Если ваша клавиша успешно определилась, обратите внимание на трехзначное шестнадцатеричное число во второй колонке лога (например, 159).
- Теперь, чтобы использовать данную клавишу как горячую, следуйте данному примеру:
SC159:: ; Замените 159 на индекс вашей клавиши. MsgBox, Вы нажали клавишу %A_ThisHotKey% Return
Как альтернативный способ или в добавление к описанному выше: для переназначения какой-либо клавиши в нашу «искомую» клавишу, используйте запись вида #c::Send . Замените 159 на индекс вашей клавиши, определённый вышеописанным методом. При необходимости замените буквы FF на те, что отображены в первой колонке лога «View-Key history» (код вашей виртуальной клавиши).
Источник: ahk-wiki.ru
JavaScript: Информация О Нажатой Клавише
В данной статье рассмотрим, как получить информацию о нажатой клавише клавиатуры или кнопки мыши, а также как выполнять необходимые действия (нужный код) при нажатии определенных сочетаний клавиш или кнопок (правый/левый клик мыши).
Чтобы получить информацию, о том какая кнопка клавиатуры нажимается в данный момент, воспользуемся следующим кодом:
function keyPress(e) < let keyNum; if (window.event) < keyNum = window.event.keyCode; >else if (e) < keyNum = e.which; >console.log(keyNum); > document.onkeydown = keyPress;
Номер кнопки находится в переменной keyNum
Узнать keyCode кнопки можете здесь:
Выполнение кода в зависимости от нажатой клавиши
Давайте теперь будем выполнять необходимые действия в зависимости от нажатой клавиши
Для этой задачи воспользуемся оператором switch .
В конструкции case укажите номер кнопки, для которой будет выполнен необходимый код.
document.onkeydown = function (e) < switch (e.keyCode) < case 49: console.log(«Нажата единица»); break; case 50: console.log(«Нажата двойка»); break; case 32: console.log(«Нажат пробел»); break; case 9: console.log(«Нажат tab»); break; case 16: console.log(«Нажат shift»); break; default: console.log(e.keyCode); >>;
Вместо console.log выполняйте необходимые действия.
Если была нажата клавиша, которой нет в списке, то для неё можете выполнить другой код. Писать в default.
Как отследить комбинации нажатых клавиш
Отследить нажатие CTRL, SHIFT и ALT можно также другими способами (данный способ необходим чтобы отследить комбинации).
Например, отследить нажатие CTRL можно следующим образом:
document.addEventListener(«keydown», function (e) < if (e.ctrlKey) < console.log(«Был нажат CTRL»); document.getElementById(«btnClick»).textContent = «CTRL»; >>);
Используя всю ранее полученную информацию, определим нажатую комбинацию клавиш, например, CTRL + F5 :
document.addEventListener(«keydown», function (e) < e.preventDefault(); if (e.ctrlKey event.key == «F5») < console.log(«Была нажата комбинация клавиш CTRL + F5»); >>);
Как вы могли заметить, обращаться к клавишам в JavaScript можно несколькими способами. Например, следующие строки кода позволяют нам получить один и тот же результат:
event.key == «F5» аналогично e.keyCode == 116
Как определить нажатие клавиши
JavaScript — объектно-ориентированный язык программирования, основанный на скриптах. Чаще всего используется для задания программного когда реакций страниц на действия пользователя. Наличие java-сценариев на странице слегка утяжеляет их объем, поэтому не рекомендуется использовать сложные программные конструкции.
Статьи по теме:
- Как определить нажатие клавиши
- Как узнать код клавиши
- Как отловить нажатие
Вам понадобится
- — права администратора.
Инструкция
Для распознавания нажатия на какую-либо кнопку клавиатуры используется событие onkeydown, которое входит в состав страницы, в тег body. Логика написания кода для данного события довольно простая: onKeyDown=»ТекстОбработчика», причем значение в кавычках может быть как самостоятельный код, так и вызов функции. Для задания реакции на нажатие клавиши в виде появления текстового сообщения напишите следующий код: body onkeydown=»alert(‘Нажата клавиша’);» . В данном случае в качестве текста обработчика выступает функция alert()/
Чтобы определить, какая именно кнопка была нажата нужно набрать такой код: body onkeydown=»alert(event.keyCode);». В этом фрагменте кода происходит обращение к объекту event, а точнее, к его свойству keyCode, которое возвращает цифровой код нажатой кнопки. Если вам на сайте нужно определить, какая была нажата клавиша, интегрируйте данный код на ту страничку, на которой все это должно осуществиться.
Для распознавания сочетания клавиш необходимо несколько усложнить код, добавив условие: body onkeydown=»if(event.ctrlKey event.keyCode == 71) alert(‘Ctrl+G’);». То есть, если коды нажатых кнопок соответствуют «71», нужно вывести текстовое сообщение «Ctrl+G». Естественно, вместо функции alert вы можете написать свою собственную реакцию. Как правило, каждый веб дизайнер старается подстроить конфигурацию сайта под свои нужды, поэтому методы отображения могут быть совершенно разные.
В javascript также присутствует обработчик onkeypress, который имеет сходное назначение. Основное отличие этого обработчика заключается в том, что для совершения данного события (и последующей реакции обработчика), кнопка должна быть не только нажата, но и затем отпущена.
Источник: www.kakprosto.ru