見出し画像

メビウス式の実装について

上記記事でいう内部仕様の話ね。

現在のメビウス式

上記記事で紹介した通り、現在のメビウス式は、

  • キーボードファームウェア

  • IME(Google日本語入力)

  • リマッパー(Keymapper)

の3レイヤーにまたがって実装されています。

まず、僕は日本語入力新配列に手を染める前からの自作キーボードユーザーであり、
IMEを使わないわけにはいかず、
リマッパー以外で自力実装ができなかったので、
3つ揃った状態が前提だった、ということはいえます。

とはいえ、全部ひとまとめに書くことはできて、それやるんだったらリマッパーが一番簡単。僕でもできる。そのほうが管理も楽。なんでそうしないのか。

複数レイヤーにまたがって実装している理由

いくつかあります。

リマッパーが停止したときキーマップが変わると困る

「やべっ設定書き間違えた」とかでリマッパー停止させて修正したりとか、単に不具合で落ちるときもありますわな。

その時、普段のキーマップと全然違ったりすると不愉快なので、日本語入力に関係しない部分はキーボードに乗せてます。

全角アルファベット変換のため

全角アルファベットを1文字とか2文字だけ入力する時は、かな入力してから置換するのが一番簡単です。
しかし、ファームウェアやリマッパーで全部実装した場合、例えばメビウス式で「か」を入力すると、IMEにはかな文字「か」を直接、あるいはローマ字「ka」を送ることになり、「v」は送られません。よって全角「v」を入力するには、IMEを全角英数モードにするしかなくなります。

ローマ字テーブルで「v」を「か」に置換する方式であれば、「v」が送られているので、全角「v」への変換もできるというわけです。

変換キーバインドのため

変換キーバインドはIMEでしか実装できない(こともないが変換ステータスの外部参照は至難)、IMEだけでは全体を実装できない(こともないがタイムアウト判定による3キー同時押しはほぼ使い物にならない)ので致し方なし。

「,」後付で単かなカタカナ置換とか、「,S」で「→」とかの一部特殊キーシーケンスも同様。

同時押し判定をファームウェアでやると調整しやすい

濁音半濁音シフト・拗音合成をファームウェアでやるのは難しくて僕がまだできないので、これは一部特殊キーの割り当ての話。

二大巨頭であるバックスペースエンターは単打が割り当てられていますが、他の特殊キーのうちそれに次いで使用頻度が高いもの、すなわち

  • Space

  • Tab

  • Escape

  • かな

  • 英数(無変換)

の5つと、あと頻度はそんなでもないがとっさに出したいものとして

  • PrintScreen

  • ランチャー(Alfred等)呼び出しキーバインド

  • 辞書登録キーバインド

の合計8つを、文字キーの同時タップ(コンボ)に割り当てています。

これはメビウス式の(外部)仕様として悩ましいところで、準最上位5つを小指に置くのはやめろーーーーーー!として、親指に置くのは別にいいと思うし、別に定義しなくていいと思うんだよな。好きにすれば。

ともあれ、僕は今こうなっていて、コンボの同時押し判定はファームウェア(QMK、というかVIAL)でやるのが楽だからそうしてます。

拗音合成とMOD-TAPの競合問題

本題。宿痾。仕様整理しろよマジで案件。ずーーーーーーーーーっと悩んでいる。

メビウス式は拗音合成を含む。つまり文字キー同士の同時押しが多数ある。
メビウス式はスモールキーボードに特化した、使用キーの少ないメソッドである。
Shiftは親指だからいいとして、他の修飾キー(とレイヤーキー)が指の届かないところにあったら意味がない。
さらに修飾キー同士、修飾キーとレイヤーキーの同時押しもカバーできないといけない。

これを解決する方法が、デュアルロールしか思いつかない。
フィンガーにデュアルロールで置くと、例えば「にょ」と「Cmd D」が同じキーコンビネーションというか運指である、ということが起こる。
これは、ファームウェアでタッピングターム未満の同時押しをタップ判定にし、リマッパーで文字キー同士の同時押しを定義する、つまり、

  • すぐ離したら「C D」=「にょ」扱い

  • 長く押し続けたら「Cmd D」扱い

とすることで解決でき……てねえな!!!!
絶対良くない。実際良くない。どうしよう。ずっと悩んでます。

結論

VIME-Chord欲しい!!!!!


いいなと思ったら応援しよう!

ピックアップされています

自作論理配列

  • 29本

コメント

コメントするには、 ログイン または 会員登録 をお願いします。
エロ小説書き。自作キーボード勢。日本語入力沼なう。
メビウス式の実装について|ラクダエン
word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word

mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1