Skip to content

Conversation

@baikiet
Copy link
Contributor

@baikiet baikiet commented Dec 8, 2025

That controller was added in 8e95d26 The commit message says "PS4 Nacon Revolution Unlimited Pro Controller". The deviceName says "Generic X-Box pad".
The physical controller I have access to says "Nacon Revolution Unlimited Pro Controller". The associated website says it's a PS4 controller. The lsusb command says "BigBen Interactive Revolution Unlimited Pro Controller".

This change updates the name to be more accurate as it's definitely not an X-Box controller.

This change also fixes the hotkey mapping to match the central PS button.

That controller was added in batocera-linux@8e95d26
The commit message says "PS4 Nacon Revolution Unlimited Pro Controller".
The `deviceName` says "Generic X-Box pad".
The physical controller I have access to says "Nacon Revolution Unlimited Pro Controller".
The [associated website](https://www.nacongaming.com/en-GB/revolution-unlimited-pro-controller) says it's a PS4 controller.
The `lsusb` command says "BigBen Interactive Revolution Unlimited Pro Controller".
    
This change updates the name to be more accurate as it's definitely not an X-Box controller.

This change also fixes the hotkey mapping to match the central PS button.
@dmanlfc
Copy link
Collaborator

dmanlfc commented Dec 9, 2025

what does sdl2-jstest -l say the Joystick Name is?

@baikiet
Copy link
Contributor Author

baikiet commented Dec 9, 2025

# sdl2-jstest -l
Found 1 joystick(s)

Joystick Name:     'Generic X-Box pad'
Joystick Path:     '/dev/input/event5'
Joystick GUID:     030000006b1400000506000014010000
Joystick Number:    0
Number of Axes:     6
Number of Buttons: 11
Number of Hats:     1
Number of Balls:    0
GameControllerConfig:
  missing (see 'gamecontrollerdb.txt' or SDL_GAMECONTROLLERCONFIG)
Axis code  0:    0
Axis code  1:    1
Axis code  2:    2
Axis code  3:    3
Axis code  4:    4
Axis code  5:    5
Button code  0:   304
Button code  1:   305
Button code  2:   307
Button code  3:   308
Button code  4:   310
Button code  5:   311
Button code  6:   314
Button code  7:   315
Button code  8:   316
Button code  9:   317
Button code 10:   318
Hat code  0:   -1

But

# lsusb | grep -m1 Controller
Bus 001 Device 002: ID 146b:0605 BigBen Interactive Revolution Unlimited Pro Controller

@baikiet
Copy link
Contributor Author

baikiet commented Dec 9, 2025

Does it mean we need to update https://github.com/mdqinc/SDL_GameControllerDB/tree/master first?

@dmanlfc
Copy link
Collaborator

dmanlfc commented Dec 9, 2025

so keep it Generic X-Box pad

@baikiet
Copy link
Contributor Author

baikiet commented Dec 11, 2025

I think that string actually comes from the USB driver: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/input/joystick/xpad.c#n428

@baikiet
Copy link
Contributor Author

baikiet commented Dec 11, 2025

I cannot find the kernel configuration, headers and Module.symvers for Batocera releases. Is that available somewhere or do I need to rebuild the whole kernel just to test a one line patch against xpad.c?

@dmanlfc
Copy link
Collaborator

dmanlfc commented Dec 13, 2025

the driver used is an xbox compatible controller type. so i assume this is what the PC mode gets set to.
if so then rebuild the xpad-noone package with this patch...

index c6e80e2bf3..3d4a435abd 100644
--- a/xpad.c
+++ b/xpad.c
@@ -248,6 +248,7 @@ static const struct xpad_device {
 	{ 0x1430, 0xf801, "RedOctane Controller", 0, XTYPE_XBOX360 },
 	{ 0x146b, 0x0601, "BigBen Interactive XBOX 360 Controller", 0, XTYPE_XBOX360 },
 	{ 0x146b, 0x0604, "Bigben Interactive DAIJA Arcade Stick", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOX360 },
+	{ 0x146b, 0x0605, "BigBen Interactive Revolution Unlimited Pro Controller", 0, XTYPE_XBOX360 },
 	{ 0x15e4, 0x3f00, "Power A Mini Pro Elite", 0, XTYPE_XBOX360 },
 	{ 0x15e4, 0x3f0a, "Xbox Airflo wired controller", 0, XTYPE_XBOX360 },
 	{ 0x15e4, 0x3f10, "Batarang Xbox 360 controller", 0, XTYPE_XBOX360 },```

let me know if it works.

@baikiet
Copy link
Contributor Author

baikiet commented Dec 15, 2025

I sent a similar patch to linux-input: https://lore.kernel.org/linux-input/aTsISNi0WZb8YCGA@rodenbach/T/
I was able to successfully test it on Debian.

I'll see if I can figure out how to rebuild xpad-noone the Batocera way.

@dmanlfc
Copy link
Collaborator

dmanlfc commented Dec 31, 2025

@baikiet did my suggestion work?

@baikiet
Copy link
Contributor Author

baikiet commented Jan 1, 2026

Sorry, I have not attempted to rebuild xpad-noone nor am I likely to have time to do so in the near future.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants