今日の「仮名漢字変換システム用同時打けん型入力法 X 9xxx-200x」は【一本指でも親指シフト!】。

(未来:親指シフト(NICOLA)は「JIS X8341-2 6.4.7 順次入力機能」に対応せず、このまま朽ち果てていくのか? - 雑記/えもじならべあそび)
(未来:「アクセシビリティ適応性を付加した」連続シフト系配列用の共用ロジックである「タイムシフト+プレフィックスシフト」を用いて、「アクセシビリティ対応のかえでライティあすか」を表現してみるテスト。 - 雑記/えもじならべあそび)
(参考:とりあえず親指シフト「エミュレータ」と親指シフト「ソフトウエアロジック」だけをJIS化してみよう!)


 今日のお題はazukiさんのコメントから。

# azuki 『すみません,正しい社名は「サニコン」です。
ノートパソコンを左手で差さえつつ,右手で一本指打法風に入力する状況のとき,
表の入力,裏の入力,右領域の逆の入力は何とか大丈夫ですが,問題は左領域の
逆の入力です。例えば“が”“だ”“ご”“う゛”“じ”“で”“げ”“び”
“ず”“ぶ”あたりは,腕をぐいっと引っくり返さなければなりません。また,
右手で支えて左手で入力するする人は,右領域の逆の入力に難儀するでしょう。
こういった状況では,同時打鍵ではなく逐次打鍵で,親指キーと文字キーを
ポンポンと打鍵することを許してもらえるとありがたいと思います。
“あ”“り”は同時打鍵,“が”は逐次打鍵,“た”“い”は単独打鍵,と
いう具合に。』 (2006/05/26 06:41)

# maple_magician 『 繭姫モード2で実現できるかも?あとで試してみます。』 (2006/05/26 07:19)

# azuki 『あ,でもそれだと[無変換]キーや[変換]キーとして使えないですね。orz
逐次打鍵用のシフトキーは,別に割り当てるのが良さそうです。』 (2006/05/26 20:43)


 で、次に「仮名漢字変換システム用同時打けん型入力法 X 9xxx-200x」から引用。

6.2 一本指操作についての対応

 一回の動作で1つのキーしか打けん出来ないような場合,2つのキーを同時に操作する同時打けん入力を行うことができない。

 これを回避するために,「一本指操作」を許容する設定を持つエミュレータは,右シフトキーもしくは左シフトキー単独打けんの後,文字キーを押した場合も同時打けんと認める。

 「一本指操作」機能を有効にした場合,右シフトキーおよび左シフトキーはプレフィックス形シフトとして機能させる。

 「一本指操作」機能を有効にし,かつ右シフトキーもしくは左シフトキーを2回連続で打けんした場合,右シフトキーもしくは左シフトキーに本来割り当てられている機能の取り扱いについては,次の条件に従い挙動を決定する。

 a.「2回連続で打けんすれば,本来の機能を用いる」設定にしている場合は,はじめてキー本来の機能として動作させる。

 b.「打けん数にかかわらず,本来の機能を無効にする」設定にしている場合は,プレフィックスシフトは維持される。


 この操作は、もともと「NICOLA配列規格書」(ワープロ側の「親指シフト」規格にのみ言及があり、NICOLAキーボードのJIS化案では無視されている)にある、次の記述を元にしています。

9.同時打鍵操作のアクセシビリティ対応
同時打鍵は親指キーと文字キーの同時操作が必要となるため、両手の動作に困難を伴う利用者の使用に対して考慮しておく必要がある。


9.2 一本指操作について
一回の動作で1つのキーしか打鍵出来ないような場合、2つのキーを同時に操作する同時打鍵入力を行うことができない。
9.2.1 一本指操作に対する対応
親指キー単独打鍵の後、文字キーを押した場合も同時打鍵と認める方法。

→ “親指キー単独打鍵コード+文字キーONコード”を受信した場合にも
  同時打鍵と認めるように本体側のソフトウェアで対応する。

利点:キーボード側の変更は不要。
欠点:受信側のソフトウェアの変更が必要。

親指キーの単独打鍵を使う必要の無い、変換/無変換キーを独立して持つシステムならば、受信側のキーコード解析プログラムを変更することで対応できる。

親指キー単独打鍵を変換/無変換キーとして用いるシステムの場合は、2回連続して親指キーを打鍵した場合に、変換/無変換動作を行うようにするなど上位レベルのソフトウェア対応が必要である。


 さて、こういうシステムは実現できるのでしょうか……?
 実は、【今すぐに】「繭姫(次期姫踊子草)」を用いて実現できます。
 姫踊子草は、「同時打鍵を含む操作を逐次打鍵すること」まで対応しているので、同時打鍵と逐次打鍵を併記するくらいはまるで難なく対応できています。
 しかも、右親指と左親指に設定したキーを無変換・変換へと振り替える操作もできるので、たとえば右親指と左親指のどちらかにスペースキーを使っていたとしても、「右親指の二打鍵で無変換・左親指の二打鍵で変換」という操作に振り替えることができます……つまり、JISキーボードを使っているにもかかわらず、Bスプリットで無変換・変換を配置した「親指シフトノート」の真似をできるわけで。


 ひとまず、以下に「一本指操作」に対応するNICOLA-J型配列用の「繭姫(次期姫踊子草)」定義を提示します。
 もとの定義は、鈴見咲さん作の【NICOLA(J型).hmo_kana】です。
 左親指キーを二打鍵で無変換・右親指キーを二打鍵で変換となる定義です……【a.「2回連続で打けんすれば,本来の機能を用いる」設定にしている場合は,はじめてキー本来の機能として動作させる。】という操作を拡張しています。
 右親指キーを単独打鍵した後に文字キーを押した場合と、左親指キーを単独打鍵した後に文字キーを押した場合は、それぞれシフト側の文字が出ます。

