номера клавиш на клавиатуре c
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 |
Редактор сочетаний клавиш (C++)
таблица сочетаний клавиш — это Windows ресурс C++, который содержит список сочетаний клавиш, известных как сочетания клавиш, и идентификаторы команд, связанные с ними. В программе можно использовать несколько таблиц сочетаний клавиш.
Обычно сочетания клавиш используются для ускорения доступа к командам программы, также доступным в меню или на панели инструментов. Но таблицу сочетаний клавиш можно также использовать, чтобы определить сочетания клавиш для команд, с которыми не связаны никакие объекты пользовательского интерфейса.
При использовании редактора сочетаний клавиш щелкните правой кнопкой мыши, чтобы открыть контекстное меню часто выполняемых команд. Доступные команды зависят от объекта, на который наведен указатель мыши.
Windows не позволяет создавать пустые таблицы ускорителей. Если вы создадите таблицу сочетаний клавиш, не содержащую записей, она будет автоматически удалена при сохранении.
Свойства ускорителя
Свойство ID ссылается на каждую запись таблицы сочетаний клавиш в коде программы. Эта запись является значением команды, которое программа получает, когда пользователь нажимает клавишу сочетания клавиш или сочетание клавиш. Чтобы сделать сочетание клавиш таким же, как пункт меню, сделайте его идентификатором таким же, пока идентификатор таблицы сочетаний клавиш совпадает с идентификатором для ресурса меню.
Каждый идентификатор ускорителя имеет три свойства: Модификатор, ключ и тип
Свойство Модификатор задает сочетания клавиш для управления ускорителем.
В окне » Свойства » свойство модификатора отображается как три отдельных логических свойства, все из которых можно контролировать независимо: ALT, CTRL и SHIFT.
Ниже приведены допустимые записи для свойства модификатора в таблице сочетаний клавиш:
Ключевое свойство задает фактический ключ для использования в качестве ускорителя.
Ниже приведены допустимые записи для ключевого свойства в таблице сочетаний клавиш:
Значение | Описание | |
---|---|---|
Целое число от 0 до 255 в десятичном формате. | Значение определяет, обрабатывается ли значение как ASCII или ANSI следующим образом: Ярлык для определения сочетания клавиш — щелкните правой кнопкой мыши запись или несколько записей в таблице сочетаний клавиш, а затем выберите пункт Следующая введенная клавиша и нажмите любую клавишу или сочетание клавиш на клавиатуре. Свойство Type определяет, интерпретируется ли сочетание клавиш, связанное с идентификатором ускорителя, как значение ключа ASCII/ANSI или сочетание виртуального ключа (VIRTKEY). Таблицы сочетаний клавишВ проекте C++ можно изменить таблицу сочетаний клавиш непосредственно с помощью редактирования на месте в редакторе сочетаний клавиш. Приведенные ниже процедуры относятся к использованию стандартных страниц свойств, однако как редактирование на месте, так и метод страницы свойств имеют одинаковый результат. Изменения, внесенные с помощью страниц свойств или с помощью редактирования на месте, немедленно отражаются в таблице сочетаний клавиш. Редактирование в таблице сочетаний клавишОткройте таблицу сочетаний клавиш, дважды щелкнув ее значок в представление ресурсов. Выберите запись в таблице и щелкните, чтобы активировать редактирование на месте. Выберите из раскрывающегося списка или введите на месте, чтобы внести изменения: В поле идентификатор выберите в списке или введите текст для изменения. Для модификатора выберите из списка. Для параметра ключ выберите из списка или введите текст для изменения. В поле тип выберите ASCII или VIRTKEY из списка. Поиск записи в открытой таблице сочетаний клавишОткройте таблицу сочетаний клавиш, дважды щелкнув ее значок в представление ресурсов. Затем просмотрите список и найдите запись. Добавление записи в таблицу сочетаний клавишОткройте таблицу сочетаний клавиш, дважды щелкнув ее значок в представление ресурсов. Щелкните правой кнопкой мыши в таблице сочетаний клавиш и выберите пункт Создать ускоритель или выберите пустую строку в нижней части таблицы. При необходимости измените Модификатор и тип, а затем нажмите клавишу Ввод. Убедитесь в том, что все определяемые сочетания клавиш уникальны. Можно назначить несколько сочетаний клавиш, назначенных одному и тому же идентификатору без некорректного воздействия, например, сочетания клавиш CTRL + P и F8 могут быть назначены ID_PRINTу. Однако наличие сочетания клавиш, назначенного более чем одному идентификатору, не будет работать правильно, например, сочетание клавиш CTRL + Z для ID_SPELL_CHECK и ID_THESAURUS. Удаление записи из таблицы сочетаний клавишОткройте таблицу сочетаний клавиш, дважды щелкнув ее значок в представление ресурсов. Выберите запись, которую нужно удалить, или удерживайте нажатой клавишу CTRL или SHIFT при выборе нескольких записей. Щелкните правой кнопкой мыши и выберите команду Удалить или перейдите в меню Правка > Удалить. Перемещение или копирование записи таблицы сочетаний клавиш в другой файл описания ресурсовОткройте таблицы сочетаний клавиш в обоих файлах скрипта ресурсов и выберите запись, которую нужно переместить. В меню Правка выберите команду Копировать или Вырезать. Выберите запись в файле сценария целевого ресурса и в меню Правка выберите Вставить. Для копирования и вставки можно также использовать сочетания клавиш. Изменение свойств нескольких сочетаний клавишОткройте таблицу сочетаний клавиш, дважды щелкнув ее значок в представление ресурсов. Выберите сочетания клавиш, которые необходимо изменить, удерживая нажатой клавишу CTRL при выборе каждого из них. Перейдите к окно свойств и введите значения, которые должны быть общими для всех выбранных ускорителей. КлавиатураПримечание: названия буквенных и цифровых клавиш точно такие же, как и сами символы этих клавиш. То есть, клавиша «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: для американской стандартной клавиатуры это клавиша ‘;:’. | |
VK_OEM_PLUS | BB | Windows 2000/XP: для любой страны/региона это клавиша ‘+‘. |
VK_OEM_COMMA | BC | Windows 2000/XP: для любой страны/региона это клавиша ‘,’. |
VK_OEM_MINUS | BD | Windows 2000/XP: для любой страны/региона это клавиша ‘—‘. |
VK_OEM_PERIOD | BE | Windows 2000/XP: для любой страны/региона это клавиша ‘.’. |
VK_OEM_2 | BF | Используется для разных знаков; он может изменяться клавиатурой. Windows 2000/XP: для американской стандартной клавиатуры это клавиша ‘/?’. |
VK_OEM_3 | C0 | Используется для разных знаков; он может изменяться клавиатурой. Windows 2000/XP: для американской стандартной клавиатуры это клавиша ‘` Скан-код: Ремаппинг клавиш на клавиатуреЧто такое Скан-кодСпецификация для Windows. Как определить Скан-код клавишиУзнать Скан-код необходимой для ремаппинга клавиши вы можете здесь, а если у вас супер новая клавиатура с кнопками космического происхождения, то отловить скан-код вы можете используя программу «KeyboardTest» от разработчика Passmark Software. Программка платная, но бесплатным триалом. Или OpenSource Программу SharpKeys. Она потребовалась для определения скан-кода левой «\», так как многие наивно полагали что сигналы у обеих одинаковые, а значит и не подлежат ремаппингу. На деле оказалось не так. И так, мы определили скан-код нашей незадачливой кнопки, теперь нам нужно найти скан-код «LShift». Его можно найти по данной выше ссылке и он равен: 2A.00 Ремаппинг клавишЕсть куча приложений которые делают этот ремаппинг, многие за базу принимают существующие скан-коды, многие не имеют сканера, что бы определить скан-код клавиши которой нет в базе. Да и устанавливать лишнее приложение очень не хотелось. По-гуглив я остановился на возможностях Windows. а точнее редактора реестра (Пуск-Выполнить: regedit). Или вышеупомянутую программу SharpKeys, которая имеет GUI и выполняет такую же замену в реестре 1. В ветке PS: Если нужно сделать ремаппинг не на всем ПК, а только в вашем сеансе, то значения необходимо менять в HKEY_CURRENT_USER\SYSTEM\CurrentControlSet\Control\Keyboard Layout UPD: Если вы боитесь работать в реесте, то создайте текстовый файл с расширением *.reg, и впишите туда следующее: UPD2: Перенос Скриншотов на
|