Pandora's Box dual arcade sticks to PS4/Switch console setup
13 posts
• Page 2 of 2 • 1, 2
Re: Pandora's Box dual arcade sticks to PS4/Switch console s
For reference here are the descriptors decoded:
As you can see there are two HID report descriptors, possible one for each arcade stick. The issue here is both share the same USB interface, differentiating only by the Report ID. In addition to that, the HID descriptors are very similar, causing the inputs to overlap. Unfortunately at current implementation the Titan Two does not offers means to differentiate one from another and the inputs from both will be merged into a single data structure.
We have planned to implement in the future the ability to access HID reports directly via script, which then could used in this case.
- Code: Select all
[USB DESCRIPTOR]
12 bLength: 18
01 bDescriptorType: 1 - DEVICE
00 02 bcdUSB: 2.00
00 bDeviceClass: 0 (00)
00 bDeviceSubClass: 0 (00)
00 bDeviceProtocol: 0 (00)
08 bMaxPacketSize0: 8
C0 16 idVendor: 16C0
E0 05 idProduct: 05E0
00 01 bcdDevice: 1.00
01 iManufacturer: 1
02 iProduct: 2
00 iSerialNumber: 0
01 bNumConfigurations: 1
09 bLength: 9
02 bDescriptorType: 2 - CONFIGURATION
22 00 wTotalLength: 34
01 bNumInterfaces: 1
01 bConfigurationValue: 1
00 iConfiguration: 0
80 bmAttributes: 128 (Bus Powered)
0A MaxPower: 20mA
09 bLength: 9
04 bDescriptorType: 4 - INTERFACE
00 bInterfaceNumber: 0
00 bAlternateSetting: 0
01 bNumEndpoints: 1
03 bInterfaceClass: 3 (03)
00 bInterfaceSubClass: 0 (00)
00 bInterfaceProtocol: 0 (00)
00 iInterface: 0
09 bLength: 9
21 bDescriptorType: 33 - HID
11 01 bcdHID: 1.11
00 bCountryCode: 0
01 bNumDescriptors: 1
22 bDescriptorType: 34
70 00 wDescriptorLength: 112
07 bLength: 7
05 bDescriptorType: 5 - ENDPOINT
81 bEndpointAddress: 1 IN
03 bmAttributes: 3 (Interrupt, None, Data)
08 00 wMaxPacketSize: 8
0A bInterval: 10
[STRING 1 DESCRIPTOR]
3H Dual Arcade
[STRING 2 DESCRIPTOR]
3H Dual Arcade
[INTERFACE 0 HID DESCRIPTOR]
05 01 (GLOBAL) USAGE_PAGE 0x0001 Generic Desktop Page
09 04 (LOCAL) USAGE 0x00010004 Joystick (CA=Application Collection)
A1 01 (MAIN) COLLECTION 0x01 Application (Usage=0x00010004: Page=Generic Desktop Page, Usage=Joystick, Type=CA)
09 01 (LOCAL) USAGE 0x00010001 Pointer (CP=Physical Collection)
A1 00 (MAIN) COLLECTION 0x00 Physical (Usage=0x00010001: Page=Generic Desktop Page, Usage=Pointer, Type=CP)
85 01 (GLOBAL) REPORT_ID 0x01 (1)
09 30 (LOCAL) USAGE 0x00010030 X (DV=Dynamic Value)
09 31 (LOCAL) USAGE 0x00010031 Y (DV=Dynamic Value)
15 FF (GLOBAL) LOGICAL_MINIMUM 0xFF (-1)
25 01 (GLOBAL) LOGICAL_MAXIMUM 0x01 (1)
75 02 (GLOBAL) REPORT_SIZE 0x02 (2) Number of bits per field
95 02 (GLOBAL) REPORT_COUNT 0x02 (2) Number of fields
81 02 (MAIN) INPUT 0x00000002 (2 fields x 2 bits) 0=Data 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap
75 01 (GLOBAL) REPORT_SIZE 0x01 (1) Number of bits per field
95 04 (GLOBAL) REPORT_COUNT 0x04 (4) Number of fields
81 03 (MAIN) INPUT 0x00000003 (4 fields x 1 bit) 1=Constant 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap
05 09 (GLOBAL) USAGE_PAGE 0x0009 Button Page
19 01 (LOCAL) USAGE_MINIMUM 0x00090001 Button 1 Primary/trigger (MULTI=Selector, On/Off, Momentary, or One Shot)
29 0C (LOCAL) USAGE_MAXIMUM 0x0009000C Button 12 (MULTI=Selector, On/Off, Momentary, or One Shot)
15 00 (GLOBAL) LOGICAL_MINIMUM 0x00 (0)
25 01 (GLOBAL) LOGICAL_MAXIMUM 0x01 (1)
75 01 (GLOBAL) REPORT_SIZE 0x01 (1) Number of bits per field
95 0C (GLOBAL) REPORT_COUNT 0x0C (12) Number of fields
81 02 (MAIN) INPUT 0x00000002 (12 fields x 1 bit) 0=Data 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap
75 01 (GLOBAL) REPORT_SIZE 0x01 (1) Number of bits per field
95 04 (GLOBAL) REPORT_COUNT 0x04 (4) Number of fields
81 03 (MAIN) INPUT 0x00000003 (4 fields x 1 bit) 1=Constant 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap
C0 (MAIN) END_COLLECTION Physical
C0 (MAIN) END_COLLECTION Application
05 01 (GLOBAL) USAGE_PAGE 0x0001 Generic Desktop Page
09 04 (LOCAL) USAGE 0x00010004 Joystick (CA=Application Collection)
A1 01 (MAIN) COLLECTION 0x01 Application (Usage=0x00010004: Page=Generic Desktop Page, Usage=Joystick, Type=CA)
09 01 (LOCAL) USAGE 0x00010001 Pointer (CP=Physical Collection)
A1 00 (MAIN) COLLECTION 0x00 Physical (Usage=0x00010001: Page=Generic Desktop Page, Usage=Pointer, Type=CP)
85 02 (GLOBAL) REPORT_ID 0x02 (2)
09 30 (LOCAL) USAGE 0x00010030 X (DV=Dynamic Value)
09 31 (LOCAL) USAGE 0x00010031 Y (DV=Dynamic Value)
15 FF (GLOBAL) LOGICAL_MINIMUM 0xFF (-1)
25 01 (GLOBAL) LOGICAL_MAXIMUM 0x01 (1)
75 02 (GLOBAL) REPORT_SIZE 0x02 (2) Number of bits per field
95 02 (GLOBAL) REPORT_COUNT 0x02 (2) Number of fields
81 02 (MAIN) INPUT 0x00000002 (2 fields x 2 bits) 0=Data 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap
75 01 (GLOBAL) REPORT_SIZE 0x01 (1) Number of bits per field
95 04 (GLOBAL) REPORT_COUNT 0x04 (4) Number of fields
81 03 (MAIN) INPUT 0x00000003 (4 fields x 1 bit) 1=Constant 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap
05 09 (GLOBAL) USAGE_PAGE 0x0009 Button Page
19 01 (LOCAL) USAGE_MINIMUM 0x00090001 Button 1 Primary/trigger (MULTI=Selector, On/Off, Momentary, or One Shot)
29 0C (LOCAL) USAGE_MAXIMUM 0x0009000C Button 12 (MULTI=Selector, On/Off, Momentary, or One Shot)
15 00 (GLOBAL) LOGICAL_MINIMUM 0x00 (0)
25 01 (GLOBAL) LOGICAL_MAXIMUM 0x01 (1)
75 01 (GLOBAL) REPORT_SIZE 0x01 (1) Number of bits per field
95 0C (GLOBAL) REPORT_COUNT 0x0C (12) Number of fields
81 02 (MAIN) INPUT 0x00000002 (12 fields x 1 bit) 0=Data 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap
75 01 (GLOBAL) REPORT_SIZE 0x01 (1) Number of bits per field
95 04 (GLOBAL) REPORT_COUNT 0x04 (4) Number of fields
81 03 (MAIN) INPUT 0x00000003 (4 fields x 1 bit) 1=Constant 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap
C0 (MAIN) END_COLLECTION Physical
C0 (MAIN) END_COLLECTION Application
As you can see there are two HID report descriptors, possible one for each arcade stick. The issue here is both share the same USB interface, differentiating only by the Report ID. In addition to that, the HID descriptors are very similar, causing the inputs to overlap. Unfortunately at current implementation the Titan Two does not offers means to differentiate one from another and the inputs from both will be merged into a single data structure.
We have planned to implement in the future the ability to access HID reports directly via script, which then could used in this case.
ConsoleTuner Support Team
-
J2Kbr - General of the Army
- Posts: 20323
- Joined: Tue Mar 18, 2014 1:39 pm
Re: Pandora's Box dual arcade sticks to PS4/Switch console s
I need help on this cause i wanted to use my Pandoras box 5 dual controller
on my tekken 7 game on pc but the controller wont work
the drivers only recognized 1 controller which is 3A game controller
and the properties option wont work im running tekken 7 on windows 7 thanks
on my tekken 7 game on pc but the controller wont work
the drivers only recognized 1 controller which is 3A game controller
and the properties option wont work im running tekken 7 on windows 7 thanks
-
Xz3ViER - Private
- Posts: 1
- Joined: Fri Apr 10, 2020 12:46 am
Re: Pandora's Box dual arcade sticks to PS4/Switch console s
Xz3ViER wrote:I need help on this cause i wanted to use my Pandoras box 5 dual controller on my tekken 7 game on pc but the controller wont work the drivers only recognized 1 controller which is 3A game controller and the properties option wont work im running tekken 7 on windows 7 thanks
Please note the Titan Two is capable to recognize inputs from multiple controller. however, it has a single output (one player). The inputs from all connected controllers are merged into a single output. If more users will play on the same console/PC, a Titan Two device is needed for each one.
ConsoleTuner Support Team
-
J2Kbr - General of the Army
- Posts: 20323
- Joined: Tue Mar 18, 2014 1:39 pm
13 posts
• Page 2 of 2 • 1, 2
Return to GPC2 Script Programming
Who is online
Users browsing this forum: No registered users and 91 guests