26 - Shingeta auf dem IME, Baby!
2025年01月24日
Contents
なぜ私が新下駄配列を IME で使おうか (それ以外には方法がないのか) という話をしました
今までやってきたこと (思い出せる範囲で):
- 英語の平文入力の為の配列: ** Dvorak ** Workman ** Minimak ** Colemak ** 独自配列 (ドイツ語も書きやすいように工夫したつもりだった) => EISTEE
- => 結局 vim との相性が最悪で断念 (最終的には FT-swap も試したが、vim で T にバインドしている関係で意図しない動作が多発してやめた)
- => 色々なところで (意外に) vim 的なバインドが使われていたりする
Q W D R ; Y U K L P A S T F G H J E I O Z X C V B N M , . /
- 日本語の入力配列 (before 2020):
- 月や中指ニコラ、エミュレートされた親指シフトなども一通り試した (つもり) だが、個人的には新下駄配列が一番良さそうに感じた。
- 薙刀式はやっていない (2011-13 年頃だとまだ知らなかった?)。
- 親指シフトは ANSI US な物理配列のキーボードとは相性最悪に思えてやめた (一部の文字を打つために指に相当負担がかかったように記憶している)。
- => 結局当時は新下駄配列の習得も諦めて、ガシガシローマ字入力をしていたと思う。
==> つまり文字入力に関しては QWERTY + ローマ字入力という組み合わせだった。
- 新しいマシン購入してから…
- xkeysnail を使い始める
- 新下駄配列を実装できるのでは? と考えて、同時打鍵配列を実装できるように xkeysnail を改造して、新下駄配列を再度使い始める。
- 使っているうちに色々と壁にあたり、他の配列も試してみるが、結局「快適な日本語の入力環境を手に入れるには、新下駄配列を使えるように IME に手を出すしかない」という結論になる。
- 順序が違っているかもしれないが、AZIK や、それに更に手を加えた「拡張ローマ字入力」とでも呼べそうな配列を試したり、
- 同時打鍵配列ではない、独自の (かな系日本語) 配列を作ろうとしたが、結局挫折する。
- (思い出せる範囲で) なぜ IME かつ新下駄配列 (or かな系配列) である必要があるかと言うと…
- (IME 以外の方法だと) 入力の文脈を取得できない。例えばブラウザーでも、TextArea / TextField にフォーカスがあるのか、それ以外なのかで求められる振る舞いは変わってくる。
- IME 以外の方法で同時打鍵を実装すると、『んのぎゃきゅちは』→『favorite』という「ある入力をし始めた直後に日本語モードだということが分かったので、とりあえず単語の最後まで打っておいて、Ctrl-; で ASCII に変換」ということが、「定義上不可能」ということが分かった。
- 私は当初思った以上に「アルファベットの配列に日本語の入力が引きずられる」ということがわかった。これはローマ字系の日本語配列に限った話だけれど、例えば
- 「Colemak をベースに使いながら日本語はきゅうり改配列」なんてことをしようとすると、そもそもきゅうり改が狙っている (利点としている) 子音と母音を分ける、というのを台無しにしてしまうし…
- 「日本語以外では Colemak、日本語の入力には QWERTY をベースにしたきゅうり改」という設定でも、頭の中で QWERTY と Colemak が混じり合ってしまう (どうしても Colemak の配列キーの「音」で日本語を打つクセが抜けなかった)。
結局 mozc で同時打鍵を実装することができたのだが、その後新下駄配列も覚えることができて、快適に日本語のタイピングができている。
- 非日本語の言語と (頭の中で) 衝突すること無く
- Ctrl-; で ASCII への変換も行うことができ
- 入力する文脈なのかを IME/IMF が判断してくれるので安心 (何か問題が発生した時に、それが日本語入力由来のものであるのかの切り分けが極めて容易)