「長押し」に反応する必要があるインターフェースがあります。これは、キーが押されていた時間に基づいて、同じキーに対して 2 つの異なるアクションを意味します。
左カーソルを押す: アクション A
左カーソルを押し続ける: アクション B
うーん、思ったより難しくなってきました。主な問題は、キーを押したままにすると、Keyboard.KEY-DOWN と Keyboard.KEY-UP の両方が連続して起動することです。これは私には奇妙に見えますが、テキストを代入することを考えると理にかなっているかもしれません (テキストを入力してキーを押したままにすると、スペースが埋まり始めます)。
この問題に取り組もうとしていたとき、KEY-DOWN でカウンターを開始し、KEY-UP でリセットすることを考えました。次に、特定のしきい値に達した場合、イベントを発生させます。問題は、常に KEY-UP イベントが発生するため、カウンターがすぐにリセットされることです。
BigRoomやSenocularなどのキーボード ポーリング クラスは認識していますが、同じイベントに基づいてステータスを設定しているため、問題は解決しません。
KEY-DOWNでタイマーを開始し、xミリ秒後にキーがまだ押されているかどうかを確認するタイマーを使用できますが、それはキーが常に押されていると仮定します。信頼できるとは思えません。
そして、これは私がアイデアを使い果たし始めているポイントです. 私が見落としたもっと簡単な方法はありますか?あることを願っています!
ありがとう、
ファン