Allgemeine Möglichkeit, jede Medientaste neu zuzuordnen

13

Heute habe ich versucht, einige Tastaturmedientasten nützlicheren Funktionen zuzuordnen, was jedoch nicht gelungen ist.

Geben Sie hier die Bildbeschreibung ein

Das Problem

  • Der Hersteller bietet kein Dienstprogramm zum Binden und Ausführen benutzerdefinierter Befehle.
    Meine vorherige Tastatur von Logitech hatte solche Optionen in ihrer SetPoint- Software
  • Die Schlüsselcodes (oder Scancodes) wurden von den meisten Programmen, mit denen ich die zugrunde liegenden Schlüsselcodes abfing, nicht erkannt.

    Zum Beispiel verfügt das ansonsten hervorragende Tool SharpKeys über einen Fangmodus, in dem Sie erfahren , welche Taste Sie gerade gedrückt haben. Es dauerte einige Zeit, bis mir klar wurde, dass mir ein falscher Schlüsselcode angezeigt wurde. Während meiner Tests drückte ich den "Sternknopf" oben rechts und SharpKeys sagte mir, dass dies der Schlüssel "D" mit seinem Schlüsselcode ist 00_20. Aber der richtige Schlüsselcode wäre00_181

    Ein weiterer Versuch war dieses AutoHotKey-Skript, das auch meine ungewöhnlichen Medienschlüssel nicht erkannte

Die Aufgabe

  • Finden Sie die richtigen Tastencodes auch für ungewöhnliche Medientasten
  • Ordnen Sie alle Medientasten neu zu, ohne dass ein zusätzliches Tool oder Programm installiert werden muss. Eine Registrierungsoptimierung, die Verwendung eines bereits installierten Treibers oder einer kleinen tragbaren App ist akzeptabel
Nixda
quelle

Antworten:

10

Dies ist eine generische Methode, um Tastaturtasten neu zuzuordnen. Sogar komische


  1. Verwenden Sie KeyCodes (portabel, 415 KB), um den Schlüsselcode abzufangen . Laden Sie KeyCodes3.exe herunter, extrahieren Sie es und starten Sie es. Drücken Sie Ihre mysteriöse Taste und Sie sehen den Schlüsselcode als Dezimalzahl

    Geben Sie hier die Bildbeschreibung ein

    Ein alternativer Weg war dieses AHK-Skript, das einen Tastaturhaken und "KeyHistory" verwendet.

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

    Geben Sie hier die Bildbeschreibung ein

  2. Konvertieren Sie die Zahl von dezimal nach hexadezimal: 171»AB

  3. Verwenden Sie die tragbare Version von AutoHotKey , um die Schaltfläche neu zuzuordnen.
    Laden Sie die ZIP-Version Ihrer Wahl herunter und extrahieren Sie sie irgendwo. Keine Installation erforderlich.
    Erstellen Sie eine neue Textdatei und fügen Sie sie ein

    #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 steht für virtuellen Schlüsselcode, gefolgt von Ihrem hexadezimalen Schlüsselcode, den Sie neu zuordnen möchten
    • ::ist der Remap-Operator. Links ist der Auslöser, rechts davon ist Ihre neue Schaltfläche oder Aktion
    • Send {<my_new_key>}könnte ein beliebiger Schlüssel aus dieser Liste sein .
      Alternativ können Sie mit dem Befehl Ausführen einen benutzerdefinierten Pfad ausführen .
      Wenn Sie eine Medienschaltfläche erneut ausführen möchten, verwenden Sie sie {vkAB}als Aktion
  4. Erstellen Sie eine neue Verknüpfung in Ihrem Autostart-Ordner, um Ihr AHK-Skript bei jedem Start zu starten. Zum Beispiel

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

Nach einem Neustart oder einem manuellen Start des AHK-Skripts werden alle Schaltflächen neu zugeordnet

Nixda
quelle
Alles funktionierte, außer das Zuordnen einer Stummschalttaste zum Ausführen eines Befehls (z. B. vkAD::Run, c:\myapp.exefunktionierte bei mir nicht). Ich musste ihn zweimal neu zuordnen, damit er funktioniert, so etwas wie eine vkAD::F21weitere Zuordnung:F21::Run, c:\myapp.exe
BornToCode
Mein Antivirus (ESET EndpointAntivirus) hat den ausführbaren Download als Bedrohung gekennzeichnet.
PhilMacKay
5

Kurz gesagt: Die Zuordnung von Multimedia-Schlüsseln finden Sie im folgenden Registrierungsschlüssel: "HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer \ AppKey"

Beispielsweise startet der Mail-Schlüssel normalerweise die Standard-Mail-App.

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

Wenn Sie dies ersetzen möchten, um Notepad zu öffnen,

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

(Oder ändern Sie HKLM, wenn Sie für alle Benutzer usw. ändern möchten.)

RegisteredApp bedeutet, dass die für diese Funktion registrierte App aufgerufen wird. (Wie Mail oben)

Zuordnung Bedeutet, dass die einem bestimmten Dateityp zugeordnete App geöffnet wird. Zum Beispiel ist die Medientaste standardmäßig auf .cda registriert, was bedeutet, dass die Standard-App zum Abspielen von Musik-CDs beim Drücken dieser Taste geöffnet wird.

ShellExecute öffnet ein bestimmtes Programm, das ausgeführt werden soll.

Weitere Informationen finden Sie in diesem Artikel

Denis Maslov
quelle
2
Bitte zitieren Sie die wesentlichen Teile der Antwort aus den Referenzlinks, da die Antwort ungültig werden kann, wenn sich die verlinkten Seiten ändern.
DavidPostill
Ich konnte "Calculator" neu zuordnen, aber nicht "Media PLay / Pause".
PhilMacKay