Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compatibility with Logitech G920 #308

Open
PieroBarcellos opened this issue Dec 1, 2022 · 7 comments
Open

Compatibility with Logitech G920 #308

PieroBarcellos opened this issue Dec 1, 2022 · 7 comments

Comments

@PieroBarcellos
Copy link

I connected a Logitech G920 wheel on Switch Dock. Some buttons works fine. But, at first, the down button feels like it's pressed. When I go to "button calibration", it normalizes. But when entering any game, it resets again. And the steering wheel does not work. Is there any file that I can modify to try a better compatibility?

@PieroBarcellos
Copy link
Author

I edit the config_xboxone.ini and set the stick deadzones to 0. The G920 is identify by sys-con with a XBox One controller. Actually, all buttons works. But the wheel movement doesn't. Is any command or configuration when I can do in the sys-con files to setting the steering wheel with left stick?

@PieroBarcellos
Copy link
Author

I think there is a way to go here. In the sys-con config.ini files, there is the mapping code for each Switch button (example: FACE_UP is the key for the X button on joycons). Maybe I'm wrong, but adding a key value can make the steering wheel recognized (something like STEERING_WHEEL = TRUE). I'm looking to find out what the key values ​​are for the Hori Mario Kart wheel (the only one I know of that is compatible with the Switch).

@PieroBarcellos
Copy link
Author

Also, @cathery, if you need a G920 to mapping anything, you can learn me what I need to do and I will send data to you.

@PieroBarcellos
Copy link
Author

I'm still researching the subject. I found two repositories on GitHub that might help find a solution:
https://github.com/jackhumbert/FreeTheWheel
https://github.com/drb1992/LogitechWheelPlugin

I tried modifying sys-con and including some of the settings I found here, but I couldn't (I'm not a developer, I'm just curious). I created a fork of sys-con with these files, but I had difficulties compiling them in Visual Studio: https://github.com/PieroBarcellos/sys-con

If anyone understands this and wants to compile it for a test, go ahead.

@PieroBarcellos
Copy link
Author

I discovered something new. I watched a video with the Hori Mario Kart Racing Wheel Deluxe. I saw that the steering wheel is recognized as a pro controller by Switch, and that wheel's movement (turn left and turn right) would be the movement of the right stick on the X axis.

In sys-con, I edited config_xboxone.ini, and put 0 in left_stick_deadzone, and 100 in right_stick_deadzone (this pretty much disables right stick movement, so the controller isn't constantly "pressing down").

The next step will be to see in the settings how to make the wheel movement be interpreted as left stick movement.

@PieroBarcellos
Copy link
Author

I'm annoying? Many times yes. Especially with this subject.

I don't know anything about coding, C+, C#, etc, but I'm a curious one, and I try to share things here so that @cathery or someone else can move on.

Well, the goal is to make Switch understand that the wheel movement is recognized in the system as X Axis left stick (right and left). I believe it will not work with a command in any .ini file in the config folder. There would have to be an identification of the steering wheel commands in the project, and in the Switch controller interface files.

I found the Logitech SDK, and tried to understand if there would be a way (but my knowledge is limited). The only issue I understood is that it wouldn't be possible to use G920 Force Feedback on Switch.

So, I believe that for a Logitech wheel to work on Switch, the path would be:

  1. Include the Logitech SDK files in the root of sys-con (https://www.logitechg.com/pt-br/partnerdeveloperlab/sdk-resource-list/steering-wheel-sdk.html);
  2. Disable Force Feedback via code to avoid failures;
  3. In the same way that there is in sys-con the command to invert DPad and LStick, convert the wheel axis into Lstick movement.
  4. Compile and test.

By doing this, not only the G920, but all Logitech racing wheels could work on the Switch.

Going further, whoever manages to do this wheel-in-Lstick conversion can invest a little more time and knowledge for a solution like Xbox App to use a steering wheel in racing games that do not have support.

@o0Zz
Copy link

o0Zz commented Jun 3, 2024

Hi @PieroBarcellos, I actively maintain a fork of this project, I built a new version that support all controllers which are compatible natively with a PC (With HID Profile) -> https://github.com/o0Zz/sys-con/releases.
I successfully tested my driver with a wheel (Logitech Driving Force GT), thus if your controller is also an USB controller with an HID profile it should works. Let me know

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants