USB 数字パッドを購入しました。これは、通常の USB キーボードと同じように機能するように見えますが、数字パッド キーと LED しかありません。Linux では正常に動作し、実際のキーボードと同様に数字を入力できます。ウィンドウを持たずに直接インターフェイスできる (キーストロークに応答し、LED を制御する) アプリケーションを作成し、他のアプリケーションがそれに応答しないようにしたいと考えています。どうすればいいですか?
2 に答える
1
まあ、イグナシオのコメントは、私を正しい方向に向けるのに少し役立ちました. gdk_display_get_default() からディスプレイを取得し、次に gdk_display_get_device_manager() を使用し、gdk_device_manager_list_devices() を使用してデバイスを見つけ、最後に gdk_device_grab() を使用してデバイスを取得する必要がありました。(または、本当に必要な場合は、X API を直接使用することもできます...) これにより、フォーカスに関係なく、キーボードのイベントをウィンドウに向けることができます。
私が遭遇した問題の 1 つは、イベントを受信するには、ウィンドウを「表示」する必要があることです。非表示、最小化、または別のワークスペースではありません。それを非表示にするために私ができる最善の方法は、1x1 ピクセルを装飾なしでオフスクリーンのどこかに貼り付けることでした (ただし、一部の WM では実際にオフスクリーンに移動させないため、サイズも小さくなります)。
于 2013-02-25T23:56:35.757 に答える