1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

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

Posted at

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ぐらい..かな

1
3
0

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
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?