お次は漢直…ができないので、SandSによる文字入力テストを。

 引き続き繭姫用の飛鳥定義を用いています。
(2005年11月12日23:09:39追記: WantThemSelves=1 を、 WantThemselves=1 に修正しました。)


 先の記事で変更したとおり、既に StrokeMode=2 とそれに必要な記述変更は実施済み→ WantThemselves=1 もセット済みとなっています。
 この状態から、 SemiShift=$ をセット(セミシフト=SandS、ダラーはスペースバーを意味する代用記号)して、$シフト面を定義してみました。

'↓↓↓↓一部残骸混じり。シングルクォートで開始している行は無視してください。
'WantThemselves=1
'↑は、かな定義行末かつ漢字定義冒頭に転記する。

SemiShift=$
StrokeMode=2
'=a
'asdf 待$き$い$う
'{as}{ak} 待$き
'↑↑↑↑一部残骸混じり。シングルクォートで開始している行は無視してください。


'スペースシフトSandSテスト。
={$}
qwert 「ー$ーー$じー$ぴー$%ー
asdfg きー$しー$うー$てー$ぎー
zxcvb ほー$せー$みー$ぶー$びー
yuiop@[ −ー$・ー$とー$はー$へー$」ー$¥ー
hjkl;:] ゆー$んー$いー$かー$たー$けー$却
nm,./_ ゃー$っー$ょー$ゅー$めー$,

 これもきちんと動いて…あれれ、文字キーを押したままスペースを押すと、同時打鍵として処理されてしまうようです…むー、ちょっと微妙かも。
 「$」をスペースに変えてみても、結果は同じでした。
 …って、よくよくドキュメントを見ると「同時打鍵」って書いてありますね…SandS指定は意味なし、ということなのかも。
 ひとまずはこのままにしておきましょうか。

更に続いて2打鍵テストを。

 「スペース+Aキー」→「A/S/D/F/Gのうちいずれかのキー」という2ストロークが動くかどうかテストしてみました。

 ※ここから先は、「SemiShift= 」(←最後は半角空白)などとして、半角空白を定義に使用しています…これは個人的な趣味なので、通常は$(空白代用)を用いて空白を表現してもかまわないと思います。

'↓↓↓↓一部残骸混じり。シングルクォートで開始している行は無視してください。
'WantThemselves=1
'↑は、かな定義行末かつ漢字定義冒頭に転記する。

SemiShift=
StrokeMode=2
'=a
'asdf 待$き$い$う
'{as}{ak} 待$き
'↑↑↑↑一部残骸混じり。シングルクォートで開始している行は無視してください。


'スペースシフトSandSテスト。

={ }
qwert 「ー$ーー$じー$ぴー$%ー
zxcvb ほー$せー$みー$ぶー$びー
yuiop@[ −ー$・ー$とー$はー$へー$」ー$¥ー
hjkl;:] ゆー$んー$いー$かー$たー$けー$却
nm,./_ ゃー$っー$ょー$ゅー$めー$,


'SandS経由の2打鍵目単打テスト。
={ a}
asdfg き2たんだ$し2たんだ$う2たんだ$て2たんだ$ぎ2たんだ

 はい、問題なく動いています。「スペース+A」→「S」で、「し2たんだ」と出ていますので、定義通りと言うことで。
 #定義内容がテキトーすぎる点は…気になさらないでください…orz

ついでに連続シフトの動作もチェック。

'SandS経由の2打鍵目単打テスト。
={ a}
asdfg き2たんだ$し2たんだ$う2たんだ$て2たんだ$ぎ2たんだ

'SandS経由の2打鍵目連続シフトテスト。
={ s}
{ a}{ s}{ d}{ f}{ g} き2れんぞく$し2れんぞく$う2れんぞく$て2れんぞく$ぎ2れんぞく

 こちらも問題なく動いています。「スペース+S」→「スペース+D」で、「う2れんぞく」と出ていますので、定義通りと言うことで。
 #定義内容がまたもやテキトーすぎる点は…気になさらないでください…orz

次はシフトスペースの連続3シフト。

'SandS経由の2打鍵目単打テスト。
={ a}
asdfg き2たんだ$し2たんだ$う2たんだ$て2たんだ$ぎ2たんだ

'SandS経由の2打鍵目連続シフトテスト。
={ s}
{ a}{ s}{ d}{ f}{ g} き2れんぞく$し2れんぞく$う2れんぞく$て2れんぞく$ぎ2れんぞく

'SandS経由の3打鍵目連続シフトテスト。
={ d}{ s}
{ a}{ s}{ d}{ f}{ g} き3れんぞく$し3れんぞく$う3れんぞく$て3れんぞく$ぎ3れんぞく

 こちらも問題なく動いています。「スペース+D」→「スペース+S」→「スペース+F」で、「て3れんぞく」と出ていますので、定義通りと言うことで。
 #定義内容がまたもや(略)

次はシフトスペースの連続2シフト→無シフト一打。

'SandS経由の2打鍵目単打テスト。
={ a}
asdfg き2たんだ$し2たんだ$う2たんだ$て2たんだ$ぎ2たんだ

'SandS経由の2打鍵目連続シフトテスト。
={ s}
{ a}{ s}{ d}{ f}{ g} き2れんぞく$し2れんぞく$う2れんぞく$て2れんぞく$ぎ2れんぞく

'SandS経由の3打鍵目連続シフトテスト。
={ d}{ s}
{ a}{ s}{ d}{ f}{ g} き3れんぞく$し3れんぞく$う3れんぞく$て3れんぞく$ぎ3れんぞく


'SandS経由の2打鍵目連続シフト→無シフト一打のテスト。
={ d}{ f}
asdfg き2れんぞくたす1む$し2れんぞくたす1む$う2れんぞくたす1む$て2れんぞくたす1む$ぎ2れんぞくたす1む

 こちらも問題なく動いています。「スペース+D」→「スペース+F」→「S」で、「し2れんぞくたす1む」と出ていますので、定義通りと言うことで。
 #定義内容がまたもや(略)


とりあえずの調査結果。

 とりあえず、繭姫側で漢字がスルーできるかどうかという問題さえクリアすれば、仕掛け的には「繭姫での親指シフト系配列+漢直混合配列は可能」な様です。
 …というか、「可能なようです」ではなくて「可能です」ですね。
 スペースキーを用いてシフトするか、あるいは小指シフトキーを用いてシフトするか、ひらがなキーを用いてシフトするか、文字キー同時打鍵を用いてシフトするか…等々、シフトの開始方法には色々とあるかと思いますが、その辺は実際に使う人が決めるべき問題かと思います。


 とりあえず漢直を実装するとなれば、既存の漢直系配列を「全てスペースシフトによる連続シフトにして実装してしまう」のが、(だいぶやっつけな方法論ではありますが)手っ取り早いかもしれません。
 動作検証を行うだけであれば、こういう方法論もあり…なのかも。


 もっとも、実際には「スペースシフトのまま打鍵し続ける/スペースシフトを途中で切って打鍵する」という2パタンが選べるので、その分だけ「疑似2打鍵で入力可能な文字数は増える」とも言えますが…ちょっと打鍵時に混乱するかもしれず、それが有効かどうかは不明です。