問題タブ [keyevent]

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

java - KeyEventがJFramejavaによって生成されていませんか?

JFrameと3つのJButtonを含むJavaプログラムがあります。jframeにキーリスナーを追加しました。プログラムを実行すると、jframeウィンドウが開き、デフォルトで最初のボタンが選択されています。私の問題は、KeyEventがこのJFrameによって生成されていないことです。ここで、jframeにKeyListenerを追加するだけでなく、ボタンにもKeyListenerを追加しました。現在、キーイベントはボタンによって生成されています。

JButtonがKeyEventを生成する代わりに、JFrameがKeyEventを生成するようにするにはどうすればよいですか?

実際、私の主な目的は、ボタンのキーボードショートカットを作成することです。

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

java - Android での KeyEvent.KEYCODE_BACK の疑い

私は3つの活動をしています。1 つ目のアクティビティには、「右に進む」イメージ ボタンがあります。(2 つ目のアクティビティに移動) 2 つ目のアクティビティには、「右に移動」と「左に移動」の両方のイメージ ボタンがあります。(最初のアクティビティに戻るか、3 番目のアクティビティに移動します)。3 番目のアクティビティには、2 番目のアクティビティに移動するための「左に移動」ボタンがあります。そして、戻るキーを押すためのイベントを作成しました。

問題は、1 番目から 3 番目のアクティビティに移動し、戻ってきてから 3 番目のアクティビティに移動することです。1 つ目のアクティビティ --- クリックすると右に移動----> 2 つ目のアクティビティ --- クリックすると右に移動-----> 3 つ目のアクティビティ --- クリックすると左に移動----> 2 つ目のアクティビティ----クリックすると左に移動- ---> 1 番目のアクティビティ----クリックして右に移動----> 2 番目のアクティビティ---クリックして右に移動-----> 3 番目のアクティビティ。

3番目のアクティビティで戻るキーを押すと、2番目に移動します。ここでバックキーを押すと1stに移動します。しかし、ここで戻るキーを押すと、最初のアクティビティに戻ります。最初のアクティビティで 2 回目の戻るキーを押すだけで、アプリケーションが終了します。追加の質問は、Imagebutton を押した場合にのみ表示する方法です。

私は何か意味がありますか?

FirstActivity.java

SecondActivity.java

ThirdActivity.java

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

java - KeyEventDispatcher はあるアプリケーションでは機能しますが、別のアプリケーションでは機能しません

複雑なマルチスレッド アプリケーションと、最初のアプリケーションのデバッグに使用したいと考えていたシングル スレッド テスト アプリケーションがあります。A を一種として使用しようとしていますKeyEventDispatcherkeylistener、どんなに頑張ってもdispatchKeyEvent、より大きなアプリケーションで を起動することはできませんが、小さなアプリケーションは最初の試行で機能し、両方とも同じKeyEventDispatcherクラスを使用します。解決策、または少なくとも説明を求めてインターネットを探しましたが、基本的に何も見つかりませんでした。

小さいアプリケーションのコードは次のとおりです。

KeyEventDispatcher(AoDKeyboard)クラスのコードは次のとおりです。

KeyEventDispatcher最後に、動作しないを含む大規模なアプリケーションのコードの一部を次に示します。

大規模なアプリケーションを実行すると、興味深いことが起こります。押したキーはすべて、コンパイラー (eclipse) に入力されます。キーボードのフォーカスがずっとコンパイラーにあったかのようです。

今のところ、問題についての私の最善の推測は、KeyEventDispatcherキーイベントがディスパッチャーに到達するまでに処理されるように、キューのはるか下に追加されていることですが、完全に間違っている可能性があります。私の質問は、なぜKeyEventDispatcherあるアプリケーションで動作し、別のアプリケーションでは動作しないのか、そしてどうすれば両方で動作させることができるのでしょうか?

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

android - OnKeyboardActionListener.onKey で Unicode 値を KeyEvent 定数に変換します

私は Android 開発に不慣れで、現在 Google Android オペレーティング システム (API レベル 11 == バージョン 3.0) 用のインプット メソッド エディター (IME) をプログラミングしています。

(次のコードは、問題を指摘するために単純化されています。)

次の方法で、基になるアプリケーションに文字を送信できます。

ここで、特別なキーの組み合わせ (SHIFT + A など) を送信したいと考えています。この目標を達成するための Java コードは次のとおりです (SHIFT + A の特殊なケースの場合)。

前のコード サンプルのコメントは、私の問題を示しています。KeyEventオブジェクトを介してキーの組み合わせを送信するには、変数primaryCode (押されたキーの Unicode コードを含む) をクラスKeyEventの定数に変換する必要があります。

この場合の便利な方法は既に存在しますか、それとも自分で作成する必要がありますか? 一般的に:キーの組み合わせを送信する上記のソリューションはエレガントですか、それともより良いアプローチが存在しますか? (インターネット上で Android IME の例を見つけるのは簡単ではありません...)

前もって感謝します!

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

android - Android APIを介してキーの組み合わせ(メタキーとキーコード)を送信する

Androidでメタキー(CTRLなど)とキーコード(RETURNなど)の組み合わせを送信する方法がわかりません(APIレベル11 =バージョン3.0を使用しています)。

KeyEventクラスのドキュメントには、META_CTRL_ONなどの定数が記載されており、メタキーのキーコード定数(KEYCODE_CTRL_LEFTなど)もサポートされています。

Javascript Key Event Testerを使用して、入力方式エディター(IME)によって生成された出力をテストしています。ところで、私の目標はソフトウェアキーボードを開発することです。

ドキュメントが正しいことを理解していれば、次のコードを実行してCTRLキーのみを送信するだけで十分です。

ただし、これをJavascript Key Event Tester(上記を参照)に対して実行しても、何も起こりません。

したがって、メタキーのみを送信する方法と、メタキーを別のキーと組み合わせて送信する方法の手がかりを得る必要があります。また、SHIFT + ENTER(具体例)を送信するために次のことを試みました。

ここでも上記と同じ問題が発生します。認識されるキーはENTERのみです。

メタキーやキーの組み合わせでKeyEventクラスを使用する方法の例をインターネットで数時間検索しましたが、コードの例が少なくとも1つ見つかりませんでした。

つまり、結論として、KeyEventクラスの経験があり、Android APIを介してキーの単純な組み合わせ(SHIFT + ENTERなど)を送信する方法を教えてくれる人はいますか?

前もって感謝します!

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

webkit - 特別なキーイベントを注入するPython Webkit GTK

GTK キーボード イベントをウィンドウ、特に Webkit Webview を含むウィンドウにディスパッチ (注入) しようとしています。私が抱えている問題は、Backspace、Up、Down などの特殊キーに関するものです。何らかの理由でそれらが適切に挿入されないため、対応する機能がトリガーされません。他のキーについては、完全に機能します。キーボードをウィンドウに集中させ、ウィンドウをウィンドウの z-index スタックの一番上に配置しようとしましたが、役に立ちません。

これは、関数にキーコード (key_value) を渡すだけの C から Python へのバインディング部分です。キーリリースイベント (GDK_KEY_RELEASE) についても同様のことを行います。Python の部分では、これら 2 つの関数 (押してから放す) を呼び出し、a、s、d などの通常のキーでは機能しますが、BackSpace、Enter、Delete などでは機能しません。

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

javascript - OSに依存しないキーボードイベントから文字へのマッピング

明らかに、Webアプリケーションはユーザーのキーボード設定に合わせる必要がありますよね?KeyDownではなく実際のKeyPressイベントに接続するようにDojoに指示する方法はありますか?そうすれば、文字を入力することができますevent.charCodeか?

私たちは複数のオペレーティングシステムなどを備えた国際的な世界に住んでいるため、ブラウザにオペレーティングシステムに問い合わせる機能が組み込まれていない限り、この情報ではユーザーが実際に入力した文字を見つけるのに十分ではありません。

例として、Linuxのドイツ語キーボードでは、[Alt Gr-8を介して到達します。AltGr-8は、Altのキーダウンを送信し、次に[を使用してキーダウンを送信します。いいでしょう、最初の部分は無視してください。ドイツ語キーボードを使用するWindowsシステムでは、2番目のイベントはctrlKeyとaltKeyがtrueに設定された8の場合です。他のキーボード設定では、このキーコンボは実際には別の文字を意味するため、JavaScriptコードはハードコードされたものを解釈する必要はないと思います。

別の例として(おそらくDojoに接続されていませんが、別のプログラマーの不具合、暴言を言って申し訳ありません…)、MacのUSキーボードでは、OutlookWebインターフェイス内にドイツ語の文字ßを入力できません。 !)Altキー(Macでは入力された文字を変更するためにのみ使用されます)をハイジャックしてアクションをトリガーし、alt-sを再マップして送信を意味します。もちろん、通常は単語の途中です。

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

javascript - HTML5 ネイティブ ドラッグ中のキーダウン/アップ イベントの検出

ネイティブ HTML5 を使用してドラッグできる要素があります。これには、dragstart、drag、および dragend イベント リスナーが割り当てられています。さらに、document.body 要素に割り当てられた keydown および keyup イベント リスナーもあります。

ドラッグ可能な要素をドラッグすると、ondrag イベントが期待どおりに発生します。何もドラッグせずにキーを押して放すと、document.body keydown/up イベントが発生します。

ただし、ondrag の実行中に keydown/up を実行すると、document.body の keydown/up イベントは発生しません。これに対する回避策/ハックはありますか?

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

c# - KeyEvent はキーを検出しません C#

私は現在困惑しています。KeyEvent を機能させることができないようです。このような単純なコードは、押しているキーに反応しません。KeyDown と KeyPress を試しました。コンパイル中にエラーはありません...何が原因ですか?? メッセージ ボックスを表示せずに E キーを入力するだけです。

0 投票する
5 に答える
2353 参照

android - if else ステートメントの両側が実行されるのはなぜですか? また、それを修正する方法は?

私はコードのブロックを持っています:

私が欲しいのは、Enterキーを押すとログインコマンドが実行されることです(起動はログインを実行するボタンです)。ただし、true ブロックを実行した後、else ブロックも実行し続け、false を返し、(一部のデバイスでのみ) 2 回目のログインを引き起こします。

したがって、私の質問は 2 つの部分で構成されています。if else ステートメントを true と false の両方として評価する方法と、そうしないようにする方法です。私はそれを実現するためのいくつかのトリックを考えましたが、これはよりよく理解され、すぐにパッチが適用される問題のようです.