問題タブ [scancodes]

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

python - Tkinterインターナショナルバインド

Tkinterに、すべてのキーボードレイアウトで機能するキーの組み合わせをバインドする方法はありますか?(スキャンコードでバインド)

たとえば、次のようなすべてのレイアウトで、キーボードの左下隅にある同じ'Control-Z'物理キーで機能するバインディングが必要です。     *ロシア語のレイアウト、     *ギリシャ語のレイアウトなど。

これが私が試したことです:

ロシア語とギリシャ語のキーボードレイアウトでは機能しません。

アップデート-2:

私はWindowsでさらにいくつかの実験を行いましたが、今では一般的なルールは次のようになっています。

    1)言語がラテン文字セットに基づいている場合、キーは「値によって」(ドイツ語フランス語Dvorak)マップされるため、同じアクションが異なる物理キーにマップされます。
    2)そうでない場合(たとえば、 ロシア語ギリシャ語)、すべての主要なアクセラレータは「位置ごとに」マッピングされます(通常、同じキーにマークされている対応する英語の文字と一致します)。

2番目のケースのみに特別な注意が必要です。これがすでにいくつかのライブラリに実装されている場合、何かアイデアはありますか?

アップデート-3

ロシア語のキーボードやロシア語のWindowsがなくても簡単に再現できます。

1)[スタート]->[コントロールパネル]->[地域と言語のオプション]
2)[言語]-> [詳細]
3)ロシア語を追加します。

それでおしまい。これで、Alt-Shiftがロシア語に切り替わり、次の面白い記号を入力できるようになります。

ロシアのキーボード

別のAlt-Shiftを押すと元に戻ります。

ウィキペディアがロシア語の表音レイアウトについて言っていることを忘れてください。最近は使われていません。少なくともロシア国内。

すべてのWindowsアプリケーション(wxPythonアプリケーションを含む)はCtrl-я、元に戻す、Ctrl-ч切り取り、Ctrl-сコピーなどに使用します。

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

android - rn-42 bluesmirf HID がスキャンコードを送信しない?

Bluetooth HID モジュール (bluesmirf) を備えた arduino を使用して、Galaxy タブの音量を制御しようとしています。配線されている小さなボタンを押すと、キーボードと同じようにASCIIテキストがタブレットに送信されるようにarduinoのセットアップがあり、これは正常に機能します。この「Bluetooth キーボード」用のカスタム キーボード レイアウト ファイルを作成して、タブレットが Bluetooth 経由で arduino からキープレスを受信したときに、ボリューム、ミュートなどの適切な項目を制御できるようにしたいと考えました。ただし、keytest を使用してブルートゥースモジュールからの着信ボタン押下をキャプチャします。スキャンコードは常に0です.Keytestはキーを正しく読み取り、Aが送信されたときにkeycode_aとして表示しますが、そのキーのスキャンコードは一意ではなく常に0です識別子。奇妙なことに、

理解できません。私は何か間違ったことをしているに違いありませんが、私はまだ新しい/学習しているので、見逃しているに違いありません. タブレットがスキャンコードを受信しないと、カスタム キーボード レイアウトをセットアップして、やりたいことを実行できません。

必要に応じて arduino コードを投稿できます。どんな助けでも大歓迎です。私は必要なものを達成するのに非常に近づいており、それが私を狂わせています。

編集 - 以下のコード:

上記のコードでは、Serial.println ("A"); タブレットに送信すると、テキスト エディターに A が表示されます。タブレットは、キーテスト アプリで A が押されたことを確認しますが、スキャンコードは 0 として表示されます。送信されたすべての文字は、何らかの理由で 0 として表示されます。ただし、Serial.println の後にスケッチがスローする自動キャリッジ リターンを除きます。代わりに Serial.print を使用しようとしましたが、それは改行をスローしないため、同じスキャンコード 0 も取得します。

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

keyboard - このキーの VK_KEY / スキャンコードは何ですか?

GetASyncKeyState (C++) を使用してキーを確認しています。このキーの名前がわかりません: ここに画像の説明を入力

このキーはどのように命名されていますか? VK_ またはスキャンコードとは何ですか?

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

c++ - Linux キーボード スキャンコードの問題: たとえば、↑ で ^[[A

Linux でのキーボード スキャンコードの動作を理解するのにしばらく苦労してきました。

通常の bash シェルを開くと、矢印キーは期待どおりに機能しUPます。履歴などの前の項目が表示されます。ただし、プロセスを生成すると、矢印は期待どおりに機能しなくなります。たとえば、前のコマンドの代わりに^[[AUPを出力します。

これを実証するには、次のようにします。

bash $ ping www.google.com

ここで、UPまたはDOWNなどを押すと、プロセスの実行中に間違ってマッピングされたキー コードが表示されます。ただし、プロセスを終了すると、矢印キーは再び機能します。

CentOs、Ubuntu、Mac、さらにはさまざまなシェル (bash、sh、zsh) でもテストしましたが、どこでも同じことが起こります。また、RAW モードと XLATE モードでテストしたkbd_modeを使用して、さまざまなキーボード モードを試しました。

答えを探しているときに私が目にした最も近いものは、IPython が readline に対してビルドされていないときに IPython ユーザーが同じ動作を経験したことです。しかし、私が見る限り、これは私たちのケースとは関係ありません。

cin と cout を使用して通信し、ユーザーからの入力を取得する C++ Tcl ベースのコンソール アプリケーションを開発しています。以前に入力したコマンドの履歴にアクセスしようとすると、矢印キーに問題が発生します。これは私たちにとって大きな問題です。99% の人々が矢印文字が機能することを期待しているためです。

これをどのように克服できるかについてのアイデアは大歓迎です。

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

c++ - WM_CHAR メッセージからスキャン コードを取得する

WM_CHARキャッチした言語の文字をWndProcキーボード スキャン コードに変換するにはどうすればよいですか? ボタンが押された場合のように、x0x2d などが返されます。

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

assembly - キーボードの矢印のスキャン コードは何ですか? (右、左、下、上)

矢印 (右、左、下、上) のスキャン コードが必要です。アセンブラでソフトウェアを作成していますが、キーボードの矢印のスキャン コードの 16 進値を知る必要があります。

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

delphi - Delphi でマルチメディア キーの押下をシミュレートする

Delphi でマルチメディア キー (再生/一時停止、前/次のトラック、巻き戻し/進むなど) の押下をシミュレートする必要があります。次のコードを使用して、「通常の」キーを簡単にシミュレートできます。

また、MAKE/BREAK コードの一覧を見つけたのですが、どうすればよいですか?

MSDN は次のように述べています。

ボリュームアップのスキャンコードを見つけました:

メイクコード:E0、32 ブレークコード:E0、F0、32

私は試した:

しかし運もありません (これは F0 なしで E0 32 E0 32 をシミュレートする必要があります)。また、MSDN によると、bVk は [1..254] でなければなりません。キー コード リストに適切なものが見つからなかったため、0 を使用しました。