問題タブ [keyboard-events]

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 に答える
9390 参照

c# - KeyDown イベントで NumberDecimalSeparator を検出する方法 (C#)

ユーザーがテキストボックスで小数点記号を押したかどうかを確認し、他のパラメーターに応じてそれを許可または抑制しようとしています。

NumberdecimalSeparator は 46 または '.' として返されます。私の米国のシステムで。他の多くの国では、セパレータとして「,」が使用されています。ピリオドを押すと、KeyDown イベントによって KeyValue が 190 に設定されます。

コンマ/ピリオドを探し続けるだけですか、それとももっと良い方法がありますか?

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

mouse - xwindowsで中クリックをシミュレートするためにキープレスをマップすることは可能ですか?

Xwindowsでマウスのミドルキークリックのように動作するようにキープレスイベントをマッピングすることは可能ですか? それらは異なるデバイスであることはわかっていますが、C プログラムから中ボタンのクリック イベントをトリガーする方法があれば、既存の xwindows メカニズムを使用してキーを簡単にバインドできるはずです。

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

.net - DataGridViewデータセルからキーが押されたキーダウンイベントを取得する方法

コントロール内のセル編集中にキー押下イベントを受信する必要がありますDataGridView

私がネット上で見つけたものから、DataGridViewはすべての主要なイベントをセル編集コントロールに渡すように設計されてDataGridViewおり、これらのイベントを簡単に取得することはできません。

これらのイベントを制御のためにトラップするこのコードを見つけましDataGridたが、では機能しませんDataGridView

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

javascript - キーボード/マウスのアクティビティをチェックするためのビルド済みの Javascript はありますか?

ユーザーがページに費やした時間を追跡するために、キーボードとマウスのイベントを監視する Javascript が必要です。具体的には、入力するか、マウスで移動/クリックしてページを積極的に使用します。

時間を節約するのに役立つかもしれない何かを誰かが知っているかどうか尋ねたいと思いました。それ以外の場合は、Javascript とアスピリンが来ます... 笑

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

c++ - ショートカットを決定するためにキーボード文字を読み取る

私はドキュメントアプリケーションに取り組んでおり、このアプリケーションの一部では、キーボードが押されたイベントを読み取り、そのキーボード入力が事前定義された短い形式/単語と一致する場合に事前定義された文字セットを置き換えるサポートを追加する必要があります。実際のアプリケーションは C++ で実装されています。

これを実装する方法についてのあなたの考えを教えてください。参照用のサンプル C++ プログラムはありますか? アルゴリズム/概念?

0 投票する
13 に答える
175165 参照

javascript - JavaScript と jQuery、クロスブラウザーを使用したキー押下イベント (F1-F12) の処理

JavaScript と jQuery を使用して F1-F12 キーを処理したいと考えています。

どのような落とし穴を避けるべきかはわかりません。現在、Internet Explorer 8、Google Chrome、および Mozilla FireFox 3 以外のブラウザーで実装をテストすることはできません。

完全なクロスブラウザー ソリューションへの提案はありますか? 十分にテストされた jQuery ライブラリのようなものか、それとも単純な jQuery/JavaScript のようなものでしょうか?

0 投票する
4 に答える
8038 参照

actionscript-3 - AS3: キーの長押しを検出する

「長押し」に反応する必要があるインターフェースがあります。これは、キーが押されていた時間に基づいて、同じキーに対して 2 つの異なるアクションを意味します。

左カーソルを押す: アクション A

左カーソルを押し続ける: アクション B

うーん、思ったより難しくなってきました。主な問題は、キーを押したままにすると、Keyboard.KEY-DOWN と Keyboard.KEY-UP の両方が連続して起動することです。これは私には奇妙に見えますが、テキストを代入することを考えると理にかなっているかもしれません (テキストを入力してキーを押したままにすると、スペースが埋まり始めます)。

この問題に取り組もうとしていたとき、KEY-DOWN でカウンターを開始し、KEY-UP でリセットすることを考えました。次に、特定のしきい値に達した場合、イベントを発生させます。問題は、常に KEY-UP イベントが発生するため、カウンターがすぐにリセットされることです。

BigRoomSenocularなどのキーボード ポーリング クラスは認識していますが、同じイベントに基づいてステータスを設定しているため、問題は解決しません。

KEY-DOWNでタイマーを開始し、xミリ秒後にキーがまだ押されているかどうかを確認するタイマーを使用できますが、それはキーが常に押されていると仮定します。信頼できるとは思えません。

そして、これは私がアイデアを使い果たし始めているポイントです. 私が見落としたもっと簡単な方法はありますか?あることを願っています!

ありがとう、

ファン

0 投票する
4 に答える
4263 参照

python - 3つ以上のキーが同時に押されたときにPyGameがイベントを受信しない

私はPyGameで簡単なゲームを開発しています... ロケット船が飛び回って物を撃っています。


質問:一度にあまりにも多くのキーが押されると、pygame がキーボード イベントの発行を停止するのはなぜですか?

キー処理について:KEYSTATE_FIRE, KEYSTATE_TURNLEFTプログラムには、 などの多くの変数があります。

  1. KEYDOWNイベントが処理されると、対応する変数が True に設定さKEYSTATE_*れます。
  2. イベントが処理されるKEYUPと、同じ変数が False に設定されます。

問題:UP-ARROWとが同時に押されている 場合、LEFT-ARROWが押されたときに pygame はKEYDOWNイベントを発行しませんSPACE。この動作はキーによって異なります。文字を押すと、pygame がKEYDOWN追加のキーのイベントの発行を停止する前に、約 5 個の文字を保持できるようです。

検証:メイン ループでは、受信した各イベントを単純に出力して、上記の動作を検証しました。

コード:参考までに、この時点で重要なイベントを処理する (大雑把な) 方法を次に示します。

このシーケンスを押す場合:

  • a (down)
  • s (down)
  • d (down)
  • f (down)
  • g (down)
  • h (down)
  • j (down)
  • k (down)
  • a (up)
  • s (up)
  • d (up)
  • f (up)
  • g (up)
  • h (up)
  • j (up)
  • k (up)

出力は次のとおりです。

  • <Event(2-KeyDown {'scancode': 30, 'key': 97, 'unicode': u'a', 'mod': 0})>
  • <Event(2-KeyDown {'scancode': 31, 'key': 115, 'unicode': u's', 'mod': 0})>
  • <Event(2-KeyDown {'scancode': 32, 'key': 100, 'unicode': u'd', 'mod': 0})>
  • <Event(2-KeyDown {'scancode': 33, 'key': 102, 'unicode': u'f', 'mod': 0})>
  • <Event(3-KeyUp {'scancode': 30, 'key': 97, 'mod': 0})>
  • <Event(3-KeyUp {'scancode': 31, 'key': 115, 'mod': 0})>
  • <Event(3-KeyUp {'scancode': 32, 'key': 100, 'mod': 0})>
  • <Event(3-KeyUp {'scancode': 33, 'key': 102, 'mod': 0})>
  • <Event(2-KeyDown {'scancode': 36, 'key': 106, 'unicode': u'j', 'mod': 0})>
  • <Event(2-KeyDown {'scancode': 37, 'key': 107, 'unicode': u'k', 'mod': 0})>
  • <Event(3-KeyUp {'scancode': 36, 'key': 106, 'mod': 0})>
  • <Event(3-KeyUp {'scancode': 37, 'key': 107, 'mod': 0})>

これはよくある問題ですか?回避策はありますか? そうでない場合、pygame を使用する際の複数キー制御の問題を処理する最良の方法は何ですか?

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

c++ - 文字列 (文字列) をアクティブなウィンドウに送信する

シリアル ポート (/dev/ttyS1) から外部デバイス (バーコード スキャナー) から文字を読み取り、現在アクティブなウィンドウに (XSendEvent を使用して) フィードする簡単なプログラムを作成しました。

プログラムは高速のコンピュータでは正常に動作しますが、低速のコンピュータでは、(非常に頻繁に) 文字が送信された順序で受信されないという状況が発生します。たとえば、スキャナは 1234567 をシリアル ポートに送信し、プログラムは char イベント 1234567 を送信しますが、アクティブなプログラム (xterm など) は 3127456 を受信します。さまざまな場所で XSync を呼び出し、 usleep呼び出しを追加しようとしましたが、役に立ちませんでした。

文字の「順序」を強制する方法を知っている人はいますか?

または、アクティブなウィンドウに文字列を送信する他の方法はありますか (必要に応じて外部プログラムを使用してもかまいません)。

コードは次のとおりです。おそらく、何か間違ったことをしているだけです。

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

c - SendInput()でkbd修飾子を指定するにはどうすればよいですか?

Windows APIのSendInput()呼び出しを使用して、キーボードイベントをシミュレートしています。次のスニペット(無関係な詳細は省略)は、一連の文字を送信するために完全に機能します。

現在、修飾子を使用して1回のキー押下を送信しようとしています。次のコードを試しました。

ただし、修飾子は通過しないようです。つまり、たとえばcontroltrueに設定されていても、イベントシーケンスは単純なキー押下として受信されます。