ゆるふわ技術日誌

エンジニア見習いの悪戦苦闘日記

Macのdefaultsコマンドで半角カナの入力を有効化する

周回遅れ感は否めないのですが、アップルのオタクとしては過渡期のAppleSiliconのMacに触っておくという経験をしておきたくてM1搭載のMac miniを買いました。

もともとはWWDC2021でMacBookProの新型が発表されたら買う気マンマンだったのですが、半導体不足の影響か?どうかは知りませんが発表されずに終わってしまったので、衝動買いです。

これでもし年内にMBP出たらそれはそれで買っちゃうのかもしれませんが、その時は売るなり自宅でサーバーにするなりしようと思います。

どうでもいい話はさておき、せっかくまっさらな状態のMacを手に入れたこともあり、前々からやろうやろうと思って中途半端になっていた環境構築のスクリプト化をやりながらセットアップを進めました。

Macには defaults コマンドというのが用意されていて、これを使うことでシステム環境設定とかから設定するような項目をスクリプトから設定変更することができます。

こちらの記事には大変お世話になったのでぜひ参考にしてみてください。

amasuda.xyz

…で、たいていの設定項目は誰かがやっていて調べればどの値を書き換えればいいか出てくるのですが、残念ながら半角カナ有効化のやり方だけどうしても見つけることができず、調べたのでここにメモっておきます。

結論から言うと、これでいけます。(実行後要再起動)

defaults write com.apple.HIToolbox AppleEnabledInputSources -array-add "
<dict>
  <key>Bundle ID</key>
  <string>com.apple.inputmethod.Kotoeri.RomajiTyping</string>
  <key>Input Mode</key>
  <string>com.apple.inputmethod.Japanese.HalfWidthKana</string>
  <key>InputSourceKind</key>
  <string>Input Mode</string>
</dict>
"

動作確認した環境は macOS 11.4 (Big Sur)です。冪等性があるかとかはちょっと確かめられてないので、もしかすると複数回実行したらおかしくなったりする可能性もあるので自己責任で。

ここから先は余談というか、どうやって設定値を見つけ出したか、という話。

どうやって見つけたか

前述の記事で現在の設定値の確かめ方が載っていたので、

  • 設定値を defaults read で出力したものを適当にファイルにリダイレクトして保存
  • GUIから設定変更
  • defaults readで再び設定値出力してファイルにリダイレクト
  • 変更前と変更後でdiffを取ってそれっぽい値に目星をつける

みたいなことをやりました。もうちょっとスマートにできて欲しいけどまあ致し方なし。

そういえば、WWDCMacにもショートカットアプリが来るみたいなこと言っていたので、簡単な設定変更くらいだったらショートカットにまとめたりできる未来があるかもしれないですね。(スクリプトの方がエンジニアにとっては便利なことに変わりはないかもしれないけど)

Mac2台持ちになったので片方はBetaのOSとか入れて遊んでもいいなあとか思ったりした。おわり。