プレフィックスシフト付きの「かえで****あすか」に、致命的欠陥が見つかった……ので修正。
(関連:やまぶき用の(「──」と「……」がきちんと入力できる)「かえでライティあすか」定義。 - 雑記/えもじならべあそび)
(過去:「アクセシビリティ適応性を付加した」連続シフト系配列用の共用ロジックである「タイムシフト+プレフィックスシフト」を用いて、「アクセシビリティ対応のかえでライティあすか」を表現してみるテスト。 - 雑記/えもじならべあそび)
プレフィックスシフトを「誤打で」入力したときに、あとからスペースキーを押してもスペースキーのコードが出力されなかった……って、何でこんなのに気づかなかったんだorz。
……ってことで、以下のように修正。
'親指用の左シフト2打鍵で「無変換(NonConvert)」キーコードを送出。 =L L X 空 【 ← こ の 行 を 追 加 】 '親指用の右シフト2打鍵で「変換(Convert)」キーコードを送出。 =R R Y 空 【 ← こ の 行 を 追 加 】
もう少し評価打鍵を続けてみないと、危なそうだなぁ……。
visible=1←この行は常に先頭に置き、かつ削除しないでください。 ' ' Prefix shift and time-shift support for kaede-righty-asuka layout.hmo_kana ' プレフィックスシフトを許容したタイムシフト方式の「かえでライティあすか」定義 ' ' ※このロジックは、新JISかなと、飛鳥カナ配列族で同一のものを使用します。 ' このロジック自体は、「新JISかな配列(JIS X 6004)」で実際に採用されたものと、 ' 「新JISかな配列(JIS X 6004)」設計時資料に明示されていた方法に準拠しています。 ' '────────────────────────────────────── ' 【ご案内】繭姫を使って「タイムシフト」をエミュレーションする方法について。 ' 「タイムシフト」ではないロジックを用いる繭姫で「タイムシフト」を実現する ' ためには、以下のように設定を行う必要があります。 ' ' まず、繭姫のアイコンで右クリックをして「設定」をクリックし「設定窓口/繭姫」 ' を出します。 ' ' つぎにタブ「時間」を出してから、以下の2ポイントを設定します。 ' 《同時打鍵として認める押下開始の最大ずれ時間》──0.040秒に設定。 ' 《SandS/飛鳥などの二打目(三鍵目)以降の要重複押下時間》──0.040秒に設定。 ' ' タイムシフトは「同時打鍵開始と同時打鍵終了のタイミングを同じだけずらす」 ' ロジックとなるため、繭姫に装備されている調整部分を以上のように調整すると、 ' 一般的にソフトウェアで再現可能なタイムシフトロジックと、同等の挙動となります。 '────────────────────────────────────── TypeModeDefault=8 StrokeMode=2 MultiDownHold=LR '親指用の左シフト2打鍵で「無変換(NonConvert)」キーコードを送出。 =L '''''''''''''''''''''L X <span style="font-weight:bold;"> 空 【 ← こ の 行 を 追 加 】</span> '親指用の右シフト2打鍵で「変換(Convert)」キーコードを送出。 =R '''''''''''''''''''''R Y <span style="font-weight:bold;"> 空 【 ← こ の 行 を 追 加 】</span> '【以下の配列定義を読む上での注意点について】 'シフト面の定義では、「={?}」は同時打鍵部、「=?」は逐次打鍵部をそれぞれ「同じ配列で」定義しています。 'シフト無し = WantThemselves=1 'ロマかな変換が余計なことをしやがるので、それを防ぐために直接投入。 y_ ──$…… [] [$] WantThemselves=0 '数字段はすべて、スルーして英字アンシフト側で出す。 qwertuiop@ 「$ー$じ$ぶ$%$・$と$は$ば$」 asdfghjkl;: き$し$う$て$ぎ$ゆ$ん$い$か$た$け zxcvbnm,./ ぴ$ち$み$に$ぢ$ゃ$っ$ょ$ゅ$め '親指用の左シフト……数字段は【+】付きの小指シフトモード。 '「={?}」は同時打鍵部、「=?」は逐次打鍵部 ={L} + 1234567890-^\ !$”$#$$$%$&$’$($)$+$=$〜$| qwertyuiop@[ ぜ$せ$え$ぁ$ぅ$ぇ$ぃ$よ$ふ$!$)${ asdfghjkl;:] だ$さ$あ$り$ぉ$ず$る$す$ま$で$げ$} zxcvbnm,./ ざ$ひ$ね$び$ヴ$や$が$、$。$? =L + 1234567890-^\ !$”$#$$$%$&$’$($)$+$=$〜$| qwertyuiop@[ ぜ$せ$え$ぁ$ぅ$ぇ$ぃ$よ$ふ$!$)${ asdfghjkl;:] だ$さ$あ$り$ぉ$ず$る$す$ま$で$げ$} zxcvbnm,./ ざ$ひ$ね$び$ヴ$や$が$、$。$? '親指用の右シフト……数字段は【&】重複の右手飛鳥モード。 '「={?}」は同時打鍵部、「=?」は逐次打鍵部 ={R} * WantThemselves=1 'ロマかな変換が余計なことをしやがるので、それを防ぐために直接投入。 [] 「$」 WantThemselves=0 1234567890-^\ !$”$#$$$%$&$゛$<$>$゜$却$却$却 qwertyuiop@ ($ぷ$れ$ぱ$&$〜$ぞ$そ$こ$ご$ぽ asdfghjkl;: わ$お$な$ら$づ$ぬ$く$の$つ$ほ$ろ zxcvbnm,./ ぺ$べ$へ$ぐ$*$む$を$ど$も$ぼ =R * WantThemselves=1 'ロマかな変換が余計なことをしやがるので、それを防ぐために直接投入。 [] 「$」 WantThemselves=0 1234567890-^\ !$”$#$$$%$&$゛$<$>$゜$却$却$却 qwertyuiop@ ($ぷ$れ$ぱ$&$〜$ぞ$そ$こ$ご$ぽ asdfghjkl;: わ$お$な$ら$づ$ぬ$く$の$つ$ほ$ろ zxcvbnm,./ ぺ$べ$へ$ぐ$*$む$を$ど$も$ぼ '小指シフト入力……スラッシュ【/】はこの面で。 '「={?}」は同時打鍵部、「=?」は逐次打鍵部 ={H} WantThemselves=1 'ロマかな変換が余計なことをしやがるので、それを防ぐために直接投入。 / / WantThemselves=0 @;:,. F;M@$F;M;$F;M:$F;M,$F;M. 'ほかのキーはすべて、スルーして英字シフト側で出す。 =H WantThemselves=1 'ロマかな変換が余計なことをしやがるので、それを防ぐために直接投入。 / / WantThemselves=0 @;:,. F;M@$F;M;$F;M:$F;M,$F;M. 'ほかのキーはすべて、スルーして英字シフト側で出す。 'LessonQのための定義 = 空
2010年1月13日1:08:54追記。
次のように書き換えました
'親指用の左シフト2打鍵で「無変換(NonConvert)」キーコードを送出。 =L '''''''''''''''''''''L X 空 【 ← こ の 行 を 追 加 】 '親指用の右シフト2打鍵で「変換(Convert)」キーコードを送出。 =R '''''''''''''''''''''R Y 空 【 ← こ の 行 を 追 加 】
2打鍵したときに「元のキーコードを吐いて、復帰」になっていたのですが、これを取りやめて「保持」にしました。