Macの入力キーボード設定でGUIからでは削除が出来ないUnicode Hex Inputを削除する方法
ハマったので備忘録として残します。
com.apple.HIToolbox.plistを編集
~/Library/Preferencesのcom.apple.HIToolbox.plistにキーボード設定が記載されているので編集します。 とりあえずバックアップを作成しましょう。
% cp ~/Library/Preferences/com.apple.HIToolbox.plist ~/Library/Preferences/com.apple.HIToolbox.plist.bk
そしたらcom.apple.HIToolbox.plistをPlistBuddyで開きます。 PlistBuddyの使い方はググってQiitaとか参照。
/usr/libexec/PlistBuddy com.apple.HIToolbox.plist
com.apple.HIToolbox.plistの下記の項目を編集します。
AppleCurrentKeyboardLayoutInputSourceID = com.apple.keylayout.UnicodeHexInput AppleEnabledInputSources > KeyboardLayout Name = Unicode Hex Input AppleInputSourceHistory > KeyboardLayout Name = Unicode Hex Input
Command: print AppleEnabledInputSources:{KeyboardLayout Name = Unicode Hex Inputがある番号} // printで確認しながら編集すると安全だと思います。 Command: delete AppleEnabledInputSources:{KeyboardLayout Name = Unicode Hex Inputがある番号} Command: delete AppleInputSourceHistory:{KeyboardLayout Name = Unicode Hex Inputがある番号} Command: set AppleCurrentKeyboardLayoutInputSourceID com.apple.keylayout.US Command: save Command: exit
反映には再起動が必要です。 ログアウトではキャッシュが残っている影響なのか、com.apple.HIToolbox.plistがロールバックされます。
以上
更新
上記の対応をした後に入力ソースを何かしら編集して保存しないと、ログイン画面の入力ソースが反映されません。 私は一度、キーボード設定の入力ソースの一つを削除して、再度追加をして保存をして再起動したら正常にログイン画面の入力ソースも更新されました。