Сегодня я попытался переназначить некоторые клавиши клавиатуры на более полезные функции и не смог этого сделать.
Проблема
- Производитель не предоставляет утилиту для привязки и выполнения пользовательских команд.
Моя предыдущая клавиатура от Logitech имела такие опции в программном обеспечении SetPoint Коды клавиш (или сканкоды) не распознавались большинством программ, которые я использовал для отлова базовых кодов клавиш.
Например, в противном случае отличный инструмент SharpKeys имеет режим поймать , где он говорит вам , что ключ , который вы только что нажал. Мне потребовалось некоторое время, чтобы понять, что он сказал мне неправильный код клавиши. Во время тестов я нажал «звездочку» в правом верхнем углу, и SharpKeys сказал мне, что это клавиша «D» с ее кодом клавиши
00_20
. Но правильный код ключа будет00_181
Другой попыткой был скрипт AutoHotKey, который также не смог распознать мои необычные медиа клавиши
Задание
- Найдите правильные коды клавиш даже для необычных мультимедийных кнопок
- Переопределите все клавиши мультимедиа без установки дополнительного инструмента или программы. Подстройка реестра, использование уже установленного драйвера или небольшого портативного приложения приемлемо
vkAD::Run, c:\myapp.exe
, у меня не получалось), мне пришлось дважды переназначить его, чтобы заставить его работать, что-то вроде,vkAD::F21
а затем еще одно сопоставление:F21::Run, c:\myapp.exe
Вкратце: сопоставление мультимедийных ключей можно найти в следующем разделе реестра: «HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer \ AppKey»
Например, почтовый ключ обычно запускает почтовое приложение по умолчанию.
HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer \ AppKey \ 15 \ RegisteredApp = "Почта"
Если вы хотите заменить это, чтобы открыть Блокнот,
HKCU \ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ \ Microsoft \ Windows \ CurrentVersion \ Explorer \ AppKey \ 15 \ ShellExecute = "notepad.exe"
(Или измените HKLM, если вы хотите изменить для всех пользователей и т. Д.)
RegisteredApp означает, что будет вызвано приложение, зарегистрированное для этой функции. (Как почта выше)
Ассоциация Означает, что приложение, связанное с определенным типом файла, будет открыто. Например, клавиша Media по умолчанию зарегистрирована в .cda, то есть приложение по умолчанию, используемое для воспроизведения музыкальных компакт-дисков, будет открыто при нажатии этой клавиши.
ShellExecute открывает определенную программу для запуска.
Для более подробной информации читайте эту статью
источник