Page 2 of 2

Re: USBJoystick 0.13

Posted: Sun Dec 13, 2020 10:16 pm
by richw
Hi,

Here's another test build. Can you give this one a go too?

Please post the Reporter output, and that from USBDevices and USBDevInfo.

I hope this helps!


Cheers,
Richard.

Re: USBJoystick 0.13

Posted: Mon Dec 21, 2020 9:32 pm
by Vanfanel
richw wrote: Sun Dec 13, 2020 10:16 pm Hi,

Here's another test build. Can you give this one a go too?

Please post the Reporter output, and that from USBDevices and USBDevInfo.

I hope this helps!


Cheers,
Richard.
This version just works! I have been playing a gooooood while with some ADFFS games, and it works perfectly well!
Sorry I didn't answer earlier (I have been very busy!)
Should I make any more tests for stability or some other info you may want to have?

Re: USBJoystick 0.13

Posted: Tue Dec 22, 2020 12:43 am
by richw
Hmm... Interesting! I wasn't expecting that! I was planning on combing through the USB code further, since I spotted some issues with an old test device of mine.

When you have a moment, it would be good if you could post the reporter and USBDevices and USBDevInfo output.

Thanks for letting me know.

Re: USBJoystick 0.13

Posted: Tue Dec 22, 2020 1:37 pm
by Vanfanel
richw wrote: Tue Dec 22, 2020 12:43 am Hmm... Interesting! I wasn't expecting that! I was planning on combing through the USB code further, since I spotted some issues with an old test device of mine.

When you have a moment, it would be good if you could post the reporter and USBDevices and USBDevInfo output.

Thanks for letting me know.
Of course! :D

Here's what USBDevices has to say:

Code: Select all

No. Bus Dev Class Description

  1   1   1  9/ 0 Synopsys DWC OTG root hub

  2   2   0  9/ 0 VIA XHCI root hub

  3   2   1  9/ 0 INTENSO USB2.0 Hub

  4   2   2  0/ 0 Logitech USB Receiver

 12   2   3 FF/FF Controller Controller
Here's what USBDevInfo 12 has to say:

Code: Select all

USB release     : 0200

Device class    : FF

Device subclass : FF

Device protocol : FF

Max packet size : 40

Vendor ID       : 045E

Product ID      : 028E

Device ID       : 0114

# of configs    : 1

Manufacturer    : 'Controller'

Product         : 'Controller'

Serial number   : 'Controller'

Speed           : Full
...And here's what reporter says when I click on the USBJoystick module now:

Code: Select all

Reporter 2.72 (15 Aug 2020)     List              Tue 22nd Dec 2020  12:31 

12:31:19.12 Exec
12:31:24.05 Run SDFS::RISCOSpi.$.USBJoystick
12:31:24.05 @RunType_FFA SDFS::RISCOSpi.$.USBJoystick
12:31:24.05 RMRun SDFS::RISCOSpi.$.USBJoystick
12:31:24.10 RMEnsure UtilityModule 3.70 RMEnsure CallASWI 0.02 RMLoad System:Modules.CallASWI
12:31:24.10 RMEnsure FPEmulator 4.03 RMLoad System:Modules.FPEmulator
12:31:24.10 RMEnsure SharedCLibrary 5.17 RMLoad System:Modules.CLib
USBJoystick: module_initialise: begin
USBJoystick: module_initialise: Scanning USB devices...
USBJoystick: usb_scan_devices: begin
USBJoystick: usb_scan_devices: enumerating devices
USBJoystick: usb_scan_devices: calling handler for device 'USB1'
USBJoystick: joy_check_device: (usb service call) +++++++++++++++++++++++++++++++++++
USBJoystick: joy_check_device: Checking device name 'USB1' (sum_length 77, descriptors_offset 32, class 09, subclass 00, protocol 01)
USBJoystick: joy_check_device: Getting USB descriptors
USBJoystick: usb_get_descriptor_list: device 'USB1'
USBJoystick: joy_check_device: Parsing USB descriptors
USBJoystick: joy_check_device: Device descriptor: Length 18, Type 1, Configurations 1, csDeviceClass 0x90001
USBJoystick: joy_check_device: Device descriptor: iManufacturer 1, iProduct 2, iSerialNumber 0
USBJoystick: joy_check_device: Device descriptor: Vendor 0x0000, Product 0x0000, Device 0x0100
USBJoystick: joy_check_device: Configuration descriptor: Length 9, Type 2, TotalLength 25, NumInterfaces 1 
USBJoystick: joy_check_device: Interface descriptor: Length 9, DescriptorType 4, InterfaceNumber 0, InterfaceClass 9 (3 is HID), iInterface 0, csInterfaceClass 0x90000
USBJoystick: joy_check_device: Endpoint descriptor: EndpointAddress 129, (on InterfaceNumber 0)
USBJoystick: joy_check_device: Endpoint descriptor: We think this isn't a joystick - ignore this endpoint
USBJoystick: usb_scan_devices: calling handler for device 'USB2'
USBJoystick: joy_check_device: (usb service call) +++++++++++++++++++++++++++++++++++
USBJoystick: joy_check_device: Checking device name 'USB2' (sum_length 77, descriptors_offset 32, class 09, subclass 00, protocol 01)
USBJoystick: joy_check_device: Getting USB descriptors
USBJoystick: usb_get_descriptor_list: device 'USB2'
USBJoystick: joy_check_device: Parsing USB descriptors
USBJoystick: joy_check_device: Device descriptor: Length 18, Type 1, Configurations 1, csDeviceClass 0x90001
USBJoystick: joy_check_device: Device descriptor: iManufacturer 1, iProduct 2, iSerialNumber 0
USBJoystick: joy_check_device: Device descriptor: Vendor 0x0000, Product 0x0000, Device 0x0100
USBJoystick: joy_check_device: Configuration descriptor: Length 9, Type 2, TotalLength 25, NumInterfaces 1 
USBJoystick: joy_check_device: Interface descriptor: Length 9, DescriptorType 4, InterfaceNumber 0, InterfaceClass 9 (3 is HID), iInterface 0, csInterfaceClass 0x90000
USBJoystick: joy_check_device: Endpoint descriptor: EndpointAddress 129, (on InterfaceNumber 0)
USBJoystick: joy_check_device: Endpoint descriptor: We think this isn't a joystick - ignore this endpoint
USBJoystick: usb_scan_devices: calling handler for device 'USB3'
USBJoystick: joy_check_device: (usb service call) +++++++++++++++++++++++++++++++++++
USBJoystick: joy_check_device: Checking device name 'USB3' (sum_length 77, descriptors_offset 32, class 09, subclass 00, protocol 01)
USBJoystick: joy_check_device: Getting USB descriptors
USBJoystick: usb_get_descriptor_list: device 'USB3'
USBJoystick: joy_check_device: Parsing USB descriptors
USBJoystick: joy_check_device: Device descriptor: Length 18, Type 1, Configurations 1, csDeviceClass 0x90001
USBJoystick: joy_check_device: Device descriptor: iManufacturer 0, iProduct 1, iSerialNumber 0
USBJoystick: joy_check_device: Device descriptor: Vendor 0x2109, Product 0x3431, Device 0x0421
USBJoystick: joy_check_device: Configuration descriptor: Length 9, Type 2, TotalLength 25, NumInterfaces 1 
USBJoystick: joy_check_device: Interface descriptor: Length 9, DescriptorType 4, InterfaceNumber 0, InterfaceClass 9 (3 is HID), iInterface 0, csInterfaceClass 0x90000
USBJoystick: joy_check_device: Endpoint descriptor: EndpointAddress 129, (on InterfaceNumber 0)
USBJoystick: joy_check_device: Endpoint descriptor: We think this isn't a joystick - ignore this endpoint
USBJoystick: usb_scan_devices: calling handler for device 'USB4'
USBJoystick: joy_check_device: (usb service call) +++++++++++++++++++++++++++++++++++
USBJoystick: joy_check_device: Checking device name 'USB4' (sum_length 111, descriptors_offset 32, class 00, subclass 00, protocol 00)
USBJoystick: joy_check_device: Getting USB descriptors
USBJoystick: usb_get_descriptor_list: device 'USB4'
USBJoystick: joy_check_device: Parsing USB descriptors
USBJoystick: joy_check_device: Device descriptor: Length 18, Type 1, Configurations 1, csDeviceClass 0x0
USBJoystick: joy_check_device: Device descriptor: iManufacturer 1, iProduct 2, iSerialNumber 0
USBJoystick: joy_check_device: Device descriptor: Vendor 0x046d, Product 0xc534, Device 0x2900
USBJoystick: joy_check_device: Configuration descriptor: Length 9, Type 2, TotalLength 59, NumInterfaces 2 
USBJoystick: joy_check_device: Interface descriptor: Length 9, DescriptorType 4, InterfaceNumber 0, InterfaceClass 3 (3 is HID), iInterface 0, csInterfaceClass 0x30101
USBJoystick: joy_check_device: Other descriptor: type is 33 - not Device/Config/Interface/Endpoint
USBJoystick: joy_check_device: csDeviceClass 0x0, csInterfaceClass 0x30101
USBJoystick: joy_check_device: InterfaceClass 0x3, InterfaceSubClass 0x1, InterfaceProtocol 1, Vendor 0x046d, Product 0xc534
USBJoystick: joy_check_device: Not a supported device - aborting
USBJoystick: joy_check_device: Endpoint descriptor: EndpointAddress 129, (on InterfaceNumber 0)
USBJoystick: joy_check_device: Endpoint descriptor: We think this isn't a joystick - ignore this endpoint
USBJoystick: joy_check_device: Interface descriptor: Length 9, DescriptorType 4, InterfaceNumber 1, InterfaceClass 3 (3 is HID), iInterface 0, csInterfaceClass 0x30102
USBJoystick: joy_check_device: Other descriptor: type is 33 - not Device/Config/Interface/Endpoint
USBJoystick: joy_check_device: csDeviceClass 0x0, csInterfaceClass 0x30102
USBJoystick: joy_check_device: InterfaceClass 0x3, InterfaceSubClass 0x1, InterfaceProtocol 2, Vendor 0x046d, Product 0xc534
USBJoystick: joy_check_device: Not a supported device - aborting
USBJoystick: joy_check_device: Endpoint descriptor: EndpointAddress 130, (on InterfaceNumber 1)
USBJoystick: joy_check_device: Endpoint descriptor: We think this isn't a joystick - ignore this endpoint
USBJoystick: usb_scan_devices: calling handler for device 'USB12'
USBJoystick: joy_check_device: (usb service call) +++++++++++++++++++++++++++++++++++
USBJoystick: joy_check_device: Checking device name 'USB12' (sum_length 191, descriptors_offset 32, class ff, subclass ff, protocol ff)
USBJoystick: joy_check_device: Getting USB descriptors
USBJoystick: usb_get_descriptor_list: device 'USB12'
USBJoystick: joy_check_device: Parsing USB descriptors
USBJoystick: joy_check_device: Device descriptor: Length 18, Type 1, Configurations 1, csDeviceClass 0xffffff
USBJoystick: joy_check_device: Device descriptor: iManufacturer 1, iProduct 2, iSerialNumber 3
USBJoystick: joy_check_device: Device descriptor: Vendor 0x045e, Product 0x028e, Device 0x0114
USBJoystick: joy_check_device: Configuration descriptor: Length 9, Type 2, TotalLength 139, NumInterfaces 4 
USBJoystick: joy_check_device: Interface descriptor: Length 9, DescriptorType 4, InterfaceNumber 0, InterfaceClass 255 (3 is HID), iInterface 0, csInterfaceClass 0xff5d01
USBJoystick: joy_check_device: Other descriptor: type is 33 - not Device/Config/Interface/Endpoint
USBJoystick: joy_check_device: csDeviceClass 0xffffff, csInterfaceClass 0xff5d01
USBJoystick: joy_check_device: InterfaceClass 0xff, InterfaceSubClass 0x5d, InterfaceProtocol 1, Vendor 0x045e, Product 0x028e
USBJoystick: joy_check_device: Supported device: XBOX360 wired controller
USBJoystick: joy_check_device: Using baked-in HID report descriptor
USBJoystick: parse_usb_hid_device_descriptor: Will use joystick number 0 (next available) for this HID parse
USBJoystick: parse_usb_hid_device_descriptor: Shared report descriptor 'rd' (size 166) with libusbhid
USBJoystick: parse_usb_hid_device_descriptor: Got hid report size 20 for reportid 0, has_report_id is 0
USBJoystick: parse_usb_hid_device_descriptor: Parse completed - freeing libusbhid report descriptor memory
USBJoystick: parse_usb_hid_device_descriptor: Analysing parse output to build axes info
USBJoystick: parse_usb_hid_device_descriptor: Axis 0, item_usage is 50, type is 7, name is Z
USBJoystick: parse_usb_hid_device_descriptor: Axis 1, item_usage is 53, type is 10, name is RZ
USBJoystick: parse_usb_hid_device_descriptor: Axis 2, item_usage is 48, type is 5, name is X
USBJoystick: parse_usb_hid_device_descriptor: Axis 3, item_usage is 49, type is 6, name is Y
USBJoystick: parse_usb_hid_device_descriptor: Axis 4, item_usage is 51, type is 8, name is RX
USBJoystick: parse_usb_hid_device_descriptor: Axis 5, item_usage is 52, type is 9, name is RY
USBJoystick: parse_usb_hid_device_descriptor: Stick has DPAD and we have two axes spare to use
USBJoystick: parse_usb_hid_device_descriptor: Joystick/gamepad parsed and configured successfully (joy_index is 0)
USBJoystick: joy_check_device: Parsed HID report descriptor, got_valid_joystick is 1
USBJoystick: joy_check_device: Sending custom initialisation command
USBJoystick: usb_hid_set_output_report: dev 'USB12' wValue 0x200, wIndex 0, wLength 3, buffer follows...
USBJoystick:   Buffer index 00: 0x0001
USBJoystick:   Buffer index 01: 0x0003
USBJoystick:   Buffer index 02: 0x0000
USBJoystick: joy_check_device: Unable to initialise device USB12: Bad request
USBJoystick: joy_check_device: Endpoint descriptor: EndpointAddress 129, (on InterfaceNumber 0)
USBJoystick: joy_check_device: Endpoint descriptor: We think this is a joystick (got HID report descriptor and it looks good), so set up
USBJoystick: set_up_joystick: Fill up joystick info for device 'USB12', interface 0, endpoint 129
USBJoystick: usb_get_device_string_descriptor: device 'USB12', string index 1
USBJoystick: usb_get_device_string descriptor: getting language: device 'USB12' wValue 0x300, wIndex 0, wLength 256
USBJoystick: usb_get_device_string descriptor: language is length 4, type 3, string 1033
USBJoystick: usb_get_device_string descriptor: getting size: device 'USB12' wValue 0x301, wIndex 1033, wLength 3
USBJoystick: usb_get_device_string descriptor: size is length 22, type 3, subtype 67
USBJoystick: usb_get_device_string_descriptor: allocating 22 bytes for string descriptor
USBJoystick: usb_get_device_string descriptor: getting string: device 'USB12' wValue 0x301, wIndex 1033, wLength 22
USBJoystick: usb_get_device_string descriptor: got string descriptor: length 22, type 3
USBJoystick: usb_get_device_string: String buffer index 00: 0x0043 'C'
USBJoystick: usb_get_device_string: String buffer index 01: 0x006f 'o'
USBJoystick: usb_get_device_string: String buffer index 02: 0x006e 'n'
USBJoystick: usb_get_device_string: String buffer index 03: 0x0074 't'
USBJoystick: usb_get_device_string: String buffer index 04: 0x0072 'r'
USBJoystick: usb_get_device_string: String buffer index 05: 0x006f 'o'
USBJoystick: usb_get_device_string: String buffer index 06: 0x006c 'l'
USBJoystick: usb_get_device_string: String buffer index 07: 0x006c 'l'
USBJoystick: usb_get_device_string: String buffer index 08: 0x0065 'e'
USBJoystick: usb_get_device_string: String buffer index 09: 0x0072 'r'
USBJoystick: usb_get_device_string: String buffer index 10: 0x0000 '?'
USBJoystick: usb_get_device_string: String buffer index 11: 0x0000 '?'
USBJoystick: usb_get_device_string: String buffer index 12: 0x0000 '?'
USBJoystick: usb_get_device_string: String buffer index 13: 0x0020 ' '
USBJoystick: usb_get_device_string: String buffer index 14: 0x0000 '?'
USBJoystick: usb_get_device_string: String buffer index 15: 0x002c ','
USBJoystick: usb_get_device_string: String buffer index 16: 0x0000 '?'
USBJoystick: usb_get_device_string: String buffer index 17: 0x88b8 '?'
USBJoystick: usb_get_device_string: String buffer index 18: 0x2015 '?'
USBJoystick: usb_get_device_string: String buffer index 19: 0x3b80 '?'
USBJoystick: usb_get_device_string: String buffer index 20: 0x8000 '?'
USBJoystick: usb_get_device_string: String buffer index 21: 0x39b4 '?'
USBJoystick: set_up_joystick: String index 1, Manufacturer: 'Controller'
USBJoystick: usb_get_device_string_descriptor: device 'USB12', string index 2
USBJoystick: usb_get_device_string descriptor: getting language: device 'USB12' wValue 0x300, wIndex 0, wLength 256
USBJoystick: usb_get_device_string descriptor: language is length 4, type 3, string 1033
USBJoystick: usb_get_device_string descriptor: getting size: device 'USB12' wValue 0x302, wIndex 1033, wLength 3
USBJoystick: usb_get_device_string descriptor: size is length 22, type 3, subtype 67
USBJoystick: usb_get_device_string_descriptor: allocating 22 bytes for string descriptor
USBJoystick: usb_get_device_string descriptor: getting string: device 'USB12' wValue 0x302, wIndex 1033, wLength 22
USBJoystick: usb_get_device_string descriptor: got string descriptor: length 22, type 3
USBJoystick: usb_get_device_string: String buffer index 00: 0x0043 'C'
USBJoystick: usb_get_device_string: String buffer index 01: 0x006f 'o'
USBJoystick: usb_get_device_string: String buffer index 02: 0x006e 'n'
USBJoystick: usb_get_device_string: String buffer index 03: 0x0074 't'
USBJoystick: usb_get_device_string: String buffer index 04: 0x0072 'r'
USBJoystick: usb_get_device_string: String buffer index 05: 0x006f 'o'
USBJoystick: usb_get_device_string: String buffer index 06: 0x006c 'l'
USBJoystick: usb_get_device_string: String buffer index 07: 0x006c 'l'
USBJoystick: usb_get_device_string: String buffer index 08: 0x0065 'e'
USBJoystick: usb_get_device_string: String buffer index 09: 0x0072 'r'
USBJoystick: usb_get_device_string: String buffer index 10: 0x0000 '?'
USBJoystick: usb_get_device_string: String buffer index 11: 0x0000 '?'
USBJoystick: usb_get_device_string: String buffer index 12: 0x0000 '?'
USBJoystick: usb_get_device_string: String buffer index 13: 0x0020 ' '
USBJoystick: usb_get_device_string: String buffer index 14: 0x0000 '?'
USBJoystick: usb_get_device_string: String buffer index 15: 0x002c ','
USBJoystick: usb_get_device_string: String buffer index 16: 0x0000 '?'
USBJoystick: usb_get_device_string: String buffer index 17: 0x88b8 '?'
USBJoystick: usb_get_device_string: String buffer index 18: 0x2015 '?'
USBJoystick: usb_get_device_string: String buffer index 19: 0x3b80 '?'
USBJoystick: usb_get_device_string: String buffer index 20: 0x8000 '?'
USBJoystick: usb_get_device_string: String buffer index 21: 0x39b4 '?'
USBJoystick: set_up_joystick: String index 2, Product: 'Controller'
USBJoystick: usb_get_device_string_descriptor: device 'USB12', string index 3
USBJoystick: usb_get_device_string descriptor: getting language: device 'USB12' wValue 0x300, wIndex 0, wLength 256
USBJoystick: usb_get_device_string descriptor: language is length 4, type 3, string 1033
USBJoystick: usb_get_device_string descriptor: getting size: device 'USB12' wValue 0x303, wIndex 1033, wLength 3
USBJoystick: usb_get_device_string descriptor: size is length 22, type 3, subtype 67
USBJoystick: usb_get_device_string_descriptor: allocating 22 bytes for string descriptor
USBJoystick: usb_get_device_string descriptor: getting string: device 'USB12' wValue 0x303, wIndex 1033, wLength 22
USBJoystick: usb_get_device_string descriptor: got string descriptor: length 22, type 3
USBJoystick: usb_get_device_string: String buffer index 00: 0x0043 'C'
USBJoystick: usb_get_device_string: String buffer index 01: 0x006f 'o'
USBJoystick: usb_get_device_string: String buffer index 02: 0x006e 'n'
USBJoystick: usb_get_device_string: String buffer index 03: 0x0074 't'
USBJoystick: usb_get_device_string: String buffer index 04: 0x0072 'r'
USBJoystick: usb_get_device_string: String buffer index 05: 0x006f 'o'
USBJoystick: usb_get_device_string: String buffer index 06: 0x006c 'l'
USBJoystick: usb_get_device_string: String buffer index 07: 0x006c 'l'
USBJoystick: usb_get_device_string: String buffer index 08: 0x0065 'e'
USBJoystick: usb_get_device_string: String buffer index 09: 0x0072 'r'
USBJoystick: usb_get_device_string: String buffer index 10: 0x0000 '?'
USBJoystick: usb_get_device_string: String buffer index 11: 0x0000 '?'
USBJoystick: usb_get_device_string: String buffer index 12: 0x0000 '?'
USBJoystick: usb_get_device_string: String buffer index 13: 0x0020 ' '
USBJoystick: usb_get_device_string: String buffer index 14: 0x0000 '?'
USBJoystick: usb_get_device_string: String buffer index 15: 0x002c ','
USBJoystick: usb_get_device_string: String buffer index 16: 0x0000 '?'
USBJoystick: usb_get_device_string: String buffer index 17: 0x88b8 '?'
USBJoystick: usb_get_device_string: String buffer index 18: 0x2015 '?'
USBJoystick: usb_get_device_string: String buffer index 19: 0x3b80 '?'
USBJoystick: usb_get_device_string: String buffer index 20: 0x8000 '?'
USBJoystick: usb_get_device_string: String buffer index 21: 0x39b4 '?'
USBJoystick: set_up_joystick: String index 3, Serial: 'Controller'
USBJoystick: set_up_joystick: Constructed DeviceFS path for stick id 0, path is: devices#interface=0;endpoint=1;nopad;noblock:USB12
USBJoystick: set_up_joystick: Open a connection to the joystick (id is 0)
USBJoystick: joy_check_device: Endpoint descriptor: EndpointAddress 2, (on InterfaceNumber 0)
USBJoystick: joy_check_device: Endpoint descriptor: We think this isn't a joystick - ignore this endpoint
USBJoystick: joy_check_device: Interface descriptor: Length 9, DescriptorType 4, InterfaceNumber 1, InterfaceClass 255 (3 is HID), iInterface 0, csInterfaceClass 0xff5d03
USBJoystick: joy_check_device: Other descriptor: type is 33 - not Device/Config/Interface/Endpoint
USBJoystick: joy_check_device: csDeviceClass 0xffffff, csInterfaceClass 0xff5d03
USBJoystick: joy_check_device: InterfaceClass 0xff, InterfaceSubClass 0x5d, InterfaceProtocol 3, Vendor 0x045e, Product 0x028e
USBJoystick: joy_check_device: Not a supported device - aborting
USBJoystick: joy_check_device: Endpoint descriptor: EndpointAddress 131, (on InterfaceNumber 1)
USBJoystick: joy_check_device: Endpoint descriptor: We think this isn't a joystick - ignore this endpoint
USBJoystick: joy_check_device: Endpoint descriptor: EndpointAddress 4, (on InterfaceNumber 1)
USBJoystick: joy_check_device: Endpoint descriptor: We think this isn't a joystick - ignore this endpoint
USBJoystick: joy_check_device: Interface descriptor: Length 9, DescriptorType 4, InterfaceNumber 2, InterfaceClass 255 (3 is HID), iInterface 0, csInterfaceClass 0xff5d02
USBJoystick: joy_check_device: Other descriptor: type is 33 - not Device/Config/Interface/Endpoint
USBJoystick: joy_check_device: csDeviceClass 0xffffff, csInterfaceClass 0xff5d02
USBJoystick: joy_check_device: InterfaceClass 0xff, InterfaceSubClass 0x5d, InterfaceProtocol 2, Vendor 0x045e, Product 0x028e
USBJoystick: joy_check_device: Not a supported device - aborting
USBJoystick: joy_check_device: Endpoint descriptor: EndpointAddress 134, (on InterfaceNumber 2)
USBJoystick: joy_check_device: Endpoint descriptor: We think this isn't a joystick - ignore this endpoint
USBJoystick: joy_check_device: Interface descriptor: Length 9, DescriptorType 4, InterfaceNumber 3, InterfaceClass 255 (3 is HID), iInterface 4, csInterfaceClass 0xfffd13
USBJoystick: joy_check_device: Other descriptor: type is 65 - not Device/Config/Interface/Endpoint
USBJoystick: joy_check_device: csDeviceClass 0xffffff, csInterfaceClass 0xfffd13
USBJoystick: joy_check_device: InterfaceClass 0xff, InterfaceSubClass 0xfd, InterfaceProtocol 19, Vendor 0x045e, Product 0x028e
USBJoystick: joy_check_device: Not a supported device - aborting
USBJoystick: usb_scan_devices: end
USBJoystick: module_initialise: Scan complete
USBJoystick: module_initialise: end
12:31:24.12 Exec

Reporter 2.72 (15 Aug 2020)     Listed 235 lines

Re: USBJoystick 0.13

Posted: Wed Dec 23, 2020 11:49 pm
by richw
Thanks for the information. Clearly my string descriptor code was a bit off. I did tweak it when I added the recent debug output, as it didn't read quite right to me!

Re: USBJoystick 0.13

Posted: Thu Dec 24, 2020 4:43 pm
by JonAbbott
As I'm working on adding Joystick support to games for the next ADFFS release, should I update USBJoystick in the ADFFS beta package to the latest version in this thread, or wait for additional changes?

Re: USBJoystick 0.13

Posted: Thu Dec 24, 2020 11:50 pm
by richw
Probably wise to include this one, Jon.

I am a bit flaky and don't know when I will next get a session in to get the mouse support sorted. There are some further USB tweaks I want to try too, since I have an old device which isn't detected properly.