Help us understand the problem. What is going on with this article?

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

More than 5 years have passed since last update.

概要

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

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away