#日本語入力時もスペースは半角が好きな方へ
El Capitan以前はシステムの設定を直接書き換えて半角スペースで入力できたけど、10.11からSIPが導入されたため設定を書き換えるのが大変になったらしい。
それKarabinerでできるかなあと思ってやってみた。
##通常
- [SPACE] 全角スペース
- [SHIFT]+[SPACE] 半角スペース
##望む結果
- [SPACE] 半角スペース
- [SHIFT]+[SPACE] 全角スペース
要するに反対になれば良いのですよね。
##どうする?
Karabinerの設定から[Misc&Uninstall] > Custome SettingのOpen private.xmlをクリックしてファイルをエディターで編集します。
<?xml version="1.0"?>
<root>
<inputsourcedef>
<name>JA_IME</name>
<inputmodeid_equal>com.apple.inputmethod.Japanese</inputmodeid_equal>
</inputsourcedef>
<item>
<name>Switching Hankaku/Zenkaku Spaces</name>
<identifier>private.ime_space_to_hankaku</identifier>
<inputsource_only>JA_IME</inputsource_only>
<autogen>
__KeyToKey__
KeyCode::SPACE, ModifierFlag::SHIFT_L | ModifierFlag::NONE,
KeyCode::SPACE
</autogen>
<autogen>
__KeyToKey__
KeyCode::SPACE, ModifierFlag::SHIFT_R | ModifierFlag::NONE,
KeyCode::SPACE
</autogen>
<autogen>
__KeyToKey__
KeyCode::SPACE,
KeyCode::SPACE, ModifierFlag::SHIFT_L
</autogen>
</item>
</root>
ファイルの編集が終わったらセーブして、Karabinerの設定の[Change Key]からReload XMLをクリックすると一番先頭に追加した項目が表示されるのでチェックすればOKですね。
問題があったら教えてもらえると喜びます。
##追記
私はAlfredを愛用しているんですが、Alfred呼び出しのホットキーをCtrl+Spaceに設定しています。
このKarabinerの設定だと日本語入力中にホットキーが効かないんです。(Ctrl+Shift+Spaceに変換されちゃうんですね)Spaceキー絡みのホットキーを使用している場合はの先頭にでもこんな風にそのキーコンビネーションだけスルーする設定を入れるといいみたいです。
...
<autogen>
__KeyToKey__
KeyCode::SPACE, ModifierFlag::CONTROL_L,
KeyCode::SPACE, ModifierFlag::CONTROL_L,
</autogen>
...
##問題点
- 日本語入力の変換候補選択中、スペースで上方向の候補へ、Shift+Spaceで下方向の候補選択。通常と逆になっちゃう。
- 日本語入力モード中はブラウザ等のスペースキーでスクロールするアプリでは、その他の入力モード時とは逆方向にスクロールしてしまう。
##解決するには
OS X側で対応してくれるといいなあ。スペースを半角にするオプションがIMEの設定に欲しい!できれば記号類も半角で入力したい!な〜