すべてのメディアボタンを再マッピングする一般的な方法


13

今日、私はいくつかのキーボードメディアキーをより便利な機能に再マッピングしようとしましたが、失敗しました。

ここに画像の説明を入力してください

問題

  • 製造元は、カスタムコマンドをバインドして実行するユーティリティを提供していません。
    Logicoolの以前のキーボードには、SetPointソフトウェアにそのようなオプションがありました
  • キーコード(またはスキャンコード)は、基になるキーコードをキャッチするために使用していたほとんどのプログラムで認識されませんでした。

    たとえば、他の点では優れたツールであるSharpKeysには、押したばかりのキーを通知するキャッチモードがあります。間違ったキーコードが表示されることに気付くまでに少し時間がかかりました。テスト中に右上の「スターボタン」を押したところ、SharpKeysから、これがキーコードのキー「D」であることがわかりました00_20。しかし、正しいキーコードは00_181

    もう1つの試みはこのAutoHotKeyスクリプトで、これも私の異常なメディアキーを認識できませんでした

タスク

  • 珍しいメディアボタンでも正しいキーコードを見つける
  • 追加のツールやプログラムをインストールせずに、すべてのメディアキーを再マップします。レジストリの微調整、既にインストールされているドライバーまたは小さなポータブルアプリの使用は許容されます

回答:


10

これは、キーボードのボタンを再マッピングするための一般的な方法です。変なものでも


  1. KeyCodes(ポータブル、415 KB)を使用してキーコードをキャッチします。KeyCodes3.exeをダウンロードして抽出し、起動します。謎のボタンを押すと、キーコードが10進数として表示されます

    ここに画像の説明を入力してください

    別の方法は、キーボードフックと「KeyHistory」を使用するこのAHKスクリプトでした。

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

    ここに画像の説明を入力してください

  2. 数値を10進数から16進数に変換します。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 仮想キーコードの後に​​、リマップする16進キーコードが続きます
    • ::再マップ演算子です。左がトリガー、右が新しいボタンまたはアクション
    • 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 2017年

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に登録されています。つまり、そのキーを押すと、音楽CDの再生に使用されるデフォルトのアプリが開きます。

ShellExecuteは、実行する特定のプログラムを開きます。

詳細については、この記事をお読みください


2
リンク先のページが変更されると回答が無効になる可能性があるため、参照リンクから回答の本質的な部分を引用してください。
DavidPostill

「電卓」は再マッピングできましたが、「メディアプレイ/一時停止」はできませんでした。
PhilMacKay 2017年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.