問題タブ [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.
c# - KeyDown イベントで NumberDecimalSeparator を検出する方法 (C#)
ユーザーがテキストボックスで小数点記号を押したかどうかを確認し、他のパラメーターに応じてそれを許可または抑制しようとしています。
NumberdecimalSeparator は 46 または '.' として返されます。私の米国のシステムで。他の多くの国では、セパレータとして「,」が使用されています。ピリオドを押すと、KeyDown イベントによって KeyValue が 190 に設定されます。
コンマ/ピリオドを探し続けるだけですか、それとももっと良い方法がありますか?
mouse - xwindowsで中クリックをシミュレートするためにキープレスをマップすることは可能ですか?
Xwindowsでマウスのミドルキークリックのように動作するようにキープレスイベントをマッピングすることは可能ですか? それらは異なるデバイスであることはわかっていますが、C プログラムから中ボタンのクリック イベントをトリガーする方法があれば、既存の xwindows メカニズムを使用してキーを簡単にバインドできるはずです。
.net - DataGridViewデータセルからキーが押されたキーダウンイベントを取得する方法
コントロール内のセル編集中にキー押下イベントを受信する必要がありますDataGridView
。
私がネット上で見つけたものから、DataGridView
はすべての主要なイベントをセル編集コントロールに渡すように設計されてDataGridView
おり、これらのイベントを簡単に取得することはできません。
これらのイベントを制御のためにトラップするこのコードを見つけましDataGrid
たが、では機能しませんDataGridView
。
javascript - キーボード/マウスのアクティビティをチェックするためのビルド済みの Javascript はありますか?
ユーザーがページに費やした時間を追跡するために、キーボードとマウスのイベントを監視する Javascript が必要です。具体的には、入力するか、マウスで移動/クリックしてページを積極的に使用します。
時間を節約するのに役立つかもしれない何かを誰かが知っているかどうか尋ねたいと思いました。それ以外の場合は、Javascript とアスピリンが来ます... 笑
c++ - ショートカットを決定するためにキーボード文字を読み取る
私はドキュメントアプリケーションに取り組んでおり、このアプリケーションの一部では、キーボードが押されたイベントを読み取り、そのキーボード入力が事前定義された短い形式/単語と一致する場合に事前定義された文字セットを置き換えるサポートを追加する必要があります。実際のアプリケーションは C++ で実装されています。
これを実装する方法についてのあなたの考えを教えてください。参照用のサンプル C++ プログラムはありますか? アルゴリズム/概念?
javascript - JavaScript と jQuery、クロスブラウザーを使用したキー押下イベント (F1-F12) の処理
JavaScript と jQuery を使用して F1-F12 キーを処理したいと考えています。
どのような落とし穴を避けるべきかはわかりません。現在、Internet Explorer 8、Google Chrome、および Mozilla FireFox 3 以外のブラウザーで実装をテストすることはできません。
完全なクロスブラウザー ソリューションへの提案はありますか? 十分にテストされた jQuery ライブラリのようなものか、それとも単純な jQuery/JavaScript のようなものでしょうか?
actionscript-3 - AS3: キーの長押しを検出する
「長押し」に反応する必要があるインターフェースがあります。これは、キーが押されていた時間に基づいて、同じキーに対して 2 つの異なるアクションを意味します。
左カーソルを押す: アクション A
左カーソルを押し続ける: アクション B
うーん、思ったより難しくなってきました。主な問題は、キーを押したままにすると、Keyboard.KEY-DOWN と Keyboard.KEY-UP の両方が連続して起動することです。これは私には奇妙に見えますが、テキストを代入することを考えると理にかなっているかもしれません (テキストを入力してキーを押したままにすると、スペースが埋まり始めます)。
この問題に取り組もうとしていたとき、KEY-DOWN でカウンターを開始し、KEY-UP でリセットすることを考えました。次に、特定のしきい値に達した場合、イベントを発生させます。問題は、常に KEY-UP イベントが発生するため、カウンターがすぐにリセットされることです。
BigRoomやSenocularなどのキーボード ポーリング クラスは認識していますが、同じイベントに基づいてステータスを設定しているため、問題は解決しません。
KEY-DOWNでタイマーを開始し、xミリ秒後にキーがまだ押されているかどうかを確認するタイマーを使用できますが、それはキーが常に押されていると仮定します。信頼できるとは思えません。
そして、これは私がアイデアを使い果たし始めているポイントです. 私が見落としたもっと簡単な方法はありますか?あることを願っています!
ありがとう、
ファン
python - 3つ以上のキーが同時に押されたときにPyGameがイベントを受信しない
私はPyGameで簡単なゲームを開発しています... ロケット船が飛び回って物を撃っています。
質問:一度にあまりにも多くのキーが押されると、pygame がキーボード イベントの発行を停止するのはなぜですか?
キー処理について:KEYSTATE_FIRE, KEYSTATE_TURNLEFT
プログラムには、 などの多くの変数があります。
KEYDOWN
イベントが処理されると、対応する変数が True に設定さKEYSTATE_*
れます。- イベントが処理される
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 を使用する際の複数キー制御の問題を処理する最良の方法は何ですか?
c++ - 文字列 (文字列) をアクティブなウィンドウに送信する
シリアル ポート (/dev/ttyS1) から外部デバイス (バーコード スキャナー) から文字を読み取り、現在アクティブなウィンドウに (XSendEvent を使用して) フィードする簡単なプログラムを作成しました。
プログラムは高速のコンピュータでは正常に動作しますが、低速のコンピュータでは、(非常に頻繁に) 文字が送信された順序で受信されないという状況が発生します。たとえば、スキャナは 1234567 をシリアル ポートに送信し、プログラムは char イベント 1234567 を送信しますが、アクティブなプログラム (xterm など) は 3127456 を受信します。さまざまな場所で XSync を呼び出し、 usleep呼び出しを追加しようとしましたが、役に立ちませんでした。
文字の「順序」を強制する方法を知っている人はいますか?
または、アクティブなウィンドウに文字列を送信する他の方法はありますか (必要に応じて外部プログラムを使用してもかまいません)。
コードは次のとおりです。おそらく、何か間違ったことをしているだけです。
c - SendInput()でkbd修飾子を指定するにはどうすればよいですか?
Windows APIのSendInput()呼び出しを使用して、キーボードイベントをシミュレートしています。次のスニペット(無関係な詳細は省略)は、一連の文字を送信するために完全に機能します。
現在、修飾子を使用して1回のキー押下を送信しようとしています。次のコードを試しました。
ただし、修飾子は通過しないようです。つまり、たとえばcontrol
trueに設定されていても、イベントシーケンスは単純なキー押下として受信されます。