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

Onepad: Gamepad controls both players #2039

Closed
orbea opened this issue Aug 9, 2017 · 20 comments
Closed

Onepad: Gamepad controls both players #2039

orbea opened this issue Aug 9, 2017 · 20 comments

Comments

@orbea
Copy link
Contributor

orbea commented Aug 9, 2017

PCSX2 version:
pcsx2-2017.07.27_66a87ce4d_master-x86_64-1_git

Plugins used:
OnePAD 20170729201046 2.0.0

Description of the issue:
When using the OnePAD 2.0.0 plugin with multiplayer games (i.e. Guilty Gear X2) with only one gamepad connected it will try to use the same gamepad for both players. For example if I press start in the arcade character selection it will choose characters for both players 1 and 2, during the match if I press left on the d-pad both characters will then move left. Interestingly enough it does not affect the left analog stick (Right is unused in the game).

Additionally in the OnePAD 2.0.0 plugin settings when I try to select Gamepad 1 and then Gamepad Configuration it will print No gamepad detected.

This is my first time trying OnePAD 2.0.0 instead of the legacy OnePAD 1.3.0 plugin which does not have this issue and I configured it with antimicro as explained in issue #2010. Potentially this is something I did wrong with my configuration?

$HOME/.config/PCSX2/inis/OnePAD2.ini

first_time_wizard = 0
log = 0
options = 0
mouse_sensibility = 500
ff_intensity = 32767
uid[0] = 0
uid[1] = 0
PAD 0:KEYSYM 0x3b = 1
PAD 0:KEYSYM 0x61 = 0
PAD 0:KEYSYM 0x64 = 14
PAD 0:KEYSYM 0x65 = 12
PAD 0:KEYSYM 0x66 = 13
PAD 0:KEYSYM 0x69 = 4
PAD 0:KEYSYM 0x6a = 7
PAD 0:KEYSYM 0x6b = 6
PAD 0:KEYSYM 0x6c = 5
PAD 0:KEYSYM 0x6e = 11
PAD 0:KEYSYM 0x70 = 3
PAD 0:KEYSYM 0x73 = 15
PAD 0:KEYSYM 0x76 = 8
PAD 0:KEYSYM 0x77 = 2
SDL2 = 030000000d0f00006700000001010000,HORIPAD ONE,Joystick,platform:Linux,a:b0,b:b1,x:b2,y:b3,back:b6,start:b7,guide:b8,leftshoulder:b4,rightshoulder:b5,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a3,righty:a4,lefttrigger:a2,righttrigger:a5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,

How to reproduce the issue:

  1. Configure and select the OnePAD 2.0.0 plugin.
  2. Start a multiplayer game like Guilty Gear X2
  3. Press start in the arcade character selection to select characters for both players 1 & 2.
  4. Press various buttons during the match to control both characters at once.

Last known version to work:
When using the legacy OnePAD 1.3.0 plugin.

PC specifications:
OS: Slackware64-current
gamepad: Horipad One

@gregory38
Copy link
Contributor

I can confirm you that I didn't think about multi-player game with a single gamepad. I should add some code to allow a no-gamepad available configuration.

Otherwise could you show me the complete of the bad detection. Is the controller working (if only this one is plugged)

@orbea

This comment has been minimized.

@gregory38
Copy link
Contributor

gregory38 commented Aug 9, 2017

I mean this part: No gamepad detected. My understanding was that even with ini config, gamepad was still wrongly detected. Is it correct ? Or is the message only appear when you use the GUI ?

@orbea

This comment has been minimized.

@gregory38
Copy link
Contributor

ok. I think it is because you try to configure the 2nd player but with only a single pad.

@orbea

This comment has been minimized.

@gregory38
Copy link
Contributor

I pushed a branch. Could you test it ?
https://github.com/PCSX2/pcsx2/tree/greg/onepad-2039

@orbea

This comment has been minimized.

@orbea

This comment has been minimized.

@gregory38
Copy link
Contributor

Hum did you try to set the 2nd gamepad in the gamepad configuration sub panel?

@orbea

This comment has been minimized.

@gregory38
Copy link
Contributor

Hum, I will change the code so 2nd player use the 2nd gamepad by default.

So if you plug only a single controller, analog sticks are working. Is it correct ?

@orbea

This comment has been minimized.

@XenonPK
Copy link

XenonPK commented Aug 10, 2017

Using two PS3 controllers connected via bluetooth under linux causes the first controller to control both players at the same time, that said, when I toggle rumble, both controllers respond as expected.

@orbea

This comment has been minimized.

@gregory38
Copy link
Contributor

I updated my branch to handle a nice default for 2nd player. Now remain the issue of analog sticks.

@gregory38
Copy link
Contributor

@orbea could you retest analog stick on my brach. It seems to work on my side (tested left stick on bomberman kart). Delete ini files and try to setup both gamepad controller.

@orbea

This comment has been minimized.

@orbea

This comment has been minimized.

@escalade
Copy link

escalade commented Sep 6, 2017

@gregory38

Hum, I will change the code so 2nd player use the 2nd gamepad by default

I have two DS4v1 controllers, and while one works the other one doesn't work. Here's the output of sdl2-jstest:

Joystick Name:     'Wireless Controller'
Joystick GUID:     050000004c050000c405000000810000
Joystick Number:    0
Number of Axes:     6
Number of Buttons: 13
Number of Hats:     1
Number of Balls:    0
GameController:
  Name:    'PS4 Controller'
  Mapping: '050000004c050000c405000000810000,PS4 Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b3,y:b2,'

Joystick Name:     'Wireless Controller Motion Sensors'
Joystick GUID:     050000004c050000c405000000810000
Joystick Number:    1
Number of Axes:     6
Number of Buttons:  0
Number of Hats:     0
Number of Balls:    0
GameController:
  Name:    'PS4 Controller'
  Mapping: '050000004c050000c405000000810000,PS4 Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b3,y:b2,'

Joystick Name:     'Wireless Controller'
Joystick GUID:     050000004c050000c405000000810000
Joystick Number:    2
Number of Axes:     6
Number of Buttons: 13
Number of Hats:     1
Number of Balls:    0
GameController:
  Name:    'PS4 Controller'
  Mapping: '050000004c050000c405000000810000,PS4 Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b3,y:b2,'

Joystick Name:     'Wireless Controller Motion Sensors'
Joystick GUID:     050000004c050000c405000000810000
Joystick Number:    3
Number of Axes:     6
Number of Buttons:  0
Number of Hats:     0
Number of Balls:    0
GameController:
  Name:    'PS4 Controller'
  Mapping: '050000004c050000c405000000810000,PS4 Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b3,y:b2,'

I suppose it's because the "Wireless Controller Motion Sensors" gets their own joystick, so /dev/js1 is a motion controller and not the second joystick like PCSX2 expects. I tried specifying through the GUI with "game controller config" but it doesn't seem to have any effect.

ssakash pushed a commit to ssakash/pcsx2 that referenced this issue Oct 10, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants