On 2/11/16 1:51 AM, Juan Jose Gonzalez wrote:
Hi,
Hello!
I saw the XInput (Xbox controller input) entry on the SoC site and was wondering what the requirements are.
Context: I implemented XInput (Input + Rumble) a few months ago and have been using it to play XInput-only games since. My implementation allows for different backends, but I've only implemented an evdev backend for linux. I also started working on editable controller mappings through registry entries. I didn't try to submit any patches or finish the mapping config, since by the time I had polished my code enough, the hidclass development had gained steam and it seemed that that was what wine was supposed to use for XInput.
Another option, and in my opinion the cleanest, would be to directly access XBox controllers through USB, possibly using code from the xboxdrv project.
What are your thoughts on this? Should the XInput driver be based on hidclass, xboxdrv, or should it be able to use different backends? If it's just supposed to use hidclass, my implementation is pretty much useless, since splitting backend and driver seems like unnecessary overhead when hidclass already uses different backends.
As the primary author working on the HID support I feel pretty strongly that we should be using the HID back-end for Xinput. Xinput support is actually a large part of why I have been working on it. I feel like yet another controller implementation that has its own back ends is really not what wine needs.
I doubt that all your work would be useless. There is still a lot of Xinput work that happens above the backend. I am sure there is a lot there you have done that would be extremely valuable. Maybe you could start by using your existing code and think if HID as another back end to your code. I would recommend looking that the hid.dll functions for Xinput. It is likely there are hid.dll functions that are missing that you need. Those are additional opportunities for things to implement.
If we work together on this then it also gives some more weight to the HID infrastructure.
Your back end work is also probably still useful also. I assume it was using linux input, as opposed to hidraw or something, We still need someone to help with the back ends for HID and HidClass around linux input.
Both of that expertise would be extremely valuable!
-aric
On 02/10/2016 10:04 PM, André Hentschel wrote:
Hi,
please update https://wiki.winehq.org/Summer_Of_Code with your Ideas and mention yourself as possible mentor where appropriate. Some things can be dropped I think, OpenMP maybe?
Thanks!