nefarius / ViGEmClient

ViGEm Client SDK for feeder development.
https://docs.nefarius.at/projects/ViGEm/
MIT License
134 stars 65 forks source link

This is for VDX, but that's been archived. It's really the only simple sample I can find though. #21

Closed rlewkowicz closed 2 years ago

rlewkowicz commented 2 years ago

I'm at the tail end of a 3 month personal project and prior to this, I had never really written any c++. I say that simply because I'm running out of mental bandwidth to keep consuming new frameworks and falling down rabbit holes.

My plan is to just toss some IPC code into VDX and send events to it from my application so I don't have to read more api docs and chase my tail. My overall goal is to simply modify whatever we get from x360ce as needed. So if it says go forward 20, it will read my buffer and add or subtract the additional velocity on the fly.

I've got it mostly working, and with hidhide I can successfully hide the main controller and whitelist vdx and x360 ce to see it. The problem is, x360 also sees the controller we spawn. That spawned controller registers no input, if I auto it in ce it just acts weird. It spikes an axis and then it just kinda hangs.

In the interim, I'm going to go look at the ce 4 version and maybe inject my code there, but I was wondering if VDX is unsupported, do you have any other small sample apps I could review?

rlewkowicz commented 2 years ago

For anyone with similar issues, after setting the configuration in xce, I had to disconnect and reconnect the controller and it works. The config must be pre set, and trying to record will not work.

I'll leave this open in case there is another sample app that I could consume

edit: that didn't work. CE registers it, but it doesn't seem to output that to windows.

rlewkowicz commented 2 years ago

I don't think most of the vigem implementations out there work for windows 11. I saw on the bus issues there's a new version in the works, perhaps this will resolve that

nefarius commented 2 years ago

VDX being archived doesn't mean it's magically not relevant anymore, it can still be cloned, built and studied and will work just fine. I archived it so people stop filing feature requests on a reference implementation. IDK what to recommend here, this ain't really an issue but something I'd expect to see on Twitter, please refrain from using my issue trackers like that, thanks.

ViGEm works just fine on Windows 11.