スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

繭姫版1.3000号構築#076/キャンセル判定の仕様について

  • Windows Me で繭姫を起動したまま Windows を終了しようとすると電源が切れない問題を回避したつもり。Windows XP 版でも同じように対策してあるけど、もともと私のマシンだと XP ではちゃんと電源が落ちてくれたのでUジローさんとこで機能してくれるかどうかは不明。
  • マウスの中央ボタンでログの表示/消去ができるようにしました。

かえでさんの記事から。

一打目の「同時打鍵が成立した」時点から、キャンセル用のタイマがカウントし始めるって事ですよね。で、キャンセル用タイマが動いている間に先押しキーが離されると、どの打数目であっても同時打鍵はキャンセルされる、と。

違いまふー。例えば飛鳥で連続シフトをかける場合、三つのキーが押されることになりますが、このうち二つ目のキーオンと三つ目のキーオンでタイマがカウントを始めます。

二つ目のキーオンで始まるタイマは一つ目と二つ目の同時打鍵の成立をチェック。三つ目のキーオンで始まるタイマは親指キーと三つ目のキーの同時押下が成立するかをチェック。

この場合、親指キーが一つ目であるか二つ目であるかはもちろん関係ありません。三つ目のキーとのチェックにおいては、親指キーが同時押下の先行キーとして扱われます。

…というふうに動いてなかったらバグですので教えてください。また、こういう設計ですからキャンセル判定用の時間設定はかなり小さいはずです。個人差もあるでしょうけど。

comment

Secret

解説いただきありがとうございます!

 だいぶ勘違いしていたようですみませんです。
 何となく動きが解ってきたところで、まずはまずは気づいた点を。


 飛鳥の場合、「 Down-親指 → Down-文字 → (キャンセル用タイマ時間内) → Up-親指 → Up-文字 」と打鍵した場合に、今まではシフトありとして処理されていたものが、シフトなしとして処理されてしまっています。
 (「Down-親指 → Down-文字 → (キャンセル用タイマ時間内) → Up-文字 → Up-親指 」であれば、通常通り同時打鍵処理されているようです)

 姫踊子草配列でも、「Down-S → Down-D → Up-S → Up-D 」の順で文字キーを打鍵すると、句読点ではなく「はけ」と出てくるようです。
 (こちらも、「Down-S → Down-D → Up-D → Up-S 」の順で打鍵すると、正しく句読点が出るようです)

 たとえば姫踊子草配列の場合に、これが正しい動作なのかどうかという点は判断しかねますが、同時打鍵処理としては少々解りづらい気がします。
 一文字目に関しては、同時打鍵判定のキャンセルを掛けない方が良いかも…と思いました。
 でもこれをすると、親指シフト同時打鍵と文字キー同士同時打鍵で処理を分けなければならない予感も…うーん。


 あるいは、押しているキーの全てについて、それぞれに「Doun-キー時刻 と Up-キー時刻」を取得して、同時挿下時間の方が長ければ同時打鍵として処理し、同時挿下時間の方が短ければそれぞれを単独打鍵として処理し…って、それでは現在の処理とまるで違いますよね…すみませんこれは忘れてくださいorz

 夜勤明けでダメダメなので、ちょっと出直してきます、はい。
リンク
RSSフィード
ブログ内検索
最近のトラックバック
月別アーカイブ
ブロとも申請フォーム

この人とブロともになる

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。