On 06/16/2010 12:59 PM, Roderick Colenbrander wrote:
I'm wondering how to proceed with XInput. My main issue is the 'joystick access part'. Would it be fine to directly access the controller from Xinput (so we would need multiple hardware backends later on). Code size won't be a problem though since XInput doesn't support much functionality at all (the current mostly working version is less than 500 lines of code; half of that is for the Linux backend). One small issue is though that DirectInput and XInput might have to cooperate since typically games use DirectInput to enumerate all joysticks, see for instance http://msdn.microsoft.com/en-us/library/ee417014%28VS.85%29.aspx
IMHO directly accessing joysticks via evdev would be the best way. DInput is a mess you don't want to deal with it (both in and out). And as you noted it doesn't implement everything you need for xinput.
Using Xorg for joystick enumeration seems to be like a good idea, except it won't really help you much. You'll still have to find which evdev you have to talk to, get all the joystick parameters, settings, etc. You won't get all that info from xorg.
Vitaliy.