私が達成したいことの短いバージョン: 私は、一般的な HID デバイスとして実装されているフットペダル (興味がある場合は、INFINITY-IN-USB-1) を持っていCtrlますAlt。 Linux。個々のプログラムだけでなく、X レベルの何かを探しています。
より長いバージョン: DLL 関数RegisterRawInputDevicesおよびGetRawInputDataを呼び出し、非表示のウィンドウで入力をリッスンすることにより、このセットアップを Windows XP で動作させています。すべては、かなり単純なAutoHotkeyスクリプトで実現されます (興味のある方は、ここに投稿できます)。ポイントは、追加のドライバーなどは必要ないということです。ネイティブの Windows DLL ファイルのみが必要です。
このセットアップが Linux で動作することを望んでいます (より具体的には Ubuntu でのGNOMEですが、他のディストリビューション/ウィンドウ マネージャーを使用することもあるため、X レベルのソリューションを歓迎します)。このフット ペダルは、キーボードやジョイスティックとしては登録されませんが、UsagePage 12、Usage 3 の HID デバイスとして登録されます。
最新の Ubuntu では、HID デバイスとしても登録されるMicrosoft Natural Keyboardのお気に入りのキーを検出して使用できることに気付きました*。私は、フット ペダルを使用するのと同じ方法を使用して (つまり、バンドルされたソフトウェアを使用せずに)、Windows でこれらのキーを使用します。このペダルは Linux でも動作すると思いますが、問題はその方法です。
(私は Linux の下位レベルのものは初めてなので、該当する場合はいつでも紹介やチュートリアルへのリンクを提供してください。)
* よく知らない方のために説明すると、Microsoft Natural Keyboard は、通常のキーボードと汎用 HID デバイスの両方として登録されます。一部のアプリケーション (バンドルされたアプリケーションなど) が HID 入力を解釈する方法を認識していなければ、通常のキーは機能しますが、お気に入りのキーと特殊なファンクション キーは役に立ちません。
明確にするために、Linux はペダルを踏んだことを入力として認識していません。USB デバイスは認識しますが、xevはペダルを押しても何も出力しません。書き起こしソフトウェア用にWineの下でペダルをうまく使用している人々の報告を見たことがありますが、それは Windows の方法で動作する必要があり、私が望むものを提供しません (これにより、すべてのネイティブ Linux アプリケーションに対してペダルがキーボードのように見えます)。低レベルの Linux キーボード ドライバーが必要ですか?
詳細は次のとおりです。ターミナルでこれを発行した場合
cat /dev/usb/hiddev0
(dev/usb/hiddev0
は私のペダルです)、ペダルを踏んだことに対応する生のコードを取得します。それが始まりです。これらの生のコードが何を意味するかはわかっています。2 進数では、0001、0010、0100 がそれぞれ各ペダルに対応し、ペダルを押す組み合わせは、これらの 2 進数の組み合わせを送信し、まだ押されているペダルのペダル トリガー入力を解放します (ペダルが上がっている場合、0000 が送信されます)。
xmodmap などでマッピングできるように、X に生のコードを聞いてdev/usb/hiddev0
特別なキーコードに変換させるにはどうすればよいですか?