6

私は、実際にキーボードとして動作し、最後に戻り文字を含む読み取り値を返す単純な RFID リーダーを持っています。

アプリケーションが単一の (個別の) キーボード デバイス (何らかの方法で選択/区別する) のみをリッスンし、フォーム/アプリケーションに焦点が当てられているメーターなしで読み取り値を取得する必要があります。

アプリケーションは Qt C++ で書かれています

これが可能かどうか、そしてどうやって?

4

2 に答える 2

1

これが役立つかどうかはわかりませんが、バーコード スキャナーからの入力を検出するという同様の課題がありました。スキャナーは、非常に高速にいくつかの数字を「入力」しました。一部のスキャナーは制御文字で終了しますが、それは普遍的ではないため、それに頼ることさえできませんでした.

バーコード スキャナーが入力を開始したときにa が起動することに気付きましたが、QEvent::KeyboardLayoutChangeこれが考えられるすべてのシナリオに当てはまるかどうかはわかりませんが、確認することをお勧めします。

キーストローク (または)QApplication::installEventFilterをチェックし、連続した数字シーケンス、非常に短い時間間隔などの基準に基づいて、バーコード入力であると判断するアプリケーション全体のイベント フィルター ( ) をインストールすることになりました。明らかな落とし穴がありますが、非常に一般的な解決策が必要な場合は、同様のものに興味があるかもしれません。また、RFID 入力が常に制御文字を返す場合、このアプローチはかなり簡素化される可能性があります。QEvent::ShortcutOverrideQEvent::KeyPress

于 2015-06-02T09:37:00.107 に答える
0

これは、WinAPI の助けを借りて Windows OS で可能です。私は QT を使用したことがないので、その目的で QT クラスにラッパーが存在するかどうかはわかりません。生の入力を使用する必要があります。クイック リファレンスについては、このリンクを確認してください: http://msdn.microsoft.com/en-us/library/windows/desktop/ms645536(v=vs.85).aspxUsing Raw Input (セクションの下に例があります

このプロジェクトもご覧ください

于 2013-04-08T07:39:58.650 に答える