非ローマ字入力配列とSKKキーバインド

課題

DDSKK以外の多くのSKK実装は、ローマ字入力環境依存のキーバインドしか持たない。
カタカナ「q」、英数「l」、前候補「x」などが特に問題となる。
SKKIMEで同時打鍵系配列を使う場合も例外ではない。

選択肢

1.配列の空いているところに突っ込む


たとえば黒塗り下駄配列には「ー」が4つあるので、このうちの3つを機能キーに使うとか。
問題点 : 論理配列が変更されるたびに、キーバインドを検討しなおさなくてはならない。論理配列を変更すると、キーバインドも変更になる。


2.「Shift(SandS) + ゃゅょぁぃぅぇぉ」に機能を割り振る


たとえば、「ゃ」はどんな論理配列であっても「カタカナ」機能を発動させる、というようにする。
問題点 : 論理配列を変更すると、キーバインドも変更になる (一応、同じ文字からは同じ機能を発動できるが)。


3.SKKに特化した似非JCtrlのようなものをつくる


英語キーボード上では 右Alt + q = カタカナ (HHKB 英語版では右Metaが使える)、 日本語キーボード上では、 変換 + q = カタカナ、というようにする。
問題点 : あまりないような? 英語キーボード環境では右Altが占有される。


追記 : 「IME-OFF, ひらがな, 英数」3モード

以前にも書いたが、上記3モードがあることで操作がかなりややこしくなる。初期状態はIME-OFFなのに、ひらがなモードから l キーを押すと英数モードに遷移するところにややこしさがある。
(「かな」と書いてあるのは ひらがな入力モードのこと。)
なので、lキーで「英数モード」ではなく「IME-OFF」に遷移することにした。ついでに Ctrl + \ が不便なので、Shift + Space で常にひらがな入力モードにリセットされるようにした。
(処理方法:SKKIMEの場合、IME-OFF → IME-ON と状態が変わるときには常にひらがな入力モードに戻るので、これを利用して操作する。)


これはこれでよい。
しかし、ローマ字入力以外の方法を使うとき、l キーのキーバインドが使えなくなる。
システムはそのままに、キーバインドだけ考えなおさないと。