visible=1←この行は常に先頭に置き、かつ削除しないでください。
'
' NICOLA(J型) with prefix shift support.hmo_kana
' http://nicola.sunicom.co.jp/
' 1999-07-29原案 2000-12-05修正の資料による
TypeModeDefault=8
StrokeMode=2
MultiDownHold=LR

'左シフト2打鍵で無変換
=L
L	X
'右シフト2打鍵で変換
=R
R	Y

'最上段左親指シフト
'「={?}」は同時打鍵部、「=?」は逐次打鍵部
={L}
12345	!$”$#$$$%
67890	「$」$($)$未
-^\	=$〜$|
=L
12345	!$”$#$$$%
67890	「$」$($)$未
-^\	=$〜$|

'最上段右親指シフト
'「={?}」は同時打鍵部、「=?」は逐次打鍵部
={R}
12345	?$/$#$「$」
67890	&$’$($)$未
-^\	=$〜$|
=R
12345	?$/$#$「$」
67890	&$’$($)$未
-^\	=$〜$|

'シフト無し
=
qwert	。$か$た$こ$さ
asdfg	う$し$て$け$せ
zxcvb	.$ひ$す$ふ$へ

yuiop@[	ら$ち$く$つ$,$、$゛
hjkl;:	は$と$き$い$ん$未
nm,./	め$そ$ね$ほ$・

'親指シフト:対手濁音
'「={?}」は同時打鍵部、「=?」は逐次打鍵部
={R}	+
qwert	゜$が$だ$ご$ざ
asdfg	ヴ$じ$で$げ$ぜ
zxcvb	却$び$ず$ぶ$べ
=R	+
qwert	゜$が$だ$ご$ざ
asdfg	ヴ$じ$で$げ$ぜ
zxcvb	却$び$ず$ぶ$べ
={L}	+
yuiop	ぱ$ぢ$ぐ$づ$ぴ
hjkl;:	ば$ど$ぎ$ぽ$未$未
nm,./	ぷ$ぞ$ぺ$ぼ$゛
=L	+
yuiop	ぱ$ぢ$ぐ$づ$ぴ
hjkl;:	ば$ど$ぎ$ぽ$未$未
nm,./	ぷ$ぞ$ぺ$ぼ$゛

'親指シフト:同手清音
'「={?}」は同時打鍵部、「=?」は逐次打鍵部
={L}	*
qwert	ぁ$え$り$ゃ$れ
asdfg	を$あ$な$ゅ$も
zxcvb	ぅ$ー$ろ$や$ぃ
=L	*
qwert	ぁ$え$り$ゃ$れ
asdfg	を$あ$な$ゅ$も
zxcvb	ぅ$ー$ろ$や$ぃ
={R}	*
yuiop@[	よ$に$る$ま$ぇ$未$゜
hjkl;:	み$お$の$ょ$っ$未
nm,./	ぬ$ゆ$む$わ$ぉ
=R	*
yuiop@[	よ$に$る$ま$ぇ$未$゜
hjkl;:	み$お$の$ょ$っ$未
nm,./	ぬ$ゆ$む$わ$ぉ

'LessonQのための定義
=
 	空


 えーと……とりあえず「繭姫サイコー!」と叫んでみます。
 というか、あの「仮名漢字変換システム用同時打けん型入力法 X 9xxx-200x」という規格案自体が「繭姫の挙動を基にして書いた」様なものなので、実は「容易に定義できて当たり前」だったりするのは……ここだけのヒミツかもです^^;。
 サァ、次の「デフォルト親指シフトエミュレータ」は繭姫で決まりでしょう!……って、ホントに良いのかそれで^^;

で、また記述ミスを見つけた。

 早速、「仮名漢字変換システム用同時打けん型入力法 X 9xxx-200x」を修正。追記部分は下線引きしました。

6.2 一本指操作についての対応

 一回の動作で1つのキーしか打けん出来ないような場合,2つのキーを同時に操作する同時打けん入力を行うことができない。

 これを回避するために,「一本指操作」を許容する設定を持つエミュレータは,右シフトキーもしくは左シフトキー単独打けんの後,文字キーを押した場合も同時打けんと認める。

 「一本指操作」機能を有効にした場合,右シフトキーおよび左シフトキーは同時打鍵シフトを有効にしたままプレフィックス形シフトとして機能させる。

 「一本指操作」機能を有効にし,かつ右シフトキーもしくは左シフトキーを2回連続で打けんした場合,右シフトキーもしくは左シフトキーに本来割り当てられている機能の取り扱いについては,次の条件に従い挙動を決定する。

 a.「2回連続で打けんすれば,本来の機能を用いる」設定にしている場合は,はじめてキー本来の機能として動作させる。

 b.「打けん数にかかわらず,本来の機能を無効にする」設定にしている場合は,プレフィックスシフトは維持される。

 c.「2回連続で打けんすれば,無変換もしくは変換の機能を用いる」設定にしている場合は,左シフトは無変換として,右シフトは変換として動作させる。