cmumme / XboxWheelCompatibility

A simple tool to make using unsupported Xbox racing wheels work on Windows 10/11.
MIT License
53 stars 6 forks source link

vJoy implementation #39

Open setothegreat opened 1 year ago

setothegreat commented 1 year ago

I am using the Thrustmaster Ferarri 458 Spider Racing Wheel with the Windows 11 22H2 update on version 1.2.0.

After installing the software and all applicable drivers, none of the inputs are fixed (brake is the primary thing that refuses to be recognized) and upon opening the Xbox Wheel Compatibility software it simply says "No wheel connected".

I have also tried the archived 1.0.0 version of this software, which also doesn't change any inputs.

cmumme commented 1 year ago

You shouldn't have any extra drivers installed. Only use the drivers that were already installed with windows.

setothegreat commented 1 year ago

You shouldn't have any extra drivers installed. Only use the drivers that were already installed with windows.

This is a bit of a confusing reply since the front page says:

"Please ensure you have all xbox drivers that are not included in Windows by default before installing this software"

Which is specifically what I went out of my way to download.

cmumme commented 1 year ago

I forgot a word apparently. That's probably been like that for awhile, thank you for letting me know. Please uninstall the drivers you downloaded and try again.

setothegreat commented 1 year ago

I forgot a word apparently. That's probably been like that for awhile, thank you for letting me know. Please uninstall the drivers you downloaded and try again.

Removing all those drivers has resulted in the wheel being recognized in the Xbox Wheel Compatibility program, but now the wheel doesn't register any inputs whatsoever.

The only thing I can think of is that it's the Xbox Gaming Device driver that's visible when you view the wheel in the device manager.

With the old driver (6.2.11059.0, released 5/26/2014) the compatibility tool wouldn't recognize the wheel but it would accept inputs from it with all but the brake (albiet they are mapped very weird, like LT being the steering wheel). With the updated driver (10.0.22621.608, released 9/26/2022) the compatibility tool will recognize the wheel as being plugged in but it no longer registers any inputs.

Is there a specific Xbox Gaming Device driver that I need? Or any other specific drivers that I need? Kind of at a roadblock (pun intended) here.

setothegreat commented 1 year ago

I forgot a word apparently. That's probably been like that for awhile, thank you for letting me know. Please uninstall the drivers you downloaded and try again.

Not sure what I did but I got the compatibility tool to recognize the wheel with 6.2.11059.0, and have even managed to re-map most of it using Universal Control Remapper without issue, including the brake and throttle.

There is, however, still one major issue:

The wheel's sensitivity along it's axis is extreme; if you barely even touch the wheel, it will go from it's neutral state (0) all the way to it's minimum lower (-1) or maximum higher (+1) values depending on if you are rotating it to the left or right respectively. If you rotate it past it's minimum and maximum values, it will loop over to the other respective side and repeat the further you rotate it, similar to an integer over or underflow.

Since I'm probably not explaining it the best, here's a video I recorded showing the issue.

This makes the wheel pretty much unusable in it's current state, as I am not aware of and haven't been able to find any way to fix this issue.

cmumme commented 1 year ago

Likely an issue with the remapper you used or its configuration. You shouldn't need to use a remapper at all, did you restart after uninstalling all of the drivers? (except xbox gaming device)

setothegreat commented 1 year ago

Yes I did restart, and it's not an issue with the remapper as the issue with the wheel seems to persist across all programs regardless of whether I have the remapping software enabled or not.

gabrielgameer commented 1 year ago

conseguiu resolver? estou com aquele problema da roda/volante funcionar como LT e esta sendo uma dor de cabeça no asseto

setothegreat commented 1 year ago

conseguiu resolver? estou com aquele problema da roda/volante funcionar como LT e esta sendo uma dor de cabeça no asseto

Kind of. I ended up just making my own fork of this project that maps the wheel to vJoy instead of a virtual Xbox controller and, importantly, hides the visability of the original device to all but this program.

It's not release-ready since there are still some bugs I have to solve, and I'm not sure I even could release it since I'd need permission from cmumme and the vJoy developers to both redistribute and publish modifications of their projects and libraries, but I would consider releasing it if all those concerns were addressed.

setothegreat commented 1 year ago

conseguiu resolver? estou com aquele problema da roda/volante funcionar como LT e esta sendo uma dor de cabeça no asseto

Kind of. I ended up just making my own fork of this project that maps the wheel to vJoy instead of a virtual Xbox controller and, importantly, hides the visability of the original device to all but this program.

It's not release-ready since there are still some bugs I have to solve, and I'm not sure I even could release it since I'd need permission from cmumme and the vJoy developers to both redistribute and publish modifications of their projects and libraries, but I would consider releasing it if all those concerns were addressed.

Doubt anyone is still reading, but as an update, I have gotten my fork to work as a service without any issues, so I guess we can mark the issue as closed, even if others who aren't using this custom program of mine may still have issues.

