2018年2月7日水曜日

MacOS Sierra で下駄配列(Karabiner-Elements)

 個人的に,キーボードで日本語入力をする際には,「ローマ字入力」ではなく,「下駄配列」という入力方式を使っています。
 「ローマ字入力」ではない入力方法で,「かな入力」以外に見かけるものとしては,「親指シフト」というものがありますが,乱暴にいえば,それの中指版みたいなものです。

 そのような特殊な配列をMacで使用するためには,「Karabiner」というキーリマップソフトを使っていたのですが,この「Karabiner」は,MacOS Sierraには対応しなくなってしまいました。

 今更ローマ字入力で入力するのはつらい(できなくはないがだるい)ので,ずっとOSのアップデートを我慢して,Yosemiteのままで使用しておりました。

 いつか後継のソフトが出来上がるだろうとずっとウォッチしていましたが,なかなか出てこない。
 Karabinerの作者のKarabiner-elementsも開発が進んでいたので,今か今かと待ち望んでいましたが,下駄配列が実現できるような状態にまではなかなかなりません。
 もっとも,機能はどんどん追加されていて,修飾キー以外のキーをシフトキーとして使えそうな状態になっていることに気づきました。
 (Aというキーを押しながらBというキーを押したら,Cというキーとして機能させる,みたいなこと)

 同時押しの機能自体はまだ実装されていないので,擬似的ではありますが,現状の機能で下駄配列を実装してみました。

 具体的には,上記の「Aというキーを押しながらBというキーを押したら,Cというキーとして機能させる」という機能を使っています。
 これだけだと,AとBを同時押しした場合,少しでもBが早いと同時打鍵したことにならなくなってしまうので,「Bというキーを押しながらAというキーを押しても,Cというキーとして機能させる」という設定も同時に加えています。
 →その後同時押しの機能が追加されたので,自分で下駄配列の設定ファイルを作ってみました。
(設定ファイルを~/.config/karabiner/assets/complex_modificationsに置いて,設定に反映させます。
 より詳しくは,https://qiita.com/s-show/items/a1fd228b04801477729cのサイトに解説されています。)

 記号シフトは一部(自分が使うもの)しか設定を入れてませんし,拗音シフトも「てゃ」などの自分が使わないもの入れていないので,完全版ではありません。
 それでも一応ある程度想定通りに動くことは動いたので,まあよしとして,OSもアップデートしました。
 (これでようやくAppleWatchで自動ロック解除ができる)
 本記事の一番下に設定ファイルのダウンロードリンクを記載しておきますので,興味のある方は試してみてください。

 使ってみて思うことは,シフトキーにあたるキーを打つ時(単打で「し」や「い」を打つ時)については,キーを離したときに単独打鍵という判定になるので,ロールオーバーする打ち方をすると,入力されないというのが難点です。
 ダララっと流れるように打つと,他のキーと同時打鍵と判定されてしまって,意図したキーが押されたことにならないというのが若干困ります。

 設定例は参考までにアップしておきますので,誰かいい方法があったら教えて下さい(30年2月9日更新)。
 →その後同時押しの設定が加わったので,ファイル及びリンクを修正(30年4月13日)

https://yahoo.jp/box/cc0PMy