Sades Keypad not working with Titan 2

Gtuner IV general support. Operation, questions, updates, feature request.

Sades Keypad not working with Titan 2

Postby Grammatist » Thu Mar 07, 2019 6:25 pm

This keypad does not seem to work with the Titan 2. After 1 key press, it stops registering.

https://www.amazon.com/Keyboard-SADES-O ... way&sr=8-3

[USB DESCRIPTOR]
12 01 10 01 00 00 00 08 F3 04 2E 15 07 3D 01 02 00 01 09 02 3B 00 02 01 00 A0 32 09 04 00 00 01 03 01 01 00 09 21 11 01 00 01 22 36 00 07 05 81 03 08 00 0A 09 04 01 00 01 03 01 01 00 09 21 11 01 00 01 22 99 00 07 05 82 03 08 00 0A

[STRING 1 DESCRIPTOR]
00 00 00 03 00 00 02 01 80 06 03 01 04 09 00 14
14 03 47 00 61 00 6D 00 69 00 6E 00 67 00 20 00 4B 00 42 00

[STRING 2 DESCRIPTOR]
00 00 00 03 00 00 02 01 80 06 03 02 04 09 00 14
14 03 47 00 61 00 6D 00 69 00 6E 00 67 00 20 00 4B 00 42 00

[INTERFACE 0 HID DESCRIPTOR]
00 00 00 03 00 00 02 01 81 06 22 00 00 00 00 36
05 01 09 06 A1 01 05 08 19 01 29 03 15 00 25 01 75 01 95 03 91 02 95 05 91 01 05 07 19 E0 29 E7 95 08 81 02 75 08 95 01 81 01 19 00 29 91 26 FF 00 95 06 81 00 C0

[INTERFACE 1 HID DESCRIPTOR]
00 00 00 03 00 00 02 01 81 06 22 00 00 01 00 99
05 0C 09 01 A1 01 85 01 19 00 2A 80 03 15 00 26 80 03 95 01 75 10 81 00 C0 05 01 09 80 A1 01 85 02 19 81 29 83 15 00 25 01 75 01 95 03 81 02 95 05 81 01 C0 05 01 09 06 A1 01 85 03 95 38 75 01 15 00 25 01 05 07 19 00 29 37 81 02 C0 05 01 09 06 A1 01 85 04 95 30 75 01 15 00 25 01 05 07 19 38 29 67 81 02 05 07 19 E0 29 E7 15 00 25 01 75 01 95 08 81 02 C0 05 C0 09 01 A1 01 85 07 09 01 15 00 26 FF 00 75 08 95 07 81 02 09 01 15 00 26 FF 00 75 08 95 07 91 02 C0
User avatar
Grammatist
Sergeant First Class
Sergeant First Class
 
Posts: 25
Joined: Thu Apr 26, 2018 9:20 am

Re: Sades Keypad not working with Titan 2

Postby J2Kbr » Fri Mar 08, 2019 10:42 am

Thank you for posting the descriptors. Please let me know on which Titan Two port you have this keypad plugged (Input-A, Input-B or PROG+OTG). thanks.
ConsoleTuner Support Team
User avatar
J2Kbr
General of the Army
General of the Army
 
Posts: 20323
Joined: Tue Mar 18, 2014 1:39 pm

Re: Sades Keypad not working with Titan 2

Postby Grammatist » Fri Mar 08, 2019 7:39 pm

I have it on Input B. Tried on both however with the same results.
User avatar
Grammatist
Sergeant First Class
Sergeant First Class
 
Posts: 25
Joined: Thu Apr 26, 2018 9:20 am

Re: Sades Keypad not working with Titan 2

Postby J2Kbr » Mon Mar 11, 2019 12:53 pm

Thank you for confirming. After checking the provided descriptors:
Code: Select all
[USB DESCRIPTOR]
12           bLength: 18
01           bDescriptorType: 1 - DEVICE
10 01        bcdUSB: 1.10
00           bDeviceClass: 0 (00)
00           bDeviceSubClass: 0 (00)
00           bDeviceProtocol: 0 (00)
08           bMaxPacketSize0: 8
F3 04        idVendor: 04F3
2E 15        idProduct: 152E
07 3D        bcdDevice: 3D.07
01           iManufacturer: 1
02           iProduct: 2
00           iSerialNumber: 0
01           bNumConfigurations: 1

09           bLength: 9
02           bDescriptorType: 2 - CONFIGURATION
3B 00        wTotalLength: 59
02           bNumInterfaces: 2
01           bConfigurationValue: 1
00           iConfiguration: 0
A0           bmAttributes: 160 (Bus Powered, Remote Wakeup)
32           MaxPower: 100mA

09             bLength: 9
04             bDescriptorType: 4 - INTERFACE
00             bInterfaceNumber: 0
00             bAlternateSetting: 0
01             bNumEndpoints: 1
03             bInterfaceClass: 3 (03)
01             bInterfaceSubClass: 1 (01)
01             bInterfaceProtocol: 1 (01)
00             iInterface: 0

09               bLength: 9
21               bDescriptorType: 33 - HID
11 01            bcdHID: 1.11
00               bCountryCode: 0
01               bNumDescriptors: 1
22               bDescriptorType: 34
36 00            wDescriptorLength: 54

07               bLength: 7
05               bDescriptorType: 5 - ENDPOINT
81               bEndpointAddress: 1 IN
03               bmAttributes: 3 (Interrupt, None, Data)
08 00            wMaxPacketSize: 8
0A               bInterval: 10

09             bLength: 9
04             bDescriptorType: 4 - INTERFACE
01             bInterfaceNumber: 1
00             bAlternateSetting: 0
01             bNumEndpoints: 1
03             bInterfaceClass: 3 (03)
01             bInterfaceSubClass: 1 (01)
01             bInterfaceProtocol: 1 (01)
00             iInterface: 0

09               bLength: 9
21               bDescriptorType: 33 - HID
11 01            bcdHID: 1.11
00               bCountryCode: 0
01               bNumDescriptors: 1
22               bDescriptorType: 34
99 00            wDescriptorLength: 153

07               bLength: 7
05               bDescriptorType: 5 - ENDPOINT
82               bEndpointAddress: 2 IN
03               bmAttributes: 3 (Interrupt, None, Data)
08 00            wMaxPacketSize: 8
0A               bInterval: 10

[STRING 1 DESCRIPTOR]
Gaming KB

[STRING 2 DESCRIPTOR]
Gaming KB

[INTERFACE 0 HID DESCRIPTOR]
05 01        (GLOBAL) USAGE_PAGE         0x0001 Generic Desktop Page
09 06        (LOCAL)  USAGE              0x00010006 Keyboard (CA=Application Collection)
A1 01        (MAIN)   COLLECTION         0x01 Application (Usage=0x00010006: Page=Generic Desktop Page, Usage=Keyboard, Type=CA)
05 08          (GLOBAL) USAGE_PAGE         0x0008 LED Indicator Page
19 01          (LOCAL)  USAGE_MINIMUM      0x00080001 Num Lock (OOC=On/Off Control)
29 03          (LOCAL)  USAGE_MAXIMUM      0x00080003 Scroll Lock (OOC=On/Off Control)
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 03          (GLOBAL) REPORT_COUNT       0x03 (3) Number of fields
91 02          (MAIN)   OUTPUT             0x00000002 (3 fields x 1 bit) 0=Data 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap
95 05          (GLOBAL) REPORT_COUNT       0x05 (5) Number of fields
91 01          (MAIN)   OUTPUT             0x00000001 (5 fields x 1 bit) 1=Constant 0=Array 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap
05 07          (GLOBAL) USAGE_PAGE         0x0007 Keyboard/Keypad Page
19 E0          (LOCAL)  USAGE_MINIMUM      0x000700E0 Keyboard Left Control (DV=Dynamic Value)
29 E7          (LOCAL)  USAGE_MAXIMUM      0x000700E7 Keyboard Right GUI (DV=Dynamic Value)
95 08          (GLOBAL) REPORT_COUNT       0x08 (8) Number of fields
81 02          (MAIN)   INPUT              0x00000002 (8 fields x 1 bit) 0=Data 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap
75 08          (GLOBAL) REPORT_SIZE        0x08 (8) Number of bits per field
95 01          (GLOBAL) REPORT_COUNT       0x01 (1) Number of fields
81 01          (MAIN)   INPUT              0x00000001 (1 field x 8 bits) 1=Constant 0=Array 0=Absolute 0=Ignored 0=Ignored 0=PrefState 0=NoNull
19 00          (LOCAL)  USAGE_MINIMUM      0x00070000 Keyboard No event indicated (Sel=Selector)
29 91          (LOCAL)  USAGE_MAXIMUM      0x00070091 Keyboard LANG2 (Sel=Selector)
26 FF00        (GLOBAL) LOGICAL_MAXIMUM    0x00FF (255)
95 06          (GLOBAL) REPORT_COUNT       0x06 (6) Number of fields
81 00          (MAIN)   INPUT              0x00000000 (6 fields x 8 bits) 0=Data 0=Array 0=Absolute 0=Ignored 0=Ignored 0=PrefState 0=NoNull
C0           (MAIN)   END_COLLECTION     Application

[INTERFACE 1 HID DESCRIPTOR]
05 0C        (GLOBAL) USAGE_PAGE         0x000C Consumer Device Page
09 01        (LOCAL)  USAGE              0x000C0001 Consumer Control (CA=Application Collection)
A1 01        (MAIN)   COLLECTION         0x01 Application (Usage=0x000C0001: Page=Consumer Device Page, Usage=Consumer Control, Type=CA)
85 01          (GLOBAL) REPORT_ID          0x01 (1)
19 00          (LOCAL)  USAGE_MINIMUM      0x000C0000 Unassigned
2A 8003        (LOCAL)  USAGE_MAXIMUM      0x000C0380 
15 00          (GLOBAL) LOGICAL_MINIMUM    0x00 (0)
26 8003        (GLOBAL) LOGICAL_MAXIMUM    0x0380 (896)
95 01          (GLOBAL) REPORT_COUNT       0x01 (1) Number of fields
75 10          (GLOBAL) REPORT_SIZE        0x10 (16) Number of bits per field
81 00          (MAIN)   INPUT              0x00000000 (1 field x 16 bits) 0=Data 0=Array 0=Absolute 0=Ignored 0=Ignored 0=PrefState 0=NoNull
C0           (MAIN)   END_COLLECTION     Application

05 01        (GLOBAL) USAGE_PAGE         0x0001 Generic Desktop Page
09 80        (LOCAL)  USAGE              0x00010080 System Control (CA=Application Collection)
A1 01        (MAIN)   COLLECTION         0x01 Application (Usage=0x00010080: Page=Generic Desktop Page, Usage=System Control, Type=CA)
85 02          (GLOBAL) REPORT_ID          0x02 (2)
19 81          (LOCAL)  USAGE_MINIMUM      0x00010081 System Power Down (OSC=One Shot Control)
29 83          (LOCAL)  USAGE_MAXIMUM      0x00010083 System Wake Up (OSC=One Shot Control)
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 03          (GLOBAL) REPORT_COUNT       0x03 (3) Number of fields
81 02          (MAIN)   INPUT              0x00000002 (3 fields x 1 bit) 0=Data 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap
95 05          (GLOBAL) REPORT_COUNT       0x05 (5) Number of fields
81 01          (MAIN)   INPUT              0x00000001 (5 fields x 1 bit) 1=Constant 0=Array 0=Absolute 0=Ignored 0=Ignored 0=PrefState 0=NoNull
C0           (MAIN)   END_COLLECTION     Application

05 01        (GLOBAL) USAGE_PAGE         0x0001 Generic Desktop Page
09 06        (LOCAL)  USAGE              0x00010006 Keyboard (CA=Application Collection)
A1 01        (MAIN)   COLLECTION         0x01 Application (Usage=0x00010006: Page=Generic Desktop Page, Usage=Keyboard, Type=CA)
85 03          (GLOBAL) REPORT_ID          0x03 (3)
95 38          (GLOBAL) REPORT_COUNT       0x38 (56) Number of fields
75 01          (GLOBAL) REPORT_SIZE        0x01 (1) Number of bits per field
15 00          (GLOBAL) LOGICAL_MINIMUM    0x00 (0)
25 01          (GLOBAL) LOGICAL_MAXIMUM    0x01 (1)
05 07          (GLOBAL) USAGE_PAGE         0x0007 Keyboard/Keypad Page
19 00          (LOCAL)  USAGE_MINIMUM      0x00070000 Keyboard No event indicated (Sel=Selector)
29 37          (LOCAL)  USAGE_MAXIMUM      0x00070037 Keyboard . and > (Sel=Selector)
81 02          (MAIN)   INPUT              0x00000002 (56 fields x 1 bit) 0=Data 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap
C0           (MAIN)   END_COLLECTION     Application