Again though, the fork relies on scripts and libraries that aren't my own, so I don't think I could publish it without permission. Beyond that however, as I am an amateur, I am unable to get the service to start unless it is installed to the exact directory where it is being built, and trying to set up an installer has given me issues, so it sadly wouldn't be likely to work for others even if I were to publish it.

If there is any demand for it, I could release the project in it's current state without including the forked files and libraries in case someone wants to refine it further. Let me know.

cmumme commented 1 year ago

If you wouldn't mind, I'd love to look at your fork. I didn't consider mapping it to vJoy when I created this program. If possible, we could merge your fork into this project and have two modes of operation, one with vJoy and one without. I'd love to have another contributor.

setothegreat commented 1 year ago

If you wouldn't mind, I'd love to look at your fork. I didn't consider mapping it to vJoy when I created this program. If possible, we could merge your fork into this project and have two modes of operation, one with vJoy and one without. I'd love to have another contributor.

I should be clear about a number of things first:

  1. I am not a programmer, and truthfully, most of the project was written with significant aid from ChatGPT in the blind hope that I could get something to work, so I don't think I would be skilled enough to be a long-term contributor on the project,

  2. Because of this, the project is INCREDIBLY messy. A lot of parts of the project are completely unfinished, buggy, or otherwise just unnecessary, primarily relating to my original idea for a UI implementation before learning that the Windows.Gaming.Input library can only be constantly active if the window is focused or it is used as part of a service, but also possibly relating to other things like the installer I originally tried and failed to setup,

  3. There are a few different things that I had to setup outside of the project, primarily relating to setting up the service created and, if I am recalling correctly, ensuring that the original wheel device is hidden to the rest of the applications on the system (VERY important to prevent applications from crashing when trying to read original wheel's inputs, pretty sure program used was HIDHider),

  4. Because this modification was originally made for my own personal use, and because this project was quite the undertaking for someone with almost no programming experience, I truthfully do not have much motivation to make further fixes or modifications. The solutions I've made work for me, so whilst it is too messy for a proper public release, it is good enough for what I need.

With that being said, I am perfectly fine with you referencing the changes and additions I have made, and adding them to your own project if you can find a way to make it work. Just be sure to go in with rather low expectations and a lot of patience given the circumstances lol.

Here's a link to the repository: https://github.com/setothegreat/XboxWheelTovJoy

cmumme commented 1 year ago

Working on this in #56.

ToastyDamien commented 1 year ago

I forgot a word apparently. That's probably been like that for awhile, thank you for letting me know. Please uninstall the drivers you downloaded and try again.

Not sure what I did but I got the compatibility tool to recognize the wheel with 6.2.11059.0, and have even managed to re-map most of it using Universal Control Remapper without issue, including the brake and throttle.

There is, however, still one major issue:

The wheel's sensitivity along it's axis is extreme; if you barely even touch the wheel, it will go from it's neutral state (0) all the way to it's minimum lower (-1) or maximum higher (+1) values depending on if you are rotating it to the left or right respectively. If you rotate it past it's minimum and maximum values, it will loop over to the other respective side and repeat the further you rotate it, similar to an integer over or underflow.

Since I'm probably not explaining it the best, here's a video I recorded showing the issue.

This makes the wheel pretty much unusable in it's current state, as I am not aware of and haven't been able to find any way to fix this issue.

Hey there! It seems like you were able to solve all the problems I've been having with the wheel and it acting like the Lt. Can you please create a tutorial video explaining how you remapped it? That would be awesome! Thank you so much.

cmumme commented 1 year ago

Hey @ToastyDamien, sorry to hear you're having issues. I'll see if I can get something up and running today or tomorrow that should do essentially the same thing that his solution did but much more automated and integrated with the original software. I'm currently working on it in #56.

ToastyDamien commented 1 year ago

Hey @ToastyDamien, sorry to hear you're having issues. I'll see if I can get something up and running today or tomorrow that should do essentially the same thing that his solution did but much more automated and integrated with the original software. I'm currently working on it in #56.

Hi @cmumme, that sounds awesome! Thank you very much. I appreciate it

Tactix1G commented 8 months ago

I forgot a word apparently. That's probably been like that for awhile, thank you for letting me know. Please uninstall the drivers you downloaded and try again.

Not sure what I did but I got the compatibility tool to recognize the wheel with 6.2.11059.0, and have even managed to re-map most of it using Universal Control Remapper without issue, including the brake and throttle.

There is, however, still one major issue:

The wheel's sensitivity along it's axis is extreme; if you barely even touch the wheel, it will go from it's neutral state (0) all the way to it's minimum lower (-1) or maximum higher (+1) values depending on if you are rotating it to the left or right respectively. If you rotate it past it's minimum and maximum values, it will loop over to the other respective side and repeat the further you rotate it, similar to an integer over or underflow.

Since I'm probably not explaining it the best, here's a video I recorded showing the issue.

This makes the wheel pretty much unusable in it's current state, as I am not aware of and haven't been able to find any way to fix this issue.

I just got my wheel and I'm getting the same issue from the video with v1.2.1 on Windows 11 23H2. Are other people not having the wheel issue? What might I be doing wrong? Is this still being worked on, or is there a fix available?