!!!!あたらしい記事が ここ にあります!!!!
Fortniteが動くかとおもいEl Capitan (10.11.x) から一気にHigh Sierraにアップグレードしてみたものの, グラボがないとダメですと言われてゲームが起動できなかった.
これまで私がSierra系に更新していなかった理由は, Karabinerが動かないと聞いていたからだ. こうなったらSierra以降向けに開発されているという Karabiner-Elements (KE) で, 無理矢理NICOLA配列での親指シフト入力環境を実現する しかない……というわけで, とりあえず動くものができたので公開します.
動作確認した環境は下記:
- OS version - macOS High Sierra (10.13.3)
- IME - Google 日本語入力 2.20.2700.1 (基本設定: ローマ字入力)
- Karabiner-Elements version - 11.5.0
試してないけどSierraでもイケると思う.
インプリしたのは, とりあえず NICOLA配列 (JAWP) で, 右シフトを「変換」キー, 左シフトを「無変換」キーとしています.
現状のこのNICOLA配列の実装の不具合としては:
- けっこう前もって (よっこらしょという感じで) 親指シフトキーを押す必要がある
- ときどきシフト状況が正確に把握されないことがある
という点が挙げられます. もっとうまい書き方があるかもしれない.
使い方
Karabiner-Elements (KE) をインストールしてから,
上記の2つのjsonファイルをダウンロードして, ディレクトリ:
$HOME/.config/karabiner/assets/complex_modifications/
に格納してください.
次に, Karabiner-Elementsを起動してから
Preferences...
を開き, Complex Modifications
タブを選択します. 下の方にある Add rule
ボタンを押すと, 設定の一覧が出てきます.
この一覧の下の方に, 「無変換, 変換キーでIME Off, On」, 「親指シフト入力のためのNICOLA配列」があるので, Enableして下さい.
おおまかな仕組み
シフトごとにフラグとなる変数:
Oyayubi-R
, Oyayubi-L
, Oyayubi-Any
(右か左のどちらかが押されたとき用) を用意 (set_variable
) して, 押下されたらセット, 離されたらリセットしています. この処理の記述をしているのが, muhenkan_henkan_ime.json
です.
フラグの状態とIMEの状態に応じてmanipulateの処理が決まります. こちらは
nicola_genenerated.json
で記述しています.
ファイル名から察しがつくように, いちいちキー一つ一つの設定を書いていくのは面倒なので, 設定のためのjsonジェネレータをRubyで書いた――のだけど, こういうものがあると後から知った:
- s-show, KE-complex_modificationsを使ってKarabiner-Elementsの設定を楽にする方法, 2017-11-12.
Conclusion
macOS High Serraで, Karabiner-Elementsだけで親指シフト入力を可能にした.
References
実装するにあたり, 以下のドキュメントが役に立ちました.
- takezo, karabiner.json Reference Manual, pqrs.org, 2018-02-17 (read).
- s-show, Karabiner-Elementsだけで”全角/半角”でのIME切り替えを実現する方法など, 2017-12-02.
- jumjamjohn, 【人権回復】Karabiner-ElementsでOne-to-many, Many-to-oneマッピング, 2017-11-09.
- rcmdnk, KE-complex_modificationsを使ってKarabiner-Elementsの定義を色々作って公開する, 2017-08-30.
- rcmdnk, Karabiner-Elementsで日本語入力状態を把握してキー設定出来る様になった, 2017-11-06.