05 01        (GLOBAL) USAGE_PAGE         0x0001 Generic Desktop Page
09 06        (LOCAL)  USAGE              0x00010006 Keyboard (CA=Application Collection)
A1 01        (MAIN)   COLLECTION         0x01 Application (Usage=0x00010006: Page=Generic Desktop Page, Usage=Keyboard, Type=CA)
85 04          (GLOBAL) REPORT_ID          0x04 (4)
95 30          (GLOBAL) REPORT_COUNT       0x30 (48) Number of fields
75 01          (GLOBAL) REPORT_SIZE        0x01 (1) Number of bits per field
15 00          (GLOBAL) LOGICAL_MINIMUM    0x00 (0)
25 01          (GLOBAL) LOGICAL_MAXIMUM    0x01 (1)
05 07          (GLOBAL) USAGE_PAGE         0x0007 Keyboard/Keypad Page
19 38          (LOCAL)  USAGE_MINIMUM      0x00070038 Keyboard / and ? (Sel=Selector)
29 67          (LOCAL)  USAGE_MAXIMUM      0x00070067 Keypad = (Sel=Selector)
81 02          (MAIN)   INPUT              0x00000002 (48 fields x 1 bit) 0=Data 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap
05 07          (GLOBAL) USAGE_PAGE         0x0007 Keyboard/Keypad Page
19 E0          (LOCAL)  USAGE_MINIMUM      0x000700E0 Keyboard Left Control (DV=Dynamic Value)
29 E7          (LOCAL)  USAGE_MAXIMUM      0x000700E7 Keyboard Right GUI (DV=Dynamic Value)
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 08          (GLOBAL) REPORT_COUNT       0x08 (8) Number of fields
81 02          (MAIN)   INPUT              0x00000002 (8 fields x 1 bit) 0=Data 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap
C0           (MAIN)   END_COLLECTION     Application

05 C0        (GLOBAL) USAGE_PAGE         0x00C0 Reserved
09 01        (LOCAL)  USAGE              0x00C00001 
A1 01        (MAIN)   COLLECTION         0x01 Application (Usage=0x00C00001: Page=Reserved, Usage=, Type=)
85 07          (GLOBAL) REPORT_ID          0x07 (7)
09 01          (LOCAL)  USAGE              0x00C00001 
15 00          (GLOBAL) LOGICAL_MINIMUM    0x00 (0)
26 FF00        (GLOBAL) LOGICAL_MAXIMUM    0x00FF (255)
75 08          (GLOBAL) REPORT_SIZE        0x08 (8) Number of bits per field
95 07          (GLOBAL) REPORT_COUNT       0x07 (7) Number of fields
81 02          (MAIN)   INPUT              0x00000002 (7 fields x 8 bits) 0=Data 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap
09 01          (LOCAL)  USAGE              0x00C00001 
15 00          (GLOBAL) LOGICAL_MINIMUM    0x00 (0)
26 FF00        (GLOBAL) LOGICAL_MAXIMUM    0x00FF (255)
75 08          (GLOBAL) REPORT_SIZE        0x08 (8) Number of bits per field
95 07          (GLOBAL) REPORT_COUNT       0x07 (7) Number of fields
91 02          (MAIN)   OUTPUT             0x00000002 (7 fields x 8 bits) 0=Data 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap
C0           (MAIN)   END_COLLECTION     Application

There are 2 extra keyboard interfaces, not sure why these are used for. I think if we disable these extra interfaces the keypad will work as expected. This can be performed with a HID configuration file. However, before proceed with creation of the HID configuration file, please let me know: after plugging the keybpad on the Titan Two, does Gtuner IV shows "HID:K" for this device in Device Monitor?
ConsoleTuner Support Team
User avatar
J2Kbr
General of the Army
General of the Army
 
Posts: 20323
Joined: Tue Mar 18, 2014 1:39 pm

Re: Sades Keypad not working with Titan 2

Postby Grammatist » Mon Mar 11, 2019 10:51 pm

Yes HID:K [IN] shows up in the Device Monitor. It stands to note that in attempting to collect the descriptors Gtuner would crash and restart 50% of the time when plugging in this pad with the fetch descriptor screen up
User avatar
Grammatist
Sergeant First Class
Sergeant First Class
 
Posts: 25
Joined: Thu Apr 26, 2018 9:20 am

Re: Sades Keypad not working with Titan 2

Postby J2Kbr » Thu Mar 14, 2019 11:07 am

Grammatist wrote:Yes HID:K [IN] shows up in the Device Monitor.

Thenk you, I will be adding the HID configuration file for this keypad in the next Gtuner IV release.

Grammatist wrote:It stands to note that in attempting to collect the descriptors Gtuner would crash and restart 50% of the time when plugging in this pad with the fetch descriptor screen up

This only happens with the keypad? trying, for example, fetch the descriptors of regular controllers works 100% of time? Thanks.
ConsoleTuner Support Team
User avatar
J2Kbr
General of the Army
General of the Army
 
Posts: 20323
Joined: Tue Mar 18, 2014 1:39 pm

Re: Sades Keypad not working with Titan 2

Postby Grammatist » Thu Mar 14, 2019 5:40 pm

I have had no problems with Fetch descriptors on any other controller/keypad other than this particular one.
User avatar
Grammatist
Sergeant First Class
Sergeant First Class
 
Posts: 25
Joined: Thu Apr 26, 2018 9:20 am


Return to Gtuner IV Support

Who is online

Users browsing this forum: No registered users and 79 guests