-
Notifications
You must be signed in to change notification settings - Fork 113
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
Switch to a signed range for ABS_ values #57
Comments
hey there! please run how does the output look like of you move the stick as you described? |
Here is what it looks like when I move the left stick to the left: https://hastebin.com/zovoveyawe.css Here is what it looks like when I move the left stick up: I'm not an expert but it looks okay to me. The controller works great for games like Geometry Wars 3, Halo 1, Gears of War 1, etc. |
I installed RPCS3. Should be a configuration issue in RPCS3 - let's see. |
@ipkpjersi: could you please give me a log for the I am especially interested in the following two parts:
and
|
Hey again! I had contact to GalCiv (one of the RPCS3 developers), he pointed me to the following issue: RPCS3/rpcs3#3974 That means that the problem is on their side but there is a workaround described in the issue, in short:
Maybe xpadneo should switch to a range from –32.768 to 32.767 in future version... I am not yet sure. |
Okay, I have to backpedal... looks like the problem is on my side too. I will definitely switch to a signed range in the next version! Thank you Megamouse for pointing out! I decided so because:
Thanks @ipkpjersi you for reporting! |
Sorry, I was sleeping while you made all this excellent progress! I'm glad you were able to narrow down the issue and will be fixing it. If you need me to test a beta build feel free to give me a holler. Thanks again for all your hard work. edit: I just tested the evdev_positive_axis workaround and it is working quite well, thanks once again. |
hey there @ipkpjersi , could you please give it a try?
I would really appreciate if you could test it at least on Steam, RPCS3 (wo the hackaround) and maybe some other common systems you use. Thanks! |
hey there! thanks for testing - on my machine it was working as expected. strange. I will take a closer look. |
hum, I have no idea at the moment where the problem is - it is perfectly running on my machine. the visualization is a bit slow but that's it - maybe the problem is just the visualization on your machine too? have you tried it already ingame? |
Hi, In-game acts very strangely, it goes all the way to the left in RPCS3. I will delete all RPCS3 config files and try the latest version, I will also try other games and let you know how it goes. Thanks. |
thanks! could you maybe also take a look at |
Hi, I tested that and both I then tested it in Geometry Wars 3 and the button mappings were wrong - for example, pressing the start button made the game go left. I will uninstall, reboot, reinstall, reboot and then report back. edit: edit 2: It gets even weirder. I went back to the master branch and the control sticks are working now, but in Geometry Wars 3, start still takes me left and b is still a, x is still b, etc. However, RPCS3 is now behaving as it was when I originally created this report so I guess things are "back to normal" and whatever issues I am having are basically with the changes in the new branch. Thanks. |
It is the right stick which you need to move 😁 Maybe you could also make me a gif again of the output of Thanks! P.S.: Let's talk about the Geometry Wars 3 problem afterwards |
Here is the left stick: https://hastebin.com/socebebili.bash Here is the right stick: |
I pushed a new version which includes some debug output. Please, in addition to the above, do me a favour and do the following:
Thanks! |
Hi, I'm actually not sure how to do debug_level 3 Thanks. |
Simply run |
Here is Here is Here is |
Okay, let's reopen that. I've researched the issue a little, looked at the issue tracker of RPCS3 and at the kernel input layer specs. We should probably bring back the axis shifting and make it default. But I'd like to look at the Wine sources a little more first, they seem to craft their own HID description layers around what SDL tells about the gamepads. Maybe we can find a way to make all parties happy without manual configuration.
From your point of view, modules are just drivers similar to what you know from Windows. But it's called a module because the kernel is monolithic: Everything you load into the kernel will become part of the kernel and runs in kernel context / kernel space - thus it's a module (to put it simple, and xpadneo is no exception although it's not delivered as "part of the kernel"). The Windows kernel is different: It's a microkernel, it provides only a minimal set of very low-level functions, i.e. for drivers to talk to each other. Except for a few kernel level drivers, most drivers you load in Windows are services running in user space (similar to a daemon you are running in Linux). It's a completely different architectures. Windows drivers are not part of the kernel. And actually your understanding is correct: You can just unload modules (at least most distro kernels allow that). So rebuilding xpadneo is a matter of You can even change parameters of the module while it is loaded, without unloading and reloading: Go to |
If this functionality does become default (this is how I always used it for all games with Proton/Wine and of course RPCS3 it worked great in everything I tried), I definitely think we should have the opposite functionality available as a module parameter - it's a great idea, assuming you don't come up with an even better idea somehow. I'm a big fan of options and customizations whenever possible (which is part of why I like Linux so much). :) |
Yes, but my credo is "convention over configuration". That means everything should work by default while still leaving everything open for configuration. So sure you'll get your parameters but I want to have it in a way that requires no manual configuration for the usual user. |
Note to myself:
|
Linux Gamepad Specification defines the idle position of the joystick to have values (0,0). Let's add a parameter for this and turn the feature on by default. This may negatively impact a few Wine games which access the joystick directly. You may also need the reset calibration data of `jscal` by opening `/var/lib/joystick/joystick.state` and removing the line prefixed with `jscal -s` while the controller is turned off. If the file does not exist or is empty, there's nothing to fix. Fixes: atar-axis#57 This reverts commit 232a732. Signed-off-by: Kai Krakow <[email protected]>
Linux Gamepad Specification defines the idle position of the joystick to have values (0,0). Let's add a parameter for this and turn the feature on by default. This may negatively impact a few Wine games which access the joystick directly. You may also need the reset calibration data of `jscal` by opening `/var/lib/joystick/joystick.state` and removing the line prefixed with `jscal -s` while the controller is turned off. If the file does not exist or is empty, there's nothing to fix. Fixes: atar-axis#57 This reverts commit 232a732. Signed-off-by: Kai Krakow <[email protected]>
Linux Gamepad Specification defines the idle position of the joystick to have values (0,0). Let's add a parameter for this and turn the feature on by default. This may negatively impact a few Wine games which access the joystick directly. You may also need the reset calibration data of `jscal` by opening `/var/lib/joystick/joystick.state` and removing the line prefixed with `jscal -s` while the controller is turned off. If the file does not exist or is empty, there's nothing to fix. Fixes: atar-axis#57 This reverts commit 232a732. Signed-off-by: Kai Krakow <[email protected]>
Linux Gamepad Specification defines the idle position of the joystick to have values (0,0). Let's add a parameter for this and turn the feature on by default. This may negatively impact a few Wine games which access the joystick directly. You may also need the reset calibration data of `jscal` by opening `/var/lib/joystick/joystick.state` and removing the line prefixed with `jscal -s` while the controller is turned off. If the file does not exist or is empty, there's nothing to fix. Fixes: atar-axis#57 This reverts commit 232a732. Signed-off-by: Kai Krakow <[email protected]>
Linux Gamepad Specification defines the idle position of the joystick to have values (0,0). Let's add a parameter for this and turn the feature on by default. This may negatively impact a few Wine games which access the joystick directly. You may also need the reset calibration data of `jscal` by opening `/var/lib/joystick/joystick.state` and removing the line prefixed with `jscal -s` while the controller is turned off. If the file does not exist or is empty, there's nothing to fix. Fixes: atar-axis#57 This reverts commit 232a732. Signed-off-by: Kai Krakow <[email protected]>
Linux Gamepad Specification defines the idle position of the joystick to have values (0,0). Let's add a parameter for this and turn the feature on by default. This may negatively impact a few Wine games which access the joystick directly. You may also need the reset calibration data of `jscal` by opening `/var/lib/joystick/joystick.state` and removing the line prefixed with `jscal -s` while the controller is turned off. If the file does not exist or is empty, there's nothing to fix. Fixes: atar-axis#57 This reverts commit 232a732. Signed-off-by: Kai Krakow <[email protected]>
Linux Gamepad Specification defines the idle position of the joystick to have values (0,0). Let's add a parameter for this and turn the feature on by default. This may negatively impact a few Wine games which access the joystick directly. You may also need the reset calibration data of `jscal` by opening `/var/lib/joystick/joystick.state` and removing the line prefixed with `jscal -s` while the controller is turned off. If the file does not exist or is empty, there's nothing to fix. Fixes: atar-axis#57 This reverts commit 232a732. Signed-off-by: Kai Krakow <[email protected]>
Describe the bug
When I use my Xbox One controller with RPCS3, it does not work properly with the control sticks. For example, when I press left on the left control stick it looks like this: https://i.imgur.com/EEXovM7.png and when I press up on the left control stick it looks like this: https://i.imgur.com/LhhWiWt.png
Notice that it is always in the bottom right center of the stick. The other buttons work fine both in gamepad settings and in games. My Wireless 360 controller with the 360 PC adapter works perfectly 100% as expected in RPCS3.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
I expect the control sticks to work properly.
System information:
Linux fast-desktop 4.15.0-39-generic #42~16.04.1-Ubuntu SMP Wed Oct 24 17:09:54 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
Ubuntu 16.04 with Xfce 4.12
Additional Information
Is this an RPCS3 issue or xpadneo issue?
The text was updated successfully, but these errors were encountered: