1. Qiita
  2. 投稿
  3. OSX

OS X El CapitanのJapaneseIMの日本語入力で常に半角スペースを入力する

  • 22
    いいね
  • 3
    コメント
この記事は最終更新日から1年以上が経過しています。

概要

GUIに設定項目がないため、/System/Library/Input Methods/JapaneseIM.app/Contents/Resources配下にある設定ファイルを編集します。
El CapitanからはSystem Integrity Protection (SIP, 通称rootless)により、該当の設定ファイルの書き換えが行えなくなっています。
そのため、一度rootlessを無効化してからファイルを書き換え、再びrootlessを有効化します。1

rootlessの無効化

リカバリーモードで起動

rootlessを無効化するにはリカバリーモードで起動する必要があります。

リカバリーモードで起動するには、Macを再起動して起動時に⌘+Rキーを押したままにします。
しばらく待つと言語の選択画面が表示されますので、英語の場合は「Use English for the main language」、日本語の場合は「主に日本語を使用する」を選択して次に進みます。
その後、「OS X Utilities」が表示されます。上部の「Utilities」メニューから「Terminal」を起動します。

csrutilコマンドによるrootless無効化

次のコマンドを実行し、rootlessを無効化します。

# csrutil disable
Successfully disabled System Integrity Protection. Please restart the machine for the changes to take effect.

通常モードで再起動

「」メニューから「Restart」を選択して再起動します。

KeySetting_*.plistの書き換え

再起動後、/System/Library/Input Methods/JapaneseIM.app/Contents/Resources/KeySetting_Default.plistを編集します。
(「Windows-like shortcuts」にチェックを入れている場合は/System/Library/Input Methods/JapaneseIM.app/Contents/Resources/KeySetting_Windows.plist)

$ sudo vim "/System/Library/Input Methods/JapaneseIM.app/Contents/Resources/KeySetting_Default.plist"

16行目(1)と23行目(2)のstring要素の内容が、それぞれ全角スペース、半角スペースになっているので入れ替えます。

...
        <key>before_typing</key>
        <dict>
            <key>&apos; &apos;</key>
            <dict>
                <key>command</key>
                <string>direct_input</string>
                <key>character</key>
                <string> </string>    <!-- (1) -->
            </dict>
            <key>shift+&apos; &apos;</key>
            <dict>
                <key>command</key>
                <string>direct_input</string>
                <key>character</key>
                <string> </string>    <!-- (2) -->
            </dict>
...

rootlessの有効化

リカバリーモードで起動

再び、Macを再起動してリカバリーモードになり、Terminalを起動します。

csrutilコマンドによるrootless有効化

次のコマンドを実行し、rootlessを有効化します。

# csrutil enable
Successfully enabled System Integrity Protection. Please restart the machine for the changes to take effect.

通常モードで再起動

「」メニューから「Restart」を選択して再起動します。

これで日本語入力時にSpaceを入力すると半角スペースになり、Shift+Spaceで全角スペースになります。

参考


  1. rootlessの有効/無効を切り替えるには再起動が必要です。無効化後の再起動をリカバリーモードにすれば、再起動回数を減らせると思いましたが、リカバリーモードのターミナルで該当の編集ファイルを開くと文字化けが起こるので、通常モードで起動するのが無難です。 

Comments Loading...