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

Joystick mappings are wrong #40

Open
RikuKawai opened this issue Nov 19, 2016 · 6 comments
Open

Joystick mappings are wrong #40

RikuKawai opened this issue Nov 19, 2016 · 6 comments

Comments

@RikuKawai
Copy link

Joystick mappings for the Logitech F310 are incorrect in QDriverStation, but are correct in jstest-gtk.
Debian Stretch x86_64, Linux 4.7, QDriverStation 16.10.

They should be as follows, which matches what they are under Windows and in the robot code:

  • Axis 0: Left Stick X
  • Axis 1: Left Stick Y
  • Axis 2: Left Trigger
  • Axis 3: Right Stick X
  • Axis 4: Right Stick Y
  • Axis 5: Right Trigger

In QDriverStation, the mappings are:

  • Axis 0: Left Stick X
  • Axis 1: Left Stick Y
  • Axis 2: Right Stick X
  • Axis 3: Right Stick Y
  • Axis 4: Left Trigger
  • Axis 5: Right Trigger

This renders it impossible to correctly operate the robot without having different code for Windows and Linux.

@alex-spataru
Copy link
Member

alex-spataru commented Nov 19, 2016

Hi!

This issue has been present for a very long time. Since we use SDL for cross-platform joystick support, we (unfortunately) depend on the mappings provided by SDL.

For the moment, I think that the smartest way is to implement a method to allow the user to re-map the joysticks (and possibly sharing the fixed mappings with the community). I will work on this issue when I have some free time in December, as I am currently about to present final exams for this quarter.

Thanks for the feedback!

@SecretlyNotARobot
Copy link

Can confirm, Same issue on our Logitech Attack 3's

@alex-spataru
Copy link
Member

Thanks for the confirmation! I will try alternative options to SDL, such as Gainput. Ultimately, I think that the best way to standardize joystick input across operating systems will be to allow users to manually re-map joysticks on the fly...

@SecretlyNotARobot
Copy link

Interestingly, the output from QJoysticks is different from the output of sdl-jstest, but only on one axis

@alex-spataru
Copy link
Member

@everylittlebit This can happen because QJoysticks uses SDL2 instead of SDL.

@edelmanjm
Copy link

Still having this issue on macOS High Sierra 10.13. I agree with @alex-spataru that the best solution seems to be to allow the user to remap the controls. Unfortunately AFAIK 360Controller doesn't contain any way to remap axes, only buttons.

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

4 participants