安いPS3コントローラーとNEO-GEO Xコントローラーを持っています。それらは両方とも例えばで検出されます。Fedora 20 と Lubuntu 14.04。それらは lsusb に表示されます
Bus 001 Device 012: ID 0e8f:0003 GreenAsia Inc. MaxFire Blaze2
Bus 001 Device 016: ID 1292:4e47 Innomedia
の下にデバイスが表示されます/dev/input
。それらの両方で udevadm を実行すると、GreenAsia デバイスがpantherlord
ドライバーを使用し、他のデバイスがドライバーを使用することが示されます。hid-generic
次のテスト コードを実行すると、GreenAsia デバイスのみが SDL によって報告されます。プラグを抜くと、他のデバイスが検出されます。これは SDL の既知の制限ですか、それとも他の問題ですか?
// from http://www.libsdl.org/release/SDL-1.2.15/docs/html/guideinput.html
#include "SDL/SDL.h"
int main () {
if (SDL_Init( SDL_INIT_VIDEO | SDL_INIT_JOYSTICK ) < 0)
{
fprintf(stderr, "Couldn't initialize SDL: %s\n", SDL_GetError());
exit(1);
}
printf("%i joysticks were found.\n\n", SDL_NumJoysticks() );
printf("The names of the joysticks are:\n");
for( int i=0; i < SDL_NumJoysticks(); i++ )
{
printf(" %s\n", SDL_JoystickName(i));
}
return 0;
}