6

ゲームパッドを接続できる Android デバイスを持っています (これは完全に標準の XBox 360 コントローラーですが、他の種類もサポートする必要があります)。ゲームパッドは、いくつかのアナログ軸といくつかのボタンを備えた InputDevice として表示されます。

Android にクエリを実行して、ゲームパッドがサポートするボタンを確認できるようにする必要があります。誰もこれを行う方法を知っていますか?

ioctl/dev/input/event...を使用してボタンを開いて照会するコマンドライン アプリを作成すると、サポートされているボタンの適切なリストがカーネルから取得されるため、システムがこの情報を持っていることはわかっています。EVIOCGBITしかし、入力デバイスに直接アクセスする権限がないため、Android アプリケーションからこれを行うことはできません。

InputDevice の KeyCharacterMap オブジェクトを取得してクエリを実行できるはずです。しかし、Android は、ゲームパッドがサポートするものと実際に一致するキーマップを作成するのではなく、デフォルトの QWERTY キーボード キーマップをゲームパッドにアタッチしたようです。これは、ゲームパッドに Q キーがあり、それがないこと、および BUTTON_X キーがないこと、およびキー イベントを受け取っていることを喜んで教えてくれます。だから、それは役に立ちません。

これを行う方法はありますか?

4

1 に答える 1