Controllers not working correctly

Hey all!

I finally got two of my test games working in Lutris, Yakuza 0 and Dark Souls 1.

I can't get my controller(s) to work properly at all though. So frustrated. I have described the behavior of my controllers below, when I play Yakuza 0, but the same issues affect Dark Souls 1 also.

On my Xbox one controller:

  • right analog stick does nothing
  • left analog stick click is start
  • other messed up buttons
  • camera constantly spinning

PS4 controller:

  • camera spinning
  • x/o are swapped
  • dpad and some other buttons do nothing.

Steam controller:

  • can't get it to work wirelessly
  • acts like mouse/kb ingame, but without big picture, I can't remap it.

Using the various x360xe options seem to literally have no affect whatsoever either.

Any ideas? Google hasn't helped at all.

I was delighted when I finally got the games running, and never expected controllers acting up to be the straw that broke the camels back.

Thanks so much in advance.

Edit:

Alright... So I've found a workaround. It's ridiculous but I digress.. I'm using SC-Controller.

  • Edit Yakuza's input.ini file.
  • Set all Controller Camera values to 1024 (unused)
  • Start the game and see that the camera no longer spins on its own.
  • Rejoice after spending two days trying to get the camera to stop spinning.
  • Enjoy playing the game at last.

The camera controls are also then disabled for the steam controller (even though it's using mouse movement or the camera controls).

It seems if you disable the controls for the camera on the gamepad (unbound) it also makes them unbound for the keyboard/mouse too, which is ridiculous.

There is one plus... I still get the gamepad button prompts.

But screw it.

The center camera button will now be my best friend, and i'll do without manual camera control :)

Posted Aug 8, 2018, 7:26 PM UTC · edited

65
gamersonlinux•

I bought a cheap Amazon Basics Xbox Controller last December and it didn't work until recently because of drivers.

Try running some updates, even kernel updates and they might end up working just fine.

Other than that, I'm totally clueless.

2
toidiboy•

SC controller is your friend. I've been using it for a long time with my steam controllers and I do believe it works with other controllers also. You can even import steam controller profiles to it if you wish.

https://github.com/kozec/sc-controller

Quick edit to get steam controller to work wirelessly the easiest way is to install steam for Linux and run it.. This will update all your udev stuff and allow sc controller to communicate with your controller.

2
apathyrecharge•

i use a 360 wireless with xboxdrv and i need to switch between 2 different commands depending on if i'm playing on an emulator/native steam, or if i'm playing something through wine, otherwise i would encounter the same issues as you like the camera constantly spinning.

i wrote a small script to help simplify the process, you can see it here. the --wine flag, as you can guess, is what USUALLY works for wine, but not always - for FFXII i had to use the --native flag instead.

2
ObeseOstrich•

I've had troubles with controllers as well. I played Dark Souls 2 on wine with a ps4 controller but the mapping was off. No lock on, share button for jump, right trigger for menu, left trigger for gesture menu, and releasing left trigger for right hand strong attack. No left hand strong attack. I just dealt with it and played it like that.

Now I've gotten DS3 to run with dxvk, but it's not responding to the controller. If I open wine's controller tester, it recognizes all buttons, all dpad directions, and all stick axes just fine. But once I get into the game there's no response. I'm at a loss of what to do next.

1
wolfegothmog•

That's a known glitch is Dark souls 1 (and 2 sometimes) you'll need to find the appropriate mapping and apply it. This is not actually a wine glitch it's a Dark souls glitch it happens in Windows as well, no clue about Yakuza.

For the PS4 controller is dark souls you can use ds4drv if you add https://github.com/chrippa/ds4drv/issues/125 mapping to uinput.py and use mapping souls

1