LoginSignup
3

More than 1 year has passed since last update.

macOS Big Sur(ベータ版)でキー入力をリマップする(windows keyboard用)

https://qiita.com/zizi4n5/items/7974d4751212214dab4e
こちらを見て設定しようとしていたのだけど、windows keyboard対応していなかったので書いた。(&調べた)

Karabiner-elementsがBig Sur対応するのはもうちょいかかるのかな...

自分の環境

Macbookpro 2019 16inch
Microsoft Natural Ergonomic Keyboard 4000

だけど、おそらく他の最近のmac + win向けkeyboardで問題なく動くはず

できること

Windows JIS keyboardの ”無変換", "変換","カタカナ/ひらがな" キーを、macの "英数", "かな" にマッピングして、"無変換"を押したらMacの"英数"が押された時の挙動をするし、 "変換,カタカナ/ひらがな"のキーを押したらMacの"かな"が押された時の挙動をするようになる

各種キーとそのキーコードについて

一応このあとのコードで記載されている謎の「0x7000000**」はそれぞれこれらのキーを指しています。
興味ない人は下の方までスルーして「やったこと」だけ読んでくだされ

キー キーコード(hex)
無変換 0x70000008B
変換 0x70000008A
カタカナ/ひらがな 0x700000088
英数 0x700000091
かな カナ 0x700000090

0x7000000に、キーに対応する1byteを付記すればOK
例)
半角/全角 -> 0x700000035

※参考
https://developer.apple.com/library/archive/technotes/tn2450/_index.html
http://www2d.biglobe.ne.jp/~msyk/keyboard/layout/usbkeycode.html

やったこと

やったことは先のqiitaの記事に書いてあることとほぼイコール

~/Library/LaunchAgents に以下の com.example.KeyRemapping.plistを作製

com.example.KeyRemapping.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.example.KeyRemapping</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/bin/hidutil</string>
        <string>property</string>
        <string>--set</string>
        <string>{"UserKeyMapping":[
          {
            "HIDKeyboardModifierMappingSrc": 0x70000008B,
            "HIDKeyboardModifierMappingDst": 0x700000091
          },
          {
            "HIDKeyboardModifierMappingSrc": 0x70000008A,
            "HIDKeyboardModifierMappingDst": 0x700000090
         },
         {
            "HIDKeyboardModifierMappingSrc": 0x700000088,
            "HIDKeyboardModifierMappingDst": 0x700000090
         }
        ]}</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>

これで再起動したらいつもキーが希望通り動くようになるはず。
もしなんか動かないなと言う時は system.logにエラー出たりしてると思うので確認する。

/var/log/system.log

Aug 15 17:08:51 NariMacBookPro2019 com.apple.xpc.launchd[1] (com.example.KeyRemapping[767]): Service exited with abnormal code: 1

それでもわからんという場合はshellで以下みたいな感じのコマンドでも打って、単体でエラーとか出てないか確認して下さい。shellでこのコマンド打てばキーマップがいきなり変わります。
キーのコードは好きなようにいじれば良いっす。

hidutil property --set '{"UserKeyMapping":[                       
  {
            "HIDKeyboardModifierMappingSrc": 0x70000008B,
            "HIDKeyboardModifierMappingDst": 0x700000091
  },
  {
            "HIDKeyboardModifierMappingSrc": 0x70000008A,
            "HIDKeyboardModifierMappingDst": 0x700000090
  },
  {
            "HIDKeyboardModifierMappingSrc": 0x700000088,
            "HIDKeyboardModifierMappingDst": 0x700000090
  }
]}'

おまけ

そこそこ特殊なアプリをmacに入れてたりするが今んとこBig sur上で動いていないのは Day-oぐらい..かな

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
3