Project

General

Profile

Actions

Emulator Issues #8724

closed

Dualshock 4 touchpad and tilt axes are detected but not usable

Added by pickeringw almost 10 years ago.

Status:
Fixed
Priority:
Normal
Assignee:
% Done:

0%

Operating system:
N/A
Issue type:
Bug
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:

Description

Game Name?
N/A

Game ID?
N/A

What's the problem? Describe what went wrong in few words.
Dolphin 4.0-6891 on Ubuntu 15.04. Dualshock4 connected via Bluetooth (or wired - axes are different numbered but same result). Axes 13,14 (touchpad Y,X respectively) and axes 11,9 (forward/backward, left/right respectively) are visible in the list of inputs, but do not have any effect when selected.

What did you expect to happen instead?
Able to use the axes as inputs (e.g. for IR and Tilt).

What steps will reproduce the problem?
[Don't assume we have ever played the game and know any level names. Be as
specific as possible.]

  1. Connect Dualshock4 to PC via Bluetooth
  2. Edit emulated wiimote controller settings in Dolphin
  3. Set e.g. Axis 14- for IR Up and Axis 14+ for IR Down
  4. Note no effect in the IR UI element

Dolphin 3.5 and 3.5-367 are old versions of Dolphin that have
known issues and bugs, so don't report issues about them and test the
latest Dolphin version first.
Which versions of Dolphin did you test on?
Dolphin 4.0-6891

Does using an older version of Dolphin solve your issue? If yes, which
versions of Dolphin used to work?
No

What are your PC specifications? (including, but not limited to: Operating
System, CPU and GPU):
Ubuntu 15.04
Intel(R) Core(TM) i5 CPU M 460 @ 2.53GHz
AMD Mobility Radeon HD 5000 Series

Is there any other relevant information? (e.g. logs, screenshots,
configuration files):
Controller shows in Dolphin as "SDL/0/Wireless Controller"
Testing with sdl-jstest shows that the axes mentioned are detected and full range of motion is shown. Range of values is -32768 to 32767.
Testing with evtest shows that the touchpad and tilt axes events are received.

If there's anything else you might need, please let me know. I'm happy to help and would love to see this working.

Actions #1

Updated by JMC4789 almost 10 years ago

I heard phire was removing SDL, so maybe he could implement this in whatever he's replacing it with.

Actions #2

Updated by phire almost 10 years ago

Actions #3

Updated by pickeringw almost 10 years ago

@phire: Compiled with that PR, the DS4 doesn't show on the list of available devices. It does show up as /dev/input/js0 in jstest-gtk.

Actions #4

Updated by phire almost 10 years ago

  • Status changed from New to Accepted

It doesn't use the /dev/input/ds0 interface, it uses /dev/input/eventX.

I've got a DS4 ordered to help me debug, but until then could you work out which event device the DS4 is listed as and pastebin the first part of the output from running evtest on it.

Actions #5

Updated by pickeringw almost 10 years ago

As requested. http://pastebin.com/KM283Vf8

I can also identify the axes if you wish.

Actions #6

Updated by phire almost 10 years ago

Hmm, everything is there, it should be working.

Unless support wasn't compiled in because you were lacking libudev or libevdev (which would have been installed at the same time as evtest).
Can you make sure cmake is enabling the evdev controller backend.

I probably need to make those libraries not optional.

Actions #7

Updated by pickeringw almost 10 years ago

I didn't have the libevdev-dev package installed. It's not a dependency of the evtest package and had to be installed separately.

Now I just have to test the button mapping.

Actions #8

Updated by pickeringw almost 10 years ago

I'm having trouble assigning the D-Pad buttons. They show up as axes with e.g. Left/Right being Axis 6-/Axis 6+ respectively. If I assign them this way in Dolphin, Right (Axis 6+) works fine, but Left (Axis 6-) shows as always pressed, except when Right is pressed.

I can work around this by setting the Range to between 17-50, but it seems to me that this should not be necessary.

The touchpad and tilt axes seem to be working fine. Have to test them in-game properly yet.

Actions #9

Updated by phire almost 10 years ago

Ah, it's mapping to the hat, which is a little under-supported right now.

One of my controllers does that, but the D-Pad also maps to buttons. Can you check which buttons they map to and (if so) assign them manually?

Actions #10

Updated by pickeringw almost 10 years ago

I tried every button that Dolphin detects (13 of) - none of them map to the hat. Is this a linux problem or a Dolphin problem?

Actions #11

Updated by phire almost 10 years ago

Probably a weirdity of the controller itself,
The latest version of the PR supports hats correctly.

Now what about the touchpad and tilt axis?

Actions #12

Updated by pickeringw almost 10 years ago

Updated to the new PR and the hats work as expected. Also corrected some strangeness I was seeing with tilt axes.

Touchpad works well. When assigned to IR the pointer is a bit jittery, while I can see that the values being reported for the axes are not changing - though I suspect this is because the accelerometer has some effect.

I'm struggling to correctly assign the swing/shake axes, but I think this is probably just because I don't know exactly what they should look like. I suspect they're implemented correctly.

Actions #13

Updated by phire almost 10 years ago

So I got my ds4 in the mail today. The tilt axis didn't show up at all for me. My evtest results:

https://gist.github.com/phire/420730b16f2080821778

Has less axis and a different version number.

Actions #14

Updated by phire almost 10 years ago

Possibly a linux issue, can you report which kernel version you are using.

Mine is linux 4.0.4

Actions #15

Updated by MayImilae over 9 years ago

  • Status changed from Accepted to Fixed
Actions

Also available in: Atom PDF