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

Ubuntu 16.04 xbox wireless controller can't map rtrigger #10181

Closed
Nine-H opened this issue Nov 23, 2017 · 11 comments
Closed

Ubuntu 16.04 xbox wireless controller can't map rtrigger #10181

Nine-H opened this issue Nov 23, 2017 · 11 comments
Labels
SDL2 Issue on SDL (or Qt in SDL code) but not all ports.
Milestone

Comments

@Nine-H
Copy link

Nine-H commented Nov 23, 2017

When I try to map rtrigger to the right shoulder button using the xpad driver nothing happens, all of the sdl2 programs I've tested have had no issues with the gamepad and receiver. I'm using 1.4.1 from the testing ppa. The rest of the button names are messed up as well.

@re-l124c41plus
Copy link

I'm having the same problem it seems.
The bindings for my Xbox 360 wireless controller are messed up for some reason:
Pressing left or right on the d-pad doesn't seem to do anything and pressing up or down on the d-pad appears to navigate left and right.
Not a huge problem in itself since I can change the keybindings, but there are several problems when I attempt to rebind (Xbox controller) keys:

1.) Some keys refuse to be bound. For example when I try to assign the right trigger of my controller to some action it isn't recognized by ppsspp, as if I'm not pressing any button, and the rebind prompt continues to wait for controll input.
The same problem appears for some other keys, like the right thumbstick.

2.) Even though some of my keys can be rebound, ppsspp lists weird names for the keys in question.
For example when I try to bind Dpad left to a left press on my controller's dpad, ppsspp will recognize the pressed key as a press of the left thumbstick.

3.) ppsspp doesn't seem to care about the mappings listed under control mappings in the options. After rebinding the d-pad keys I tried to navigate the menus again with my d-pad. This didn't work though as the program showed the same behaviour as described at the top of my post: pressing left or right doesn't do anything and up and down navigates left and right.

My system:
Arch Linux: 4.14.13-1-ARCH
Controller: (official, not knockoff) Xbox 360 Wireless controller
ppsspp version: ppsspp-qt 1.5.4 (also tried various others, see below)

Things I tried:
Tested the controller in other games: controller behaved fine, so no hardware fault.
Tried other controllers: only have the Steam controller, which worked fine (although it didn't want to use the gamepad config instead of the desktop config).
Tried to compile various other versions of ppsspp: I tried the newest git version, which didn't work. Then I tried older versions because I knew that the controller used to work fine in the past.
The last time I played with ppsspp it must have been one of the 1.4 versions during the summer last year, but none of them worked for me. I then went back as far as 1.3 but still no luck.
I then tried a few random commits inbetween but none worked with the controller.

This is quite strange since I know it used to work fine in the past for quite a while, but when I tried those older versions it didn't work anymore.
Either I made a mistake when compiling older stuff or perhaps the problem is somewhere else (incompatible system libraries?).

I tried what I could think of. If there is anything else I could test to help troubleshoot this please let me know.
Thanks for your time and your awesome work to all the ppsspp contributors by the way, it's really appreciated!

@unknownbrackets unknownbrackets added the SDL2 Issue on SDL (or Qt in SDL code) but not all ports. label Jan 15, 2018
@unknownbrackets
Copy link
Collaborator

Is your controller listed in the gamecontrollerdb? See #8993 and for example #9902.

-[Unknown]

@re-l124c41plus
Copy link

re-l124c41plus commented Jan 15, 2018

@unknownbrackets yeah it is listed there as far as I can tell. I would be pretty surprised to find that the DB is missing the official Xbox 360 controller.
I just started ppsspp and this is what it says about my controller:

loading control pad mappings from gamecontrollerdb.txt: SUCCESS!
found control pad: Xbox 360 Wireless Receiver, loading mapping: SUCCESS, mapping is:
030000005e040000a102000000010000,Xbox 360 Wireless Receiver,b:b1,righty:a3,rightx:a2,a:b0,x:b2,righttrigger:b7,rightstick:b12,leftshoulder:b4,dpup:b15,start:b9,dpdown:b16,rightshoulder:b5,dpright:b14,lefttrigger:b6,leftstick:b11,guide:b8,y:b3,lefty:a1,leftx:a0,back:b8,dpleft:b13,platform:Linux,
pad 1 has been assigned to control pad: Xbox 360 Wireless Receiver

A quick Ctrl+F of the ID(030000005e040000a102000000010000) in the gamecontrollerdb also finds it.

@unknownbrackets
Copy link
Collaborator

Maybe the right shoulder is not actually b5, then? All your problems sound like the mapping is incorrect (I was thinking before that it was because it used the default, but maybe it's because it used this one, and it's wrong for your controller.)

-[Unknown]

@re-l124c41plus
Copy link

@unknownbrackets Wow, you were right. Thanks for the suggestion!
The mapping in the controllerDB doesn't match the binding I get when I use SDL's controllermap to create my own mapping. How curious.
This is the mapping I get for my controller:

030000005e040000a102000000010000,Xbox 360 Wireless Receiver,platform:Linux,a:b0,b:b1,x:b2,y:b3,back:b6,guide:b8,start:b7,leftstick:b9,rightstick:b10,leftshoulder:b4,rightshoulder:b5,dpup:b13,dpdown:b14,dpleft:b11,dpright:b12,leftx:a0,lefty:a1,rightx:a3,righty:a4,lefttrigger:a2,righttrigger:a5,

ppsspp now works fine with this mapping. For anyone with the same problem(@Nine-H ):
I used SDL's controllermap to create a new mapping for my controller. I followed the instructions here: Link

I guess that means this is solved, at least for me. Although I wonder why the gamecontrollerDB didn't match my controller correctly.

@Nine-H
Copy link
Author

Nine-H commented Jan 16, 2018

I pasted slin31's map and it worked.

@hrydgard
Copy link
Owner

Huh, maybe our existing config line is just wrong then.

@Nine-H
Copy link
Author

Nine-H commented Jan 17, 2018

I think if it's broken in ubuntu LTS and arch that's probably the case. where did the original one come from?

@unknownbrackets
Copy link
Collaborator

It looks like it came from #10019.

-[Unknown]

hrydgard added a commit that referenced this issue Jan 17, 2018
@hrydgard
Copy link
Owner

Switching to this new line, let's see if we get any complaints...

@unknownbrackets
Copy link
Collaborator

It sounds like we haven't gotten any complaints. Closing.

-[Unknown]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
SDL2 Issue on SDL (or Qt in SDL code) but not all ports.
Projects
None yet
Development

No branches or pull requests

4 participants