問題タブ [keyboard-input]

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 投票する
1 に答える
1024 参照

c++ - ncurses getch()は1文字おきにスキップします

ncursesがgetch()でキーボード入力を取得するテトリスゲームを書いています。完成したゲームではnodelay()がアクティブになりますが、テスト目的でコメントアウトしています。何らかの理由で、私のゲームループによって呼び出された入力関数は、1つおきの文字を無視しています。たとえば、「q」を入力すると、プログラムが閉じます。aqaqaqaqaqのシーケンスを入力すると、qが登録されないため、プログラムが閉じることはありません。以下は私のncursesコードである関数であり、その下は私の入力関数です。

編集:重要な場合は、Windowsのvirtualboxで実行されているUbuntuでコードをテストしています。

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

c++ - キーの Windows 認識後にキーボード入力を検出する

押されたボタンの値を画面に出力するプログラムを作成しています。プログラムのウィンドウがアクティブでないときにも機能する必要があります。問題なく動作する GetAsyncKeyState(int) を使用してみました。ただし、特定の文字列をキーに付けることができますが、すべてのタイプのキーボードで機能するとは限りません (たとえば、英語のキーボードでは shift+2 は @ ですが、私のキーボードではそうではありません)。Windows で行われるキー入力 (メモ帳に書き込むときに画面に出力される文字) の後処理を検出するにはどうすればよいですか?

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

c# - Shift キーを押しながら取得した char を取得するにはどうすればよいですか?

私が意味することをよりよく説明しようとします。また、質問を言語から解放しようとしますが、何かを参照することなく C# でやりたいことを行う方法があれば、それは素晴らしいことです. ともかく。

キーボード入力を処理し、文字列に変換しています。大丈夫だ。Shift キーと CapsLock キーのステータスを取得し、それを EXOR して、結果の文字列の大文字と小文字を区別します。

そして、今のところ問題はありません。Shift キーを押しながら、または capslock を切り替えた状態でユーザーが「a」を入力すると、「A」になります。

ただし、ユーザーが「!」(「1」にシフトを加えたもの) を入力すると、大文字の「1」は「1」のままであるため、1 しか取得できません。

この質問をする前にウェブを少し調べましたが、「キーを自分でマップする」というものしか得られませんでした。それが本当に唯一の答えですか?また、キーをマッピングした後で、別のキーボード レイアウトを持つユーザーがアプリケーションを使用しようとするとどうなるでしょうか。前もって感謝します。

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

javascript - 特定のキーが押されている限り、関数をループで実行する

矢印キーが押されている限り、特定のコードを繰り返し実行したい。私は 1 週間で JavaScript についてできるだけ多くのことを取り上げようとして、このコードを書きました (以下を参照) が、うまくいきません。現在、ページに何かを印刷しようとしていますが、最終的な実装では、ファイルを繰り返し実行する必要があります。また、既に画面に表示されているものを消去せずに、新しく実行された関数の結果を印刷する方法を知りたいです。

PS: 私のスクリプト スキルが悪いことをお許しください。私が取り組んでいるプロジェクトに統合するために、急いですべてを把握しようとしました。

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

python - Pygameキーボード入力イベントラグ

pygameで小さなプログラムを書いた後、問題が発生しました。プログラムは、分割された .GIF アニメーションを取得し、次の方法で画像 (gif のフレーム) を読み込みます。

これは、配列に追加される pygame surface オブジェクトを返します。プログラムは、合計6 つの配列を使用して、約15 フレームを配列にロードします。

私が抱えている問題は、while ループを介して入力を受け入れるときです。ループはアイドル アニメーションと実行中のアニメーションを正常に再生します、キーボードからの入力を受け入れると (pygame のイベント リストから入力を取得します...)

for event in pygame.event.get():経由pygame.KEYDOWN

非常に顕著なラグがあり、応答しないアニメーション セットの切り替えが発生します。この方法でゲームを作る場合は、修正する必要があります。私のコードは非効率的だと思いますが、一時停止を作成しないだけで十分です。どんな助けでも素晴らしいでしょう。

私の推測?pygame.clock.tick()ある種のイベントラグを作成していますが、イベントラグが発生した場合でも、これを修正する方法がわかりません。

問題があると思われるループは次のとおりです。

ここには示されていませんが、いくつかの変数が使用されています。

charfps = 30
currentchar.posx, currentchar.posy両方のタプル(300, 240)

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

javascript - JavaScript を使用して複数の同時キーボード入力を読み取る

JavaScript でのキーボード入力で奇妙な動作に気付きました。ここで本当に明らかなことを見逃しているかもしれませんが、どのキーを同時に押すことが許可されているかについて何らかの規則がありますか?

次のように、ブール変数を使用して 4 つのキーのそれぞれの状態を保持しています。これにより、多くのキーを同時に押すことができます (ハードウェアが許可する)。

私が試した2台のマシンで、次のjsfiddleを使用すると、スペースを上下に同時に押すことができますが、スペースを上下に押すことはできません。これらの 2 台のマシンでは、Chrome、FF、および IE で同じことを行っています。3 台目のマシンでは問題なく動作し、4 つのキーすべてを同時に保持できます。

おそらくこれはハードウェアに関連していますが、私の主な質問は、左右のキーの操作に違いがあるのはなぜですか? 一貫性がないように見えますが、それには正当な理由があると確信しています。

http://jsfiddle.net/SYs5b/

(イベントを発生させるには、結果ペイン内をクリックする必要があります)