Загальний спосіб перевстановити кожну медіа-кнопку


13

Сьогодні я спробував перевстановити деякі клавіші медіа-клавіш на більш корисні функції, але цього не вдалося.

введіть тут опис зображення

Проблема

  • Виробник не надає утиліту для прив'язки та виконання спеціальних команд.
    У моєї попередньої клавіатури від Logitech були такі параметри в їх програмному забезпеченні SetPoint
  • Ключові коди (або коди сканування) не були розпізнані більшістю програм, які я використовував для лову основних кодів ключів.

    Наприклад, інакше чудовий інструмент SharpKeys має режим ловлі, де він повідомляє, яку клавішу ви тільки що натиснули. У мене знадобився певний час, щоб зрозуміти, що він сказав мені неправильний код ключа. Під час моїх тестів я натискав "зіркову кнопку" у верхньому правому куті, і SharpKeys каже мені, що це ключ "D" з його ключовим кодом 00_20. Але правильний код ключа був би00_181

    Ще одна спроба - це сценарій AutoHotKey, який також не зміг розпізнати мої незвичайні медіа-ключі

Завдання

  • Знайдіть правильні коди ключів навіть для незвичайних кнопок медіа
  • Перезавантажте всі мультимедійні клавіші без встановлення додаткового інструменту чи програми. Допустимо налаштування реєстру, використання вже встановленого драйвера або невеликого портативного додатка

Відповіді:


10

Це загальний спосіб перевстановити будь-які кнопки клавіатури. Навіть дивні


  1. Використовуйте KeyCodes (портативний, 415 Кб), щоб зловити код ключа. Завантажте, витягніть та запустіть KeyCodes3.exe. Натисніть таємничу кнопку, і ви побачите код ключа у вигляді десяткового числа

    введіть тут опис зображення

    Альтернативним способом був цей сценарій AHK, який використовує гачок клавіатури та "KeyHistory"

    #Persistent
    #InstallMouseHook
    #InstallKeybdHook
    while !(getKeyState("F1", "T"))
          KeyHistory
    return
    esc::exitapp
    

    введіть тут опис зображення

  2. Перетворіть число з десяткової в шістнадцяткову: 171»AB

  3. Використовуйте портативну версію AutoHotKey, щоб перезавантажити кнопку.
    Завантажте і витягніть кудись .zip версію, яку ви обрали. Інсталяція не потрібна.
    Створіть новий текстовий файл та вставте

    #NoEnv, #Persistent, #SingleInstance
    vkB5::return                ;music node button  181 » B5   do nothing
    vkAC::return                ;home button        172 » AC   do nothing
    vkAA::return                ;search button      170 » AA   do nothing
    vkAB::Run, c:\myapp.exe     ;star button        171 » AB   execute tool
    vkB4::Send {Volume_Mute}    ;mail button        180 » B4   mute/unmute
    
    • vk розшифровується як код віртуальної клавіші, а за ним - шістнадцятковий код ключа, який ви хочете перезаписати
    • ::є оператором перенастроювання. Зліва - це спусковий гачок, праворуч - ваша нова кнопка чи дія
    • Send {<my_new_key>}може бути будь-який ключ із цього списку .
      Крім того, ви можете виконати спеціальний шлях за допомогою команди Run .
      Або якщо ви хочете знову виконати медіа-кнопку, використовуйте {vkAB}як дію
  4. Створіть нову ярлик у папці автозапуску, щоб запустити сценарій AHK на кожному завантаженні. Наприклад

    "D:\Tools\AutoHotKey\AutoHotkey.exe" "D:\Tools\AutoHotKey\RemapKeys.ahk"
    

Після запуску або запуску вручну сценарію AHK всі кнопки перезавантажуються


Все працювало, за винятком відключення ключа для відключення звуку для запуску команди (наприклад vkAD::Run, c:\myapp.exe, не працювало для мене), мені довелося перезавантажувати її двічі, щоб змусити її працювати, щось на зразок, vkAD::F21а потім інше відображення:F21::Run, c:\myapp.exe
BornToCode

Мій антивірус (ESET EndpointAntivirus) позначив виконувану завантаження як загрозу.
PhilMacKay

5

Якщо коротко: відображення мультимедійних ключів можна знайти у такому ключі реєстру: "HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer \ AppKey"

Наприклад, ключ пошти зазвичай запускає програму пошти за замовчуванням.

HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer \ AppKey \ 15 \ RegisteredApp = "Пошта"

Якщо ви хочете замінити це, щоб відкрити Блокнот,

HKCU \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer \ AppKey \ 15 \ ShellExecute = "notepad.exe"

(Або змінити HKLM, якщо ви хочете змінити для всіх користувачів тощо)

RegisteredApp означає, що додаток, зареєстрований для цієї функції, буде викликано. (Як і Пошта вище)

Асоціація Означає, що додаток, пов’язаний із певним типом файлу, буде відкрито. Наприклад, наприклад, клавіатура Media зареєстрована за замовчуванням у форматі .cda, тобто додаток за замовчуванням, який використовується для відтворення музичних компакт-дисків, відкриється після натискання цієї клавіші.

ShellExecute відкриває певну програму, яку потрібно запустити.

Більш детально читайте цю статтю


2
Будь ласка, цитуйте основні частини відповіді із посилальних посилань (ив), оскільки відповідь може стати недійсною, якщо змінена сторінка (и) зміниться.
DavidPostill

Мені вдалося переробити "Калькулятор", але не "Медіа-плай / пауза".
PhilMacKay
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.