私のラップトップでは、QJoypadを使用していくつかのボタンをキーにマップし、アーケードボタンを使用してレトロなゲームをプレイできます。 Qjoypadは次のようなものを生成します。
Joystick 1 {
Axis 1: +key 116, -key 111
Axis 4: +key 113, -key 114
Button 1: key 65
}
この数字はXキーコードで、プログラムにありますxev
。 ~からここ:
Xサーバーは、Xキーコードとキーシンボルを含む2つのレベルのキーエンコーディングを使用します。 Xキーコードはシングルバイト値です。キーにキーコードを割り当てるXサーバーの実装と物理キーボードによって異なります。したがって、Xアプリケーションは通常、キーコードを直接使用することはできません。代わりに、キーコードはスペース、エスケープ、x、2などの名前を含むキーシンボルにマップされます。
ところでここで混乱します。
私のシステムに2つのキーボードがあるとどうなりますか?
キーボードがない場合(例:Raspberry Piを使用)、どうすればいいですか?
これに地図時間、この人はRaspberry Piおよび外的なキーボードが付いているQjoypadを使用します。キーボードを外してもまだ機能しますか?それでは、Xキーコードはどのように生成されますか?
答え1
キーボードaアクションEnterXインフラストラクチャは、そのようなイベントがどこから来るのか気にせず、他のアプリケーションでそれらを合成したり、必要な数のQJoypad
キーボードを接続してそのようなイベントを生成したりできます。
実際、View Device Treeを使用すると、xinput
「Virtual Core Keyboard」に接続されている複数のデバイスを表示できます。これらのデバイスはすべて、キーイベント(ほとんど「電源ボタン」キーイベント)を生成できます。
したがって、システムにキーボードが0個、2個、または100個あっても動作します。
しかし、キーシムとキーコードが必要です。キーコードに一致するキーサムを見つけることができるルーチンがあるので(またはその逆)、それを使用したいと思いますQJoypad
。