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

[BUG] Cannot bind controller buttons #4414

Closed
XXXBold opened this issue May 2, 2021 · 19 comments
Closed

[BUG] Cannot bind controller buttons #4414

XXXBold opened this issue May 2, 2021 · 19 comments
Labels

Comments

@XXXBold
Copy link
Contributor

XXXBold commented May 2, 2021

Describe the bug
I'm not able to bind any button from my wired XBox 360 Controller to any Key. Controller itself works, if I choose the "Gamepad Configuration" and toggle "Enable Rumble", it is vibrating.
Inputs from keyboard / mouse are accepted as they should.

This issue seems to apply to a few ppl with different controllers, as it's mentioned in the forums aswell: https://forums.pcsx2.net/Thread-changing-controller-layout-doesnt-work

To Reproduce
Open Controller configuration, try to assign any key by pressing buttons on the Controller. See that no input seems to be accepted.

Expected behavior
Buttons should be recognized and bound accordingly.

Emulation Settings
Preset 2, default.

System Info (please complete the following information):

inxi -Fxz
System:    Kernel: 5.8.0-50-generic x86_64 bits: 64 compiler: N/A Desktop: Cinnamon 4.8.6 Distro: Linux Mint 20.1 Ulyssa 
           base: Ubuntu 20.04 focal 
Machine:   Type: Desktop System: Gigabyte product: X570 AORUS ELITE v: -CF serial: <filter> 
           Mobo: Gigabyte model: X570 AORUS ELITE v: x.x serial: <filter> UEFI: American Megatrends v: F20 date: 07/07/2020 
CPU:       Topology: 12-Core model: AMD Ryzen 9 3900X bits: 64 type: MT MCP arch: Zen L2 cache: 6144 KiB 
           flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm bogomips: 182050 
           Speed: 2212 MHz min/max: 2200/3800 MHz Core speeds (MHz): 1: 2212 2: 2202 3: 2639 4: 2216 5: 2255 6: 2230 7: 2219 
           8: 3345 9: 2052 10: 1947 11: 2196 12: 2220 13: 2195 14: 2207 15: 2184 16: 2177 17: 3313 18: 3215 19: 2051 20: 2104 
           21: 2026 22: 2225 23: 2197 24: 2283 
Graphics:  Device-1: Advanced Micro Devices [AMD/ATI] Hawaii XT / Grenada XT [Radeon R9 290X/390X] vendor: PC Partner Limited 
           driver: amdgpu v: kernel bus ID: 0a:00.0 
           Display: x11 server: X.Org 1.20.9 driver: amdgpu,ati unloaded: fbdev,modesetting,vesa 
           resolution: 1920x1080~50Hz, 1920x1080~60Hz, 1920x1080~60Hz 
           OpenGL: renderer: AMD Radeon R9 200 Series (HAWAII DRM 3.38.0 5.8.0-50-generic LLVM 12.0.0) 
           v: 4.6 Mesa 21.2.0-devel (git-eb6d990 2021-04-30 focal-oibaf-ppa) direct render: Yes 
Audio:     Device-1: C-Media CMI8788 [Oxygen HD Audio] vendor: ASUSTeK Virtuoso 100 driver: snd_virtuoso v: kernel 
           bus ID: 06:04.0 
           Device-2: Advanced Micro Devices [AMD/ATI] Hawaii HDMI Audio [Radeon R9 290/290X / 390/390X] 
           vendor: PC Partner Limited driver: snd_hda_intel v: kernel bus ID: 0a:00.1 
           Device-3: Advanced Micro Devices [AMD] Starship/Matisse HD Audio vendor: Gigabyte driver: snd_hda_intel v: kernel 
           bus ID: 0c:00.4 
           Sound Server: ALSA v: k5.8.0-50-generic 
Network:   Device-1: Intel I211 Gigabit Network vendor: Gigabyte driver: igb v: 5.6.0-k port: e000 bus ID: 04:00.0 
           IF: enp4s0 state: up speed: 1000 Mbps duplex: full mac: <filter> 
           IF-ID-1: virbr0 state: down mac: <filter> 
           IF-ID-2: virbr0-nic state: down mac: <filter> 
Drives:    Local Storage: total: 6.33 TiB used: 1.75 TiB (27.6%) 
           ID-1: /dev/nvme0n1 vendor: Corsair model: Force MP510 size: 894.25 GiB 
           ID-2: /dev/sda vendor: Crucial model: CT2000MX500SSD1 size: 1.82 TiB 
           ID-3: /dev/sdb vendor: Western Digital model: WD40EZRZ-00GXCB0 size: 3.64 TiB 
Partition: ID-1: / size: 878.70 GiB used: 164.94 GiB (18.8%) fs: ext4 dev: /dev/nvme0n1p2 
Sensors:   System Temperatures: cpu: 51.8 C mobo: N/A gpu: amdgpu temp: 16 C 
           Fan Speeds (RPM): N/A gpu: amdgpu fan: 1338 
Info:      Processes: 457 Uptime: 2h 34m Memory: 31.37 GiB used: 7.37 GiB (23.5%) Init: systemd runlevel: 5 Compilers: 
           gcc: 9.3.0 Shell: bash v: 5.0.17 inxi: 3.0.38

Logs and Dumps
Log when run from Terminal:

PCSX2
ERROR: ld.so: object '/usr/local/lib/AppProtection/libAppProtection.so' from /etc/ld.so.preload cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
Gtk-Message: 19:59:03.111: Failed to load module "xapp-gtk3-module"
Interface is initializing.  Entering Pcsx2App::OnInit!
Applying operating system default language...
Loading language translation databases for 'German' [de_DE]
Command line parsing...
Command line parsed!

Let me know if you need further information.

@weirdbeardgame
Copy link
Contributor

Right for now. While we do intend to add controller mapping in the future. OnePad currently uses an auto mapper feature that denies access to manual mapping in the GUI at least, you can see this by opening and playing a game to see your inputs are recognized. Though in the future we do plan to add the manual mapping features back in

@XXXBold
Copy link
Contributor Author

XXXBold commented May 2, 2021

Right for now. While we do intend to add controller mapping in the future. OnePad currently uses an auto mapper feature that denies access to manual mapping in the GUI at least, you can see this by opening and playing a game to see your inputs are recognized. Though in the future we do plan to add the manual mapping features back in

Hm, alright then. But does this explicitly apply to (all) controllers? Because when I use my mouse and keyboard, I can map as I expect (clarified this above).

@weirdbeardgame
Copy link
Contributor

For the most part yeah, I'm not sure if keyboards apply to that.

@laclcia
Copy link

laclcia commented May 8, 2021

hello.
sorry if my english isnt the best.
i am experiencing the exact same problem. same step's to reproduce, i get vibration when i toggle it like op said and can map keyboard and mouse. all the same. BUT unlike what kenshen112 mentioned:

you can see this by opening and playing a game to see your inputs are recognized.

i can say that my input's from any controller i tried are not doing anything in games (tried with ps4 controller and with switch pro controller. both of witch worked before in pcsx2. they also both work on steam and all other emulator's i use. not sure if it's the automapper or what.

personally if possible an option to toggle on/off the automapper and manually map stuff like we used to do would be greately apreciated.

denies access to manual mapping in the GUI at least

i am intrigued from that. how do we map controll's for pcsx2 without the gui? is there a commandline mapping tool i can use? and if so will the mapping be usefull when launching games from the gui later on?

@RedDevilus
Copy link
Contributor

https://prnt.sc/12ofnq7

Due to merging we lost the ability to manually remap in GUI, but it's for the better we lost the plugin system even though we know you lose some functionality for awhile.

@Blueshawk
Copy link

Blueshawk commented May 14, 2021

Mine was a DS3 but the issue is the same. You might try editing PAD.ini and set first_time_wizard = 0 to 1, make sure your controller is on and attached and start PCSX2 and when you go to the gamepad page select your controller by clicking the button in the lower left. This worked for me and automatically set up full controls in gt4. Hope this helps.
Docs need some serious updates btw. I've been on quite a trek.
Now if I could just make it work in the lan for lan racing. 🤔

@blurrred
Copy link

blurrred commented Oct 1, 2021

I'm having the same issue on Manjaro Linux with a PS3 controller. While I cannot remap controls, the controller works just fine in game with all the controls bound to the proper buttons. I have no desire to remap the controls so long as they are already properly bound, but it was alarming at first to not be able to remap them.

@snesgx
Copy link

snesgx commented Dec 30, 2021

I'm using "PCSX2 Nightly - v1.7.2101 Compiled on Dec 6 2021" in Arch Linux. So if there is no way to remap the gamepad in the GUI, what is the alternative way?

Is has something to do with this?
https://github.com/gabomdq/SDL_GameControllerDB

@F0bes
Copy link
Member

F0bes commented Dec 30, 2021

Create a mapping and change it in your game_controller_db.txt file which is in the PCSX2. You can also request/change upstream here: http://github.com/gabomdq/SDL_GameControllerDB if the mapping is wrong.

You can use something like this to create a mapping.

@snesgx
Copy link

snesgx commented Jan 5, 2022

Only 2 files like that are in my system:
/opt/duckstation/database/gamecontrollerdb.txt
/home/[user]/.local/share/gamecontrollerdb.local.txt

None of them affect the behavior of PCSX2. I edited them, I delete them, the mappings still the same.

@RedDevilus
Copy link
Contributor

Make sure it's game_controller_db.txt and not gamecontrollerdb.txt as PCSX2 adds underscores to denote it's not upstream version (I think?) Could you upload your file here to see what the issue is?

@snesgx
Copy link

snesgx commented Jan 5, 2022

This is what the gamepadtool generates:
0300000079000000d218000011010000,MAGIC-NS,a:b0,b:b1,x:b3,y:b4,back:b10,guide:b12,start:b11,leftshoulder:b6,rightshoulder:b7,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,lefttrigger:a2,righttrigger:a3,platform:Linux

This is in gamecontrollerdb.local.txt:
0300000079000000d218000011010000,MAGIC-NS,a:b2,b:b1,x:b0,y:b3,back:b8,guide:b12,start:b9,leftstick:a1,rightstick:a3,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.0,dpleft:h0.8,dpright:h0.2,leftx:a0,rightx:a2,lefttrigger:b6,righttrigger:b7,platform:Linux,

Regardless, that file does nothing and I was unable to find anything new with: find -iname "gamecontrollerdb"

@snesgx
Copy link

snesgx commented Jan 5, 2022

Also, if you check the source code of PCSX2, there is this file:
https://github.com/PCSX2/pcsx2/blob/master/bin/resources/game_controller_db.txt

Probably only can be changed by recompiling.

@TellowKrinkle
Copy link
Member

TellowKrinkle commented Jan 5, 2022

If you're using an appimage, the db file should be inside of it
If you don't want to edit that, open up the PAD.ini configuration file and add the line SDL2 = 0300000079000000d218000011010000,MAGIC-NS,a:b0,b:b1,x:b3,y:b4,back:b10,guide:b12,start:b11,leftshoulder:b6,rightshoulder:b7,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,lefttrigger:a2,righttrigger:a3,platform:Linux at the end of the file

@F0bes
Copy link
Member

F0bes commented Jan 14, 2022

Closing as this isn't a bug and onepad knowingly doesn't provide mapping via GUI.

@F0bes F0bes closed this as completed Jan 14, 2022
@XXXBold
Copy link
Contributor Author

XXXBold commented Jan 15, 2022

Hm, you might be right that this is not a bug, but I'd leave it open because there will be more issue reportings regarding this, on the forums and here as well. If this is still open, all related can be redirected here.

Maybe change to another label, like not implemented or feature request?

@F0bes
Copy link
Member

F0bes commented Jan 15, 2022

The issue is already addressed here as well.

@snesgx
Copy link

snesgx commented Jan 27, 2022

Is this change allowing loading a custom "game_controller_db.txt" in Linux?
0e0e23e#diff-d339082f7e69f44bd7922224b2306f9b8b3a4c2de389f36b36e5e69a8c2e98ae

@KennethBenicio
Copy link

Mine was a DS3 but the issue is the same. You might try editing PAD.ini and set first_time_wizard = 0 to 1, make sure your controller is on and attached and start PCSX2 and when you go to the gamepad page select your controller by clicking the button in the lower left. This worked for me and automatically set up full controls in gt4. Hope this helps. Docs need some serious updates btw. I've been on quite a trek. Now if I could just make it work in the lan for lan racing. thinking

It did work for me, thanks a lot!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests