問題タブ [autorepeat]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
2126 参照

delphi - Delphi:TActionショートカットキーの自動繰り返しを停止するにはどうすればよいですか?

一部のアクションにショートカットキーを使用して、DelphiTActionListを使用しています。

キーボードの自動リピートによって特定のアクションが複数回トリガーされないようにしたいのですが、自動リピートの動作にグローバルに影響を与えたくありません。これを行うための最良の方法は何ですか?

明確化:私はまだ複数の高速キー押下を処理する必要があります-無視したいのは自動リピートによって生成されたキー押下だけです。

0 投票する
3 に答える
4673 参照

keyboard - キーボードの自動リピートはWindowsPCにどのように実装されていますか?

Windowsで自動繰り返しのキー押下をインターセプトできるようにしたい(そして任意の処理を実行できるようにしたい)。キーボードの自動リピートがどのように実装されているかを知りたいので、どのオプションがあるかを知ることができます。つまり、次の場所で傍受できますか?

  • 応用、
  • デバイスドライバおよび/または
  • ハードウェアレベル

更新:自動リピートがハードウェアレベルで(不十分に?)生成され、デバイスドライバーによってオーバーライドされているようです(ここを参照)。

0 投票する
10 に答える
20966 参照

java - ユーザーが実際にJavaでキーをリリースしたことを知る方法は?

(わかりやすくするために編集)

キーボードの自動リピート機能を無視して、ユーザーがJavaSwingでキーを押して離したときを検出したいと思います。また、Linux、Mac OS、およびWindowsで動作する純粋なJavaアプローチを希望します。

要件:

  1. ユーザーがいくつかのキーを押したとき、それがどのキーか知りたいです。
  2. ユーザーがキーを離したとき、それがどのキーか知りたいです。
  3. システムの自動リピートオプションを無視したい:キーを押すたびに1つのキープレスイベントを受け取り、キーを離すごとに1つのキーリリースイベントだけを受け取りたい。
  4. 可能であれば、項目1から3を使用して、ユーザーが一度に複数のキーを押しているかどうかを確認します(つまり、ユーザーが「a」を押し、離さずに「Enter」を押します)。

私がJavaで直面している問題は、Linuxでは、ユーザーがキーを押したときに、多くのkeyPressイベントとkeyReleaseイベントが発生することです(キーボードの繰り返し機能のため)。

私はいくつかのアプローチを試しましたが成功しませんでした

  1. キーイベントが最後に発生した時刻を取得します。Linuxでは、キーの繰り返しではゼロのように見えますが、MacOSではそうではありません。
  2. 現在のkeyCodeが最後のkeyCodeと異なる場合にのみ、イベントを検討します。これにより、ユーザーは同じキーを2回続けて押すことができなくなります。

コードの基本的な(機能しない)部分は次のとおりです。

ユーザーがキー(つまり、「p」)を保持すると、システムは次のように表示します。

少なくともLinuxでは、キーが保持されている間、JVMはすべてのキーイベントを再送信し続けます。さらに難しいことに、私のシステム(Kubuntu 9.04 Core 2 Duo)では、タイムスタンプが変化し続けます。JVMは、同じタイムスタンプでキーの新しいリリースと新しいキーの押下を送信します。これにより、キーが実際にいつリリースされたかを知ることが難しくなります。

何か案は?

ありがとう

0 投票する
6 に答える
10969 参照

keyboard - X11 アプリケーションで自動繰り返しを無視する

AutoRepeatが有効なときに X11 でキーを押したままにすると、 KeyPressイベントとKeyReleaseイベントを継続的に受け取ります。関数XAutoRepeatOff()を使用してAutoRepeatを無効にできることは知っていますが、これにより X サーバー全体の設定が変更されます。単一のアプリケーションのAutoRepeatを無効にする方法、または繰り返されるキーストロークを無視する方法はありますか?

私が探しているのは、X サーバーのAutoRepeat設定に干渉することなく、キーが押されたときの単一のKeyPressイベントと、キーが離されたときの単一のKeyReleaseイベントです。

これは、あなたが始めるための最小限の例です (主にBeginner Xlib Tutorialから):

0 投票する
3 に答える
606 参照

php - PHPスクリプトを自動繰り返します

データベースに保存されているデータの ID をエコーする php スクリプトを作成する方法を教えてください。たとえば 2 分後など、特定の時間後にそれ自体を繰り返します。cron ジョブや別のスケジューラを使用したくありません。php のみまたはjavascriptの実装。よろしくお願いします..

0 投票する
2 に答える
372 参照

javascript - HTML キーダウンは、それを保持している場合でも 1 回だけですか?

HTML ドキュメントに、矢印キーの 1 つが検出されたときにそれを検出して iframe の URL を変更するスクリプトがあります。キーを離すと、iframe が再び変更されます。

これは、キーが押されている間を除いて機能し、iframe の URL を設定するアクションを繰り返し続けます。

押したときにiframeのURLを1回だけ変更する方法はありますか? その後、リリースされると、URLが元に戻りますか?

おまけ: ウェブ上でリモコンカーを操作するページを作成しました。この問題を除けば、うまく機能します。基本的には、矢印キーごとに異なる get 変数を持つ PHP ページに iframe の URL を変更します。次に、PHP ページは PHP Serial を使用して、iframe から (GET を使用して) 送信された変数に基づいてデータをシリアル ポートに送信します。

助けてくれてありがとう!!!

編集:これは車の写真です。http://oi41.tinypic.com/21cimms.jpg

編集 2

ここにindex.htmlがあります

ここに backend.php があります

0 投票する
1 に答える
2783 参照

java - setOnKeyPressed の自動繰り返しを無効にする (JavaFX 2.1)

私は JavaFX2.1 で宿題をしていますが、setOnKeyPressedメソッドに問題があります。私のプログラムはピアノをシミュレートするので、ボタンをクリックするたびに音が鳴ります:「Q」は「ド」、「W」は「レ」など... (今のところ) マウス入力もあります。 、一度に複数の音符を演奏できないため、後で無効にします...

私の問題:キーを押したままにすると(もちろんマウスではなくキーボードで)、関連するイベントがループでトリガーされます...いくつかのテストを行ったところsetOnKeyPressed、 setOnKeyReleased ではなく のみがトリガーされることに気付きました。

いくつかの回避策を実行しましたが、期待どおりの結果が得られません:

  • キーが離されたかどうかを知るためにブール値を追加すると、一度に複数のキーを押す可能性が無効になります。
  • サウンドが再生された後に音量をオフにする(キーを離したときに音量を元に戻す)ことは、複数のキーでも機能するようですが、マウスを押した場合に比べてサウンドの持続時間がかなり短くなります同じキーで。

助言がありますか?

0 投票する
1 に答える
647 参照

javascript - Auto-Repeat Javascript キーダウン イベントのトリガー

キーを押したままにすると、キーを押している間、JavaScriptkeydownイベントが繰り返しトリガーされます。この効果をプログラムでシミュレートしたい。次のコードを試してみましたが、keydownイベントを 1 回だけトリガーします。

どんな助けでも大歓迎です。

0 投票する
2 に答える
1312 参照

c++ - X11 キーを押したままにすると、キーが押されて離されます

キーボードのキーを押したままにしているときに、KeyRelease イベントのスパムを停止するにはどうすればよいですか?

インターネットを検索したところ、タイマーをループに入れることを提案している人を見つけましたが、もっと効率的な方法が必要です。

X11 にオートリピートをオフにできるものはありませんか?