0

I'm using antix17, based on Debian. I'm using lightdm with the kde greeter, IceWM for window manager, and x display server. My controller is a PS2 knock off, I'm connecting it to the PC with a USB adapter. The adapter has two ports for two controllers, for this reason, the computer thinks there's two controllers connected at all times, regardless of how many are actually connected to the computer.

Now, onto the issues. My controller can directly interact with my mouse. I can move it around with the joystick and I can press some buttons to simulate clicks. This is unwanted behavior because it causes issues when I actually want to game. After trying for some time, I managed to get RetroArch to run on this old PC, but it's riddles with controller issues. On the menus, I seem to be getting double input. When I enter a menu, I see a quick flash of what I presume to be the sub-menu I entered and then I'm back at where I started with the first option selected. This makes controller navigation on RetroArch impossible since I can't enter sub-menus. Also, the stick moving the mouse makes it so I can reach the bottom of the screen and render the taskbar on top of the games, making it lose focus. The biggest issue by far is when using two player mode. The two controllers seem to be linked in some way. For example, in a platformer, I pressed the jump button and that made both characters jump, same thing happened when I pressed jump on the other controller. I tried on another game, and this time only the second controller made both characters jump. The D-pad seems to be independent.

I have no clue on how any of this works and I'm losing my mind. By the way, the driver on RetroArch is set to udev, I tried with many more and none removed any issues. I seem to be using eudev tho, whatever that is.

Can somebody help me troubleshoot this? Controllers in *nix environments is something I should really learn how to configure.

1

From Archlinux wiki:

If you want to play games with your controller, you might want to disable joystick control over mouse cursor. To do this, edit /etc/X11/xorg.conf.d/51-joystick.conf (create if it doesn't exists) so that it looks like this:

> /etc/X11/xorg.conf.d/51-joystick.conf

Section "InputClass"
        Identifier "joystick catchall"
        MatchIsJoystick "on"
        MatchDevicePath "/dev/input/event*"
        Driver "joystick"
        Option "StartKeysEnabled" "False"       #Disable mouse
        Option "StartMouseEnabled" "False"      #support
EndSection
| improve this answer | |
0

If you're using an older distribution whose joystick(4) driver doesn't yet support the StartKeysEnabled or StartMouseEnabled options, the mouse control by joystick can be disabled like this too:

Section "InputClass"
        Identifier      "Mouse-by-joystick disabler"
        MatchIsJoystick "true"
        Option          "Floating"      "true"
EndSection

But if those above-mentioned options are supported, by all means use them. (Setting the joystick as Floating will totally stop it from reporting "core events", but if my understanding is correct, setting Start(Keys|Mouse)Enabled to False should allow you to selectively re-enable the mouse/key event functionality if you need it later, so disabling with those options should give you more flexibility.)

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.