やりたいこと
※ちなみにJISキーボードです
- MacにWindowsキーボードを繋いで以下のキーを変換する
- CapsLockをcontrolに
- Windowsキーをoptionに
- Altをcommandに
- スペースの左右のキーを変換・無変換に
- でもMacからWindowsにリモートデスクトップしたときは上を無効にする
Karabiner-Elementsのインストール
以下から落として入れるだけ
https://pqrs.org/osx/karabiner/
Windowsキーボードの条件を作る
Launch EventViewer - Devices
から該当のキーボードを探し、
{ "device_id": 000000, "is_karabiner_virtual_hid_device": false, "is_keyboard": true, "is_pointing_device": false, "location_id": 000000, "product": "USB Keyboard", "product_id": 000000, "transport": "USB", "vendor_id": 0000 }
product_id, vendor_id を使って以下JSONを作る。
(ちょっと冗長。全体に跨る条件指定とかできないのかな。)
{ "title": "Custom Key Binds", "rules": [ { "description": "Windows Keyboard Unless RDC", "manipulators": [ { "type": "basic", "from": { "key_code": "caps_lock" }, "to": { "key_code": "left_control" }, "conditions": [ { "type": "frontmost_application_unless", "bundle_identifiers": [ "com.microsoft.rdc.macos" ] }, { "type": "device_if", "identifiers": [ { "vendor_id": 0000, "product_id": 000000 } ] } ] }, { "type": "basic", "from": { "key_code": "japanese_pc_nfer" }, "to": { "key_code": "japanese_eisuu" }, "conditions": [ { "type": "frontmost_application_unless", "bundle_identifiers": [ "com.microsoft.rdc.macos" ] }, { "type": "device_if", "identifiers": [ { "vendor_id": 0000, "product_id": 000000 } ] } ] }, { "type": "basic", "from": { "key_code": "japanese_pc_xfer" }, "to": { "key_code": "japanese_kana" }, "conditions": [ { "type": "frontmost_application_unless", "bundle_identifiers": [ "com.microsoft.rdc.macos" ] }, { "type": "device_if", "identifiers": [ { "vendor_id": 0000, "product_id": 000000 } ] } ] }, { "type": "basic", "from": { "key_code": "left_command" }, "to": { "key_code": "left_option" }, "conditions": [ { "type": "frontmost_application_unless", "bundle_identifiers": [ "com.microsoft.rdc.macos" ] }, { "type": "device_if", "identifiers": [ { "vendor_id": 0000, "product_id": 000000 } ] } ] }, { "type": "basic", "from": { "key_code": "left_option" }, "to": { "key_code": "left_command" }, "conditions": [ { "type": "frontmost_application_unless", "bundle_identifiers": [ "com.microsoft.rdc.macos" ] }, { "type": "device_if", "identifiers": [ { "vendor_id": 0000, "product_id": 000000 } ] } ] } ] } ] }
あとは
~/.config/karabiner/assets/complex_modifications/
下に適当に1.jsonとかで保存して、
Preferences - Complex modifications - Add rule
から有効にする。
これで、他のキーボードには影響しないように、リモートデスクトップ以外ではMacのキー配列っぽく、リモートデスクトップではそのままWindowsキーボードとして使えるようになりました。