We are a young team of game developers, working on our first game title Schein. It all started as a university project at the FH Technikum Wien, in Austria, and has developed into a spectacular project and a promising indie game.

Report article RSS Feed DirectInput vs. XInput

Posted by ZeppelinStudio on Jan 20th, 2013

Posted in Sound Programming | Jan 20, 2013 | by Sabine Pölzl­bauer

Hey guys out there, thanks for the valu­able feed­back so far! Some people also told us, they would like to see sup­port not only for the Xbox con­trol­ler but also for the gene­ral game­pad. So here are some facts about Direc­tIn­put and XIn­put from a developer’s point of view.
Micro­soft intro­du­ced Xin­put, for­cing deve­l­o­pers to use Xin­put to get sup­port for all Xbox con­trol­ler fea­tures. The advan­ta­ges are, that it has an easy setup and is sim­ple to use. Nowa­days some other game con­trol­lers (e.g. models from Logi­tech) sup­port the Xin­put inter­face as well, and others — which only sup­port the direct input inter­face — can be simu­la­ted as XIn­put devices through an addi­tio­nal Emu­la­tion soft­ware like Motio­nin­Joy or x360ce.
Direct Input on the other hand, can detect nearly any device (if there are dri­vers of course) and its capa­bi­li­ties. Howe­ver, the API docu­men­ta­tion is still not very infor­ma­tive. And it can be dif­fi­cult to imple­ment, due to the various sup­por­ted devices with dif­fe­rent axes and but­ton lay­outs and the­re­fore dif­fe­rent data for­mats.

DirectInput

So at the moment, we are eva­lua­ting the situa­tion (with the small num­ber of dif­fe­rent con­trol­lers that are avail­able to us) and are imple­men­ting a tech­ni­cal sample. The PlayStation3 Con­trol­ler for instance, could be sup­por­ted per Direct Input, alt­hough I nee­ded to install the Motio­nin­Joy Dri­ver before Input Data could be updated. I also tried to emu­late it as XIn­put Device, where the capa­bi­li­ties could be read from the con­trol­ler, but when try­ing to get some state data from it the “device was not con­nec­ted.” Weird stuff! But at least it should work with Direct Input. ;)
We will see next time, which con­trol­lers we end up sup­porting and if it will be XIn­put only (like it is now), or a hybrid Direc­tIn­put – Xin­put approach.

Post a Comment
click to sign in

You are not logged in, your comment will be anonymous unless you join the community today (totally free - or sign in with your social account on the right) which we encourage all contributors to do.

2000 characters limit; HTML formatting and smileys are not supported - text only

Level
Avatar
Avatar
Offline Since
Oct 14, 2014
Country
Austria Austria
Gender
Anonymous
Member Watch
Track this member
Blog
Browse
Blogs
Views
54 (1 today)
Report Abuse
Report article