Modo generico per rimappare ogni pulsante multimediale


13

Oggi ho provato a rimappare alcuni tasti multimediali della tastiera in funzioni più utili e non ci sono riuscito.

inserisci qui la descrizione dell'immagine

Il problema

  • Il produttore non fornisce un'utilità per associare ed eseguire comandi personalizzati.
    La mia tastiera precedente di Logitech aveva tali opzioni nel loro software SetPoint
  • I codici chiave (o scancode) non sono stati riconosciuti dalla maggior parte dei programmi che ho usato per catturare i codici chiave sottostanti.

    Ad esempio lo strumento altrimenti eccellente SharpKeys ha una modalità di cattura in cui ti dice quale tasto hai appena premuto. Mi ci è voluto un po 'di tempo per capire che mi diceva un codice chiave sbagliato Durante i miei test ho premuto il "pulsante a stella" in alto a destra e SharpKeys mi ha detto che questo è il tasto "D" con il suo codice chiave 00_20. Ma sarebbe il codice chiave corretto00_181

    Un altro tentativo è stato questo script AutoHotKey che non è riuscito a riconoscere le mie insolite chiavi multimediali

L'obiettivo

  • Trova i codici chiave corretti anche per pulsanti multimediali insoliti
  • Rimappare tutte le chiavi multimediali senza alcuna installazione di uno strumento o programma aggiuntivo. È accettabile una modifica del registro, l'uso di un driver già installato o una piccola app portatile

Risposte:


10

Questo è un modo generico per rimappare qualsiasi pulsante della tastiera. Anche quelli strani


  1. Utilizzare KeyCodes (portatile, 415 KB) per acquisire il codice chiave. Scarica, estrai e avvia KeyCodes3.exe. Premi il tuo misterioso pulsante e vedrai il codice chiave come numero decimale

    inserisci qui la descrizione dell'immagine

    Un modo alternativo era questo script AHK che utilizza un gancio per tastiera e "KeyHistory"

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

    inserisci qui la descrizione dell'immagine

  2. Convertire il numero da decimale a esadecimale: 171»AB

  3. Utilizzare la versione portatile di AutoHotKey per rimappare il pulsante.
    Scarica ed estrai da qualche parte la versione .zip di tua scelta. Nessuna installazione necessaria.
    Crea un nuovo file di testo e incollalo

    #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 indica il codice chiave virtuale seguito dal codice esadecimale che si desidera rimappare
    • ::è l'operatore di rimappatura. Sinistra è il grilletto, a destra è il tuo nuovo pulsante o azione
    • Send {<my_new_key>}potrebbe essere una chiave di questo elenco .
      In alternativa, è possibile eseguire un percorso personalizzato con il comando Esegui .
      Oppure, se si desidera eseguire nuovamente un pulsante multimediale, utilizzare {vkAB}come azione
  4. Crea un nuovo collegamento nella cartella di avvio automatico per avviare lo script AHK ad ogni avvio. Per esempio

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

Dopo il riavvio o l'avvio manuale dello script AHK, tutti i pulsanti vengono rimappati


Tutto ha funzionato tranne la mappatura di un tasto muto per eseguire un comando (ad esempio, vkAD::Run, c:\myapp.exenon ha funzionato per me), ho dovuto rimapparlo due volte per farlo funzionare, qualcosa di simile vkAD::F21e quindi un altro mapping:F21::Run, c:\myapp.exe
BornToCode

Il mio antivirus (ESET EndpointAntivirus) ha contrassegnato il download eseguibile come una minaccia.
PhilMacKay,

5

In breve: è possibile trovare il mapping delle chiavi multimediali nella seguente chiave di registro: "HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer \ AppKey"

Ad esempio, la chiave di posta di solito avvia l'app di posta predefinita.

HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer \ AppKey \ 15 \ RegisteredApp = "Posta"

Se desideri sostituirlo per aprire Blocco note,

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

(O cambiare HKLM se si desidera modificare per tutti gli utenti ecc.)

RegisteredApp significa che verrà chiamata l'app registrata per quella funzione. (Come Mail sopra)

Associazione Indica che verrà aperta l'app associata a un determinato tipo di file. Ad esempio, il tasto Media è registrato per impostazione predefinita su .cda, il che significa che l'app predefinita utilizzata per la riproduzione di CD musicali verrà aperta premendo quel tasto.

ShellExecute apre un programma particolare da eseguire.

Per maggiori dettagli leggi questo articolo


2
Si prega di citare le parti essenziali della risposta dai collegamenti di riferimento, in quanto la risposta può diventare non valida se le pagine collegate cambiano.
DavidPillill

Sono stato in grado di rimappare "Calculator" ma non "Media PLay / Pause".
PhilMacKay,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.