まず、Karabiner(以前のKeyRemap4MacBook)と呼ばれるサードパーティのキーボードリマッピングアプリケーションが必要です。アプリケーションは少しユーザーフレンドリーではありませんが、理論的には一度だけこれを行う必要があります。また、現時点ではMacOS Sierraでは機能しません...その点に注意してください。
さあ行こう...
Karabinerをインストールする
https://pqrs.org/osx/karabiner/index.html.en
カラビナを実行する
すべての機能が必要な場合は、ユーザー補助のアクセス許可を与える必要があります。
ヘルパーアプリケーション「EventViewer」を使用してキーコードを取得します
EventViewerを開いて、キーコード/アプリケーション/デバイスIDを取得します。
[メイン]タブに移動し、キーボード、Bluetoothリモートなどで再マップするキーを押します。この場合、Satechi BluetoothリモートでMedia-ForwardおよびMedia-Backのキーコードを確認できます(矢印キーを左/右に再マップしたい)。
先に進み、「ペーストボードにコピー」して、後で使用するためにテキスト文書に貼り付けます。ユースケースに応じて、[アプリ]タブまたは[デバイス]タブに移動できます。
キーの再マッピングを特定のアプリケーションに制限する場合は、特定のアプリケーションID(google chromeなど)用のマッピングルールを作成します。そのため、[アプリ]タブに移動して、目的のアプリケーションのアプリケーションIDを取得します(後でルールを作成するときに使用します)。
私の場合、これらのキーをSatechi Bluetoothリモートでのみ再マップし、既存のキーボードキーの動作を台無しにしたくないので、デバイス固有のルールを作成します。そこで、[デバイス]タブに移動します。
注意!!!アプリとデバイスの場合は、ルールで使用する完全なデバイス/アプリID文字列を取得できるように、テキストファイルにコピーして貼り付ける必要もあります。
ルールを構築する
キーコード、アプリID、デバイスIDをコピーして後で参照できるようにテキストファイルに貼り付けたので、EventViewerを閉じてメインアプリに戻ることができます。
デフォルトのルールはあまり面白くないので、カスタムルールを作成する必要がありますが、編集は private.xml
これにより、private.xmlを表示するファインダーウィンドウが起動します。好きなテキストエディタでprivate.xmlを開いてください。
これで、ルールを作成する準備ができました...
このファイルの形式に関するドキュメントはこちら:https :
//pqrs.org/osx/karabiner/xml.html.en
それぞれについて、最小値と<item>
が必要です。名前はあなたの名前です。識別子も自分で作成しますが、一意である必要があります。autogenは、ルール/マッピングを指定する場所です(つまり、対象のキーはキーfoo barを送信する必要があります)。 <name>
<identifier>
<autogen>
さらに興味深いのは、特定のアクティブなアプリケーションに対してのみルールを実行するように指定できることです(これは、MacOS Accessibilityパーミッションが作用する場所だと思います...そのためKarabinerはアクティブなウィンドウを決定できます)。これはで行われ<only>
ます。
また、(私にとって)興味深いの<device_only>
は、特定のキーボード(つまり、私のsatechi bluetoothリモート)に対してのみルールを作成できることです。詳細については、上記のリンクを参照してください。
とにかく。EventViewerから取得したキーコードID、デバイスID、およびアプリケーションIDを使用して、カスタムルールを作成します。
私のものは次のようになります。
<?xml version="1.0"?>
<root>
<item>
<name>Satechi Right</name>
<identifier>private.satechi.right</identifier>
<device_only>DeviceVendor::RawValue::0x05ac,DeviceProduct::RawValue::0x023c</device_only>
<autogen>__KeyToKey__ ConsumerKeyCode::MUSIC_NEXT_17, KeyCode::CURSOR_RIGHT</autogen>
</item>
<item>
<name>Satechi Left</name>
<identifier>private.satechi.left</identifier>
<device_only>DeviceVendor::RawValue::0x05ac,DeviceProduct::RawValue::0x023c</device_only>
<autogen>__KeyToKey__ ConsumerKeyCode::MUSIC_PREV_18, KeyCode::CURSOR_LEFT</autogen>
</item>
</root>
要約:2つのルール。Satechi Bluetoothリモートデバイスのみ。「次の」メディアボタンは右矢印にマップし、「前の」メディアボタンは左矢印にマップします。すべてのアプリケーションに適用されます。
ルールを読み込む
XMLファイルを保存します。Karabinerアプリに戻ります。[キーの変更]タブに移動します。左上の[XMLの再読み込み]をクリックします。新しいルールが表示されます。チェックボックスをオンにして、ルールを有効にします。新しいキーマッピングが期待どおりに機能することをテストします。
このアプリは間違いなくユーザーフレンドリーではありませんが、オプションを理解すると、私が望んでいたものを簡単にセットアップできるようになりました。Karabinerには少しバグがあります...再マッピングルールがまだ機能していても、イベントビューアーにイベントが表示されなくなることがありました...再起動が役立ちます。