Big SurでHHKB for Macを使おうとしたらドライバーが使えなかったからHackしたよ

AmazonセールでHHKB for Macがやすかったので購入したところ、Big Surに未対応だったのでHackした。

hdiutilで一時設定

hdiutilコマンドでとりあえず、キーバインドする。バインドは次の通り。

0x8A(変換) → 0x90(かな カナ)
0x8B(無変換) → 0x91(英数)
0x88(ひらがな カタカナ) → 0xE7(Right Command)
0x35(半角/全角) → 0xE3(Left Command)



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

恒久的に設定する

hdiutilは再起動するともとに戻るため、設定ファイルを設置する。

<?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.local.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": 0x7000000E7
                },
                {
                    "HIDKeyboardModifierMappingSrc": 0x700000035,
                    "HIDKeyboardModifierMappingDst": 0x7000000E3
                }
            ]}</string>
        </array>
        <key>RunAtLoad</key>
        <true/>
    </dict>
</plist>