周囲の人が皆SKKを使っているので、私も2週間くらい前から使うようになりました。
はじめに私の環境を述べておきましょう:
- MacBook Air
- JIS配列のキーボード
- よく使うエディタはVSCode
brew cask install aquaskk brew cask install karabiner-elements
Karabiner-ElementsはSandS(シフトキーをスペースバーで代用するやつ)のために使います。SandSなしでSKK入力に手を出そうものなら、程なくして小指が粉砕され再起不能になってしまうでしょう……
さて、インストールのあとSandSの設定をすれば一応SKKを使うことができるようになるんですが、そのままだといくつか問題点があるのでAquaSKKとKarabiner-Elementsの設定をいじって直していきます。
問題点と解決方針
- ¥キーで「\」を入力したいのに「¥」が入力されてしまう。「\」を入力するためにはoption + ¥を押さないといけない
Karabiner-Elementsで¥とoption + ¥を入れ替えます。
- ターミナルでC-jを押すと改行されてしまう
- VSCodeでC-jを押すと行が結合されてしまう
AquaSKKの設定をいじってかなキーで日本語モードに移行できるようにします。さらにKarabiner-ElementsでC-jをかなキーに変換してしまうことで、C-jによる副作用がなくなります。
私は前者の問題の根本的な解決策を知りません……
その場しのぎですが、英数キーでSKKのASCIIモードに移行できるようにすることで、余計な文字が入力されることなくモードを移行できるようになります。ついでにMacの英字モードに移行しなくなるので後者の問題を解決できます。
AquaSKKの設定で適当なキー(私はshift + C-jにしました)をASCIIモードへの移行に割り当てて、Karabiner-Elementsで英数キーを先ほど設定したキーに変換するようにします。
- SandSの影響でスペースバーの押下判定がスペースバーを離すタイミングになるので、一部のゲームで遊べなくなる
IMEがSKKの場合のみSandSが有効になるように設定すると良いです。さらに英数キー長押しでMacの英字モードに移行するように設定すれば、SandSを無効にしたい場面で簡単にモードを移行できます。
AquaSKKの設定
はじめに/Library/Input\ Methods/AquaSKK.app/Contents/Resources/keymap.conf
を
~/Library/Application\ Support/AquaSKK/
にコピーする必要があります。
コピーしたらSKK_JMODE
とSwitchToAscii
に対応する行をそれぞれ次のように書き換えます。
SKK_JMODE ctrl::j||keycode::0x68 SwitchToAscii l||ctrl::shift::j
Karabiner-Elementsの設定
¥キーの問題に関しては次のURLから設定をインポートすると良いです↓
karabiner-elements-complex_modifications
それ以外は自分で設定ファイルを書いた方が早そうだったので書きました。
{ "title": "円滑にskkを使うためのやつ", "rules": [ { "description": "SandS (ja限定)", "manipulators": [ { "from": { "key_code": "spacebar", "modifiers": { "optional": [ "any" ] } }, "to": [ { "key_code": "left_shift" } ], "to_if_alone": [ { "key_code": "spacebar" } ], "type": "basic", "conditions": [ { "type": "input_source_if", "input_sources": [ { "language": "ja" } ] } ] } ] }, { "description": "C-jをかなキーに変換", "manipulators": [ { "type": "basic", "from": { "key_code": "j", "modifiers": { "mandatory": [ "control" ] } }, "to": [ { "key_code": "japanese_kana" } ] } ] }, { "description": "英数キーをCtrl+Shift+Jに変換 長押しで英数 (ja限定)", "manipulators": [ { "type": "basic", "from": { "key_code": "japanese_eisuu", "modifiers": { "optional": [ "any" ] } }, "to": [ { "key_code": "j", "modifiers": [ "control", "shift" ], "repeat": false } ], "to_if_held_down": [ { "key_code": "japanese_eisuu", "repeat": false } ], "conditions": [ { "type": "input_source_if", "input_sources": [ { "language": "ja" } ] } ] } ] } ] }
上のJSONを~/.config/karabiner/assets/complex_modifications/
に適当な名前で保存することで、Karabiner-ElementsのComplex modificationsから参照することができます。
雑記
SKKを使いはじめてから最初の3日間くらいは苦しみましたが、ひたすらTwitterとかやってると慣れますね。もはや入力に不自由を感じることはなくなりました。すでに元の入力方法を忘れつつあります。
ただ、SKKを初める前より入力速度が向上したかというとそうでもないような気がします。鍛錬が足りないということでしょうか。まあなんにせよ以前の入力方法を忘れかけているので、当分SKKを使い続けることになると思います……