I've done some more testing comparing Read_Joystick 0 and 1. It looks like the Module is mixing both. 8bit doesn't return anything, but 16bit is returning 8bit values.
So, I think the USB side is working okay, but there's an issue in the 8/16bit implementation of Joystick_Read.
Code: Select all
usb_get_device_string descriptor: StringSize is 0, getting string: device='USB5' wValue=0x303, wIndex=4, wLength=0
error getting usb string: Bad request
Set up: Serial:
Set up: Constructed DeviceFS path for stick id 3, path is: devices#interface=3;endpoint=4;nopad;noblock:USB5
Set up: Open a connection to the joystick (id is 3)
Endpoint descriptor: EndpointAddress=4, (on TnterfaceNumber=3)
Endpoint descriptor: We think this isn't a joystick - ignore this endpoint
Interface descriptor: InterfaceNumber=4, InterfaceClass=255 (3 is HID), iInterface=0, csInterfaceClass=0xff5d81
Other descriptor: type is 34 - not Device/Config/Interface/Endpoint (csDeviceClass is 0xffffff, csInterfaceClass is 0xff5d81)
Will check interface class+subclass (ignoring protocol)
Interface class looks like an XBOX360 controller, using baked-in HID report descriptor (interface protocol is 0x81)
Protocol suggests this is a wireless XBOX360 controller - not yet supported!
usb_hid_set_output_report: dev='USB5' wValue=512, wIndex=4, wLength=3
Unable to switch off XBOX360 LEDs: Bad request
Will use joystick number 4 (next available) for this HID parse
Shared report descriptor 'rd' (size=166) with libusbhid
Got hid report size/dlen 20 for reportid 0, offset is 0
Starting parse of HID report descriptor
HID parser: reportid=0, got dpad up, copying
HID parser: reportid=0, got dpad down, copying
HID parser: reportid=0, got dpad left, copying
HID parser: reportid=0, got dpad right, copying
HID parser: reportid=0, got button, setting up button 7
HID parser: reportid=0, got button, setting up button 6
HID parser: reportid=0, got button, setting up button 8
HID parser: reportid=0, got button, setting up button 9
HID parser: reportid=0, got button, setting up button 4
HID parser: reportid=0, got button, setting up button 5
HID parser: reportid=0, got button, setting up button 10
HID parser: reportid=0, ignoring item
HID parser: reportid=0, got button, setting up button 0
HID parser: reportid=0, got button, setting up button 1
HID parser: reportid=0, got button, setting up button 2
HID parser: reportid=0, got button, setting up button 3
HID parser: reportid=0, got supported axis, usage is 0x32, type is 7
HID parser: copying axis HID item to index 0
HID parser: reportid=0, got supported axis, usage is 0x35, type is 10
HID parser: copying axis HID item to index 1
HID parser: reportid=0, got supported axis, usage is 0x30, type is 5
HID parser: copying axis HID item to index 2
HID parser: reportid=0, got supported axis, usage is 0x31, type is 6
HID parser: copying axis HID item to index 3
HID parser: reportid=0, got supported axis, usage is 0x33, type is 8
HID parser: copying axis HID item to index 4
HID parser: reportid=0, got supported axis, usage is 0x34, type is 9
HID parser: copying axis HID item to index 5
HID parser: reportid=0, ignoring item
Parse completed - freeing libusbhid report descriptor memory
Analysing parse output to build axes info
Axis 0, item_usage is 50, type is 7, name is Z
Axis 1, item_usage is 53, type is 10, name is RZ
Axis 2, item_usage is 48, type is 5, name is X
Axis 3, item_usage is 49, type is 6, name is Y
Axis 4, item_usage is 51, type is 8, name is RX
Axis 5, item_usage is 52, type is 9, name is RY
Stick has DPAD and we have two axes spare to use
Joystick/gamepad parsed and configured successfully (joy_index is 4)
Endpoint descriptor: EndpointAddress=133, (on TnterfaceNumber=4)
Endpoint descriptor: We think this is a joystick (got HID report descriptor and it looks good), so set up
Set up: Fill up joystick info
usb_get_device_string_descriptor: device='USB5', string index=1
usb_get_device_string descriptor: Getting language: device='USB5' wValue=0x300, wIndex=0, wLength=256
usb_get_device_string descriptor: Language is 4, getting size: device='USB5' wValue=0x301, wIndex=4, wLength=2
error getting usb string size: Bad request
usb_get_device_string descriptor: StringSize is 0, getting string: device='USB5' wValue=0x301, wIndex=4, wLength=0
error getting usb string: Bad request
Set up: Manufacturer:
usb_get_device_string_descriptor: device='USB5', string index=2
usb_get_device_string descriptor: Getting language: device='USB5' wValue=0x300, wIndex=0, wLength=256
error getting usb string language: Bad request
usb_get_device_string descriptor: Language is 147, getting size: device='USB5' wValue=0x302, wIndex=147, wLength=2
error getting usb string size: Bad request
usb_get_device_string descriptor: StringSize is 0, getting string: device='USB5' wValue=0x302, wIndex=147, wLength=0
error getting usb string: Bad request
Set up: Product:
usb_get_device_string_descriptor: device='USB5', string index=3
usb_get_device_string descriptor: Getting language: device='USB5' wValue=0x300, wIndex=0, wLength=256
usb_get_device_string descriptor: Language is 4, getting size: device='USB5' wValue=0x303, wIndex=4, wLength=2
error getting usb string size: Bad request
usb_get_device_string descriptor: StringSize is 0, getting string: device='USB5' wValue=0x303, wIndex=4, wLength=0
error getting usb string: Bad request
Set up: Serial:
Set up: Constructed DeviceFS path for stick id 4, path is: devices#interface=4;endpoint=5;nopad;noblock:USB5
Set up: Open a connection to the joystick (id is 4)
Endpoint descriptor: EndpointAddress=5, (on TnterfaceNumber=4)
Endpoint descriptor: We think this isn't a joystick - ignore this endpoint
Interface descriptor: InterfaceNumber=5, InterfaceClass=255 (3 is HID), iInterface=0, csInterfaceClass=0xff5d82
Other descriptor: type is 34 - not Device/Config/Interface/Endpoint (csDeviceClass is 0xffffff, csInterfaceClass is 0xff5d82)
Will check interface class+subclass (ignoring protocol)
Interface class looks like an XBOX360 controller, using baked-in HID report descriptor (interface protocol is 0x82)
Protocol not supported - what is this?!
usb_hid_set_output_report: dev='USB5' wValue=512, wIndex=5, wLength=3
Unable to switch off XBOX360 LEDs: Bad request
Will use joystick number 5 (next available) for this HID parse
Shared report descriptor 'rd' (size=166) with libusbhid
Got hid report size/dlen 20 for reportid 0, offset is 0
Starting parse of HID report descriptor
HID parser: reportid=0, got dpad up, copying
HID parser: reportid=0, got dpad down, copying
HID parser: reportid=0, got dpad left, copying
HID parser: reportid=0, got dpad right, copying
HID parser: reportid=0, got button, setting up button 7
HID parser: reportid=0, got button, setting up button 6
HID parser: reportid=0, got button, setting up button 8
HID parser: reportid=0, got button, setting up button 9
HID parser: reportid=0, got button, setting up button 4
HID parser: reportid=0, got button, setting up button 5
HID parser: reportid=0, got button, setting up button 10
HID parser: reportid=0, ignoring item
HID parser: reportid=0, got button, setting up button 0
HID parser: reportid=0, got button, setting up button 1
HID parser: reportid=0, got button, setting up button 2
HID parser: reportid=0, got button, setting up button 3
HID parser: reportid=0, got supported axis, usage is 0x32, type is 7
HID parser: copying axis HID item to index 0
HID parser: reportid=0, got supported axis, usage is 0x35, type is 10
HID parser: copying axis HID item to index 1
HID parser: reportid=0, got supported axis, usage is 0x30, type is 5
HID parser: copying axis HID item to index 2
HID parser: reportid=0, got supported axis, usage is 0x31, type is 6
HID parser: copying axis HID item to index 3
HID parser: reportid=0, got supported axis, usage is 0x33, type is 8
HID parser: copying axis HID item to index 4
HID parser: reportid=0, got supported axis, usage is 0x34, type is 9
HID parser: copying axis HID item to index 5
HID parser: reportid=0, ignoring item
Parse completed - freeing libusbhid report descriptor memory
Analysing parse output to build axes info
Axis 0, item_usage is 50, type is 7, name is Z
Axis 1, item_usage is 53, type is 10, name is RZ
Axis 2, item_usage is 48, type is 5, name is X
Axis 3, item_usage is 49, type is 6, name is Y
Axis 4, item_usage is 51, type is 8, name is RX
Axis 5, item_usage is 52, type is 9, name is RY
Stick has DPAD and we have two axes spare to use
Joystick/gamepad parsed and configured successfully (joy_index is 5)
Endpoint descriptor: EndpointAddress=134, (on TnterfaceNumber=5)
Endpoint descriptor: We think this is a joystick (got HID report descriptor and it looks good), so set up
Set up: Fill up joystick info
usb_get_device_string_descriptor: device='USB5', string index=1
usb_get_device_string descriptor: Getting language: device='USB5' wValue=0x300, wIndex=0, wLength=256
usb_get_device_string descriptor: Language is 4, getting size: device='USB5' wValue=0x301, wIndex=4, wLength=2
error getting usb string size: Bad request
usb_get_device_string descriptor: StringSize is 0, getting string: device='USB5' wValue=0x301, wIndex=4, wLength=0
error getting usb string: Bad request
Set up: Manufacturer:
usb_get_device_string_descriptor: device='USB5', string index=2
usb_get_device_string descriptor: Getting language: device='USB5' wValue=0x300, wIndex=0, wLength=256
usb_get_device_string descriptor: Language is 4, getting size: device='USB5' wValue=0x302, wIndex=4, wLength=2
error getting usb string size: Bad request
usb_get_device_string descriptor: StringSize is 0, getting string: device='USB5' wValue=0x302, wIndex=4, wLength=0
error getting usb string: Bad request
Set up: Product:
usb_get_device_string_descriptor: device='USB5', string index=3
usb_get_device_string descriptor: Getting language: device='USB5' wValue=0x300, wIndex=0, wLength=256
usb_get_device_string descriptor: Language is 4, getting size: device='USB5' wValue=0x303, wIndex=4, wLength=2
error getting usb string size: Bad request
usb_get_device_string descriptor: StringSize is 0, getting string: device='USB5' wValue=0x303, wIndex=4, wLength=0
error getting usb string: Bad request
Set up: Serial:
Set up: Constructed DeviceFS path for stick id 5, path is: devices#interface=5;endpoint=6;nopad;noblock:USB5
Set up: Open a connection to the joystick (id is 5)
Endpoint descriptor: EndpointAddress=6, (on TnterfaceNumber=5)
Endpoint descriptor: We think this isn't a joystick - ignore this endpoint
Interface descriptor: InterfaceNumber=6, InterfaceClass=255 (3 is HID), iInterface=0, csInterfaceClass=0xff5d81
Other descriptor: type is 34 - not Device/Config/Interface/Endpoint (csDeviceClass is 0xffffff, csInterfaceClass is 0xff5d81)
Will check interface class+subclass (ignoring protocol)
Interface class looks like an XBOX360 controller, using baked-in HID report descriptor (interface protocol is 0x81)
Protocol suggests this is a wireless XBOX360 controller - not yet supported!
usb_hid_set_output_report: dev='USB5' wValue=512, wIndex=6, wLength=3
Unable to switch off XBOX360 LEDs: Bad request
Will use joystick number 6 (next available) for this HID parse
Shared report descriptor 'rd' (size=166) with libusbhid
Got hid report size/dlen 20 for reportid 0, offset is 0
Starting parse of HID report descriptor
HID parser: reportid=0, got dpad up, copying
HID parser: reportid=0, got dpad down, copying
HID parser: reportid=0, got dpad left, copying
HID parser: reportid=0, got dpad right, copying
HID parser: reportid=0, got button, setting up button 7
HID parser: reportid=0, got button, setting up button 6
HID parser: reportid=0, got button, setting up button 8
HID parser: reportid=0, got button, setting up button 9
HID parser: reportid=0, got button, setting up button 4
HID parser: reportid=0, got button, setting up button 5
HID parser: reportid=0, got button, setting up button 10
HID parser: reportid=0, ignoring item
HID parser: reportid=0, got button, setting up button 0
HID parser: reportid=0, got button, setting up button 1
HID parser: reportid=0, got button, setting up button 2
HID parser: reportid=0, got button, setting up button 3
HID parser: reportid=0, got supported axis, usage is 0x32, type is 7
HID parser: copying axis HID item to index 0
HID parser: reportid=0, got supported axis, usage is 0x35, type is 10
HID parser: copying axis HID item to index 1
HID parser: reportid=0, got supported axis, usage is 0x30, type is 5
HID parser: copying axis HID item to index 2
HID parser: reportid=0, got supported axis, usage is 0x31, type is 6
HID parser: copying axis HID item to index 3
HID parser: reportid=0, got supported axis, usage is 0x33, type is 8
HID parser: copying axis HID item to index 4
HID parser: reportid=0, got supported axis, usage is 0x34, type is 9
HID parser: copying axis HID item to index 5
HID parser: reportid=0, ignoring item
Parse completed - freeing libusbhid report descriptor memory
Analysing parse output to build axes info
Axis 0, item_usage is 50, type is 7, name is Z
Axis 1, item_usage is 53, type is 10, name is RZ
Axis 2, item_usage is 48, type is 5, name is X
Axis 3, item_usage is 49, type is 6, name is Y
Axis 4, item_usage is 51, type is 8, name is RX
Axis 5, item_usage is 52, type is 9, name is RY
Stick has DPAD and we have two axes spare to use
Joystick/gamepad parsed and configured successfully (joy_index is 6)
Endpoint descriptor: EndpointAddress=135, (on TnterfaceNumber=6)
Endpoint descriptor: We think this is a joystick (got HID report descriptor and it looks good), so set up
Set up: Fill up joystick info
usb_get_device_string_descriptor: device='USB5', string index=1
usb_get_device_string descriptor: Getting language: device='USB5' wValue=0x300, wIndex=0, wLength=256
error getting usb string language: Bad request
usb_get_device_string descriptor: Language is 112, getting size: device='USB5' wValue=0x301, wIndex=112, wLength=2
error getting usb string size: Bad request
usb_get_device_string descriptor: StringSize is 0, getting string: device='USB5' wValue=0x301, wIndex=112, wLength=0
error getting usb string: Bad request
Set up: Manufacturer:
usb_get_device_string_descriptor: device='USB5', string index=2
usb_get_device_string descriptor: Getting language: device='USB5' wValue=0x300, wIndex=0, wLength=256
usb_get_device_string descriptor: Language is 4, getting size: device='USB5' wValue=0x302, wIndex=4, wLength=2
error getting usb string size: Bad request
usb_get_device_string descriptor: StringSize is 0, getting string: device='USB5' wValue=0x302, wIndex=4, wLength=0
error getting usb string: Bad request
Set up: Product:
usb_get_device_string_descriptor: device='USB5', string index=3
usb_get_device_string descriptor: Getting language: device='USB5' wValue=0x300, wIndex=0, wLength=256
usb_get_device_string descriptor: Language is 4, getting size: device='USB5' wValue=0x303, wIndex=4, wLength=2
error getting usb string size: Bad request
usb_get_device_string descriptor: StringSize is 0, getting string: device='USB5' wValue=0x303, wIndex=4, wLength=0
error getting usb string: Bad request
Set up: Serial:
Set up: Constructed DeviceFS path for stick id 6, path is: devices#interface=6;endpoint=7;nopad;noblock:USB5
Set up: Open a connection to the joystick (id is 6)
Endpoint descriptor: EndpointAddress=7, (on TnterfaceNumber=6)
Endpoint descriptor: We think this isn't a joystick - ignore this endpoint
Interface descriptor: InterfaceNumber=7, InterfaceClass=255 (3 is HID), iInterface=0, csInterfaceClass=0xff5d82
Other descriptor: type is 34 - not Device/Config/Interface/Endpoint (csDeviceClass is 0xffffff, csInterfaceClass is 0xff5d82)
Will check interface class+subclass (ignoring protocol)
Interface class looks like an XBOX360 controller, using baked-in HID report descriptor (interface protocol is 0x82)
Protocol not supported - what is this?!
usb_hid_set_output_report: dev='USB5' wValue=512, wIndex=7, wLength=3
Unable to switch off XBOX360 LEDs: Bad request
Will use joystick number 7 (next available) for this HID parse
Shared report descriptor 'rd' (size=166) with libusbhid
Got hid report size/dlen 20 for reportid 0, offset is 0
Starting parse of HID report descriptor
HID parser: reportid=0, got dpad up, copying
HID parser: reportid=0, got dpad down, copying
HID parser: reportid=0, got dpad left, copying
HID parser: reportid=0, got dpad right, copying
HID parser: reportid=0, got button, setting up button 7
HID parser: reportid=0, got button, setting up button 6
HID parser: reportid=0, got button, setting up button 8
HID parser: reportid=0, got button, setting up button 9
HID parser: reportid=0, got button, setting up button 4
HID parser: reportid=0, got button, setting up button 5
HID parser: reportid=0, got button, setting up button 10
HID parser: reportid=0, ignoring item
HID parser: reportid=0, got button, setting up button 0
HID parser: reportid=0, got button, setting up button 1
HID parser: reportid=0, got button, setting up button 2
HID parser: reportid=0, got button, setting up button 3
HID parser: reportid=0, got supported axis, usage is 0x32, type is 7
HID parser: copying axis HID item to index 0
HID parser: reportid=0, got supported axis, usage is 0x35, type is 10
HID parser: copying axis HID item to index 1
HID parser: reportid=0, got supported axis, usage is 0x30, type is 5
HID parser: copying axis HID item to index 2
HID parser: reportid=0, got supported axis, usage is 0x31, type is 6
HID parser: copying axis HID item to index 3
HID parser: reportid=0, got supported axis, usage is 0x33, type is 8
HID parser: copying axis HID item to index 4
HID parser: reportid=0, got supported axis, usage is 0x34, type is 9
HID parser: copying axis HID item to index 5
HID parser: reportid=0, ignoring item
Parse completed - freeing libusbhid report descriptor memory
Analysing parse output to build axes info
Axis 0, item_usage is 50, type is 7, name is Z
Axis 1, item_usage is 53, type is 10, name is RZ
Axis 2, item_usage is 48, type is 5, name is X
Axis 3, item_usage is 49, type is 6, name is Y
Axis 4, item_usage is 51, type is 8, name is RX
Axis 5, item_usage is 52, type is 9, name is RY
Stick has DPAD and we have two axes spare to use
Joystick/gamepad parsed and configured successfully (joy_index is 7)
Endpoint descriptor: EndpointAddress=136, (on TnterfaceNumber=7)
Endpoint descriptor: We think this is a joystick (got HID report descriptor and it looks good), so set up
Set up: Fill up joystick info
usb_get_device_string_descriptor: device='USB5', string index=1
usb_get_device_string descriptor: Getting language: device='USB5' wValue=0x300, wIndex=0, wLength=256
usb_get_device_string descriptor: Language is 4, getting size: device='USB5' wValue=0x301, wIndex=4, wLength=2
error getting usb string size: Bad request
usb_get_device_string descriptor: StringSize is 0, getting string: device='USB5' wValue=0x301, wIndex=4, wLength=0
error getting usb string: Bad request
Set up: Manufacturer:
usb_get_device_string_descriptor: device='USB5', string index=2
usb_get_device_string descriptor: Getting language: device='USB5' wValue=0x300, wIndex=0, wLength=256
usb_get_device_string descriptor: Language is 4, getting size: device='USB5' wValue=0x302, wIndex=4, wLength=2
error getting usb string size: Bad request
usb_get_device_string descriptor: StringSize is 0, getting string: device='USB5' wValue=0x302, wIndex=4, wLength=0
error getting usb string: Bad request
Set up: Product:
usb_get_device_string_descriptor: device='USB5', string index=3
usb_get_device_string descriptor: Getting language: device='USB5' wValue=0x300, wIndex=0, wLength=256
usb_get_device_string descriptor: Language is 4, getting size: device='USB5' wValue=0x303, wIndex=4, wLength=2
error getting usb string size: Bad request
usb_get_device_string descriptor: StringSize is 0, getting string: device='USB5' wValue=0x303, wIndex=4, wLength=0
error getting usb string: Bad request
Set up: Serial:
Set up: Constructed DeviceFS path for stick id 7, path is: devices#interface=7;endpoint=8;nopad;noblock:USB5
Set up: Open a connection to the joystick (id is 7)
Endpoint descriptor: EndpointAddress=8, (on TnterfaceNumber=7)
Endpoint descriptor: We think this isn't a joystick - ignore this endpoint
Code: Select all
Joystick id 0
Path : devices#interface=0;endpoint=1;nopad;noblock:USB5
File handle : 252
Data stream open : Yes
Local USB device name : USB5
Interface : 0
Endpoint : 1
Device manufacturer :
Device product name :
Device serial number :
USB vendor id : 0x045e
USB product id : 0x0719
USB device id : 0x0100
Buffer handle : 260
Buffer internal id : 308
Buffer service routine : 0xfc1d0770
Buffer workspace : 0x20003eb4
DeviceFS handle : 0x2024f474
Data length : 20
Data offset : 0
Upcalls : 0 (delta: 0)
Good reads : 0 (delta: 0)
Bad reads : 0 (delta: 0)
Raw data : 20 00 00 00 ff ff ff ff 4c 39 e0 43 4c 39 e0 43 00 00 00 20
Number of axes : 8
Number of buttons : 11
HAT switch : No
DPAD : Yes
Axes:
Axis 00 ( Z) : Slope 8 = 0.9961, Slope 16 = 257.0000, SP = 97:159 Flip = off
Axis 01 ( RZ) : Slope 8 = 0.9961, Slope 16 = 257.0000, SP = 97:159 Flip = off
Axis 02 ( X) : Slope 8 = 0.0039, Slope 16 = 1.0000, SP = -8191:8191 Flip = off
Axis 03 ( Y) : Slope 8 = 0.0039, Slope 16 = 1.0000, SP = -8191:8191 Flip = on
Axis 04 ( RX) : Slope 8 = 0.0039, Slope 16 = 1.0000, SP = -8191:8191 Flip = off
Axis 05 ( RY) : Slope 8 = 0.0039, Slope 16 = 1.0000, SP = -8191:8191 Flip = off
Axis 06 (DPADX) : Slope 8 = 1.0000, Slope 16 = 1.0000, SP = 0:0 Flip = off
Axis 07 (DPADY) : Slope 8 = 1.0000, Slope 16 = 1.0000, SP = 0:0 Flip = off
HID items:
Axis 00 : ReportId=0
Axis 01 : ReportId=0
Axis 02 : ReportId=0
Axis 03 : ReportId=0
Axis 04 : ReportId=0
Axis 05 : ReportId=0
Axis 16 : ReportId=0
Axis 17 : ReportId=0
Axis 18 : ReportId=0
Axis 19 : ReportId=0
DPAD up : ReportId=0
DPAD down : ReportId=0
DPAD left : ReportId=0
DPAD right: ReportId=0
Button 00 : ReportId=0
Button 01 : ReportId=0
Button 02 : ReportId=0
Button 03 : ReportId=0
Button 04 : ReportId=0
Button 05 : ReportId=0
Button 06 : ReportId=0
Button 07 : ReportId=0
Button 08 : ReportId=0
Button 09 : ReportId=0
Button 10 : ReportId=0
Joystick id 1
Path : devices#interface=1;endpoint=2;nopad;noblock:USB5
File handle : 251
Data stream open : Yes
Local USB device name : USB5
Interface : 1
Endpoint : 2
Device manufacturer :
Device product name :
Device serial number :
USB vendor id : 0x045e
USB product id : 0x0719
USB device id : 0x0100
Buffer handle : 261
Buffer internal id : 352
Buffer service routine : 0xfc1d0770
Buffer workspace : 0x20003eb4
DeviceFS handle : 0x20347db4
Data length : 20
Data offset : 0
Upcalls : 0 (delta: 0)
Good reads : 0 (delta: 0)
Bad reads : 0 (delta: 0)
Raw data : 69 00 00 00 ad de ad de ad de ad de 00 00 00 00 ad de ad de
Number of axes : 8
Number of buttons : 11
HAT switch : No
DPAD : Yes
Axes:
Axis 00 ( Z) : Slope 8 = 0.9961, Slope 16 = 257.0000, SP = 97:159 Flip = off
Axis 01 ( RZ) : Slope 8 = 0.9961, Slope 16 = 257.0000, SP = 97:159 Flip = off
Axis 02 ( X) : Slope 8 = 0.0039, Slope 16 = 1.0000, SP = -8191:8191 Flip = off
Axis 03 ( Y) : Slope 8 = 0.0039, Slope 16 = 1.0000, SP = -8191:8191 Flip = on
Axis 04 ( RX) : Slope 8 = 0.0039, Slope 16 = 1.0000, SP = -8191:8191 Flip = off
Axis 05 ( RY) : Slope 8 = 0.0039, Slope 16 = 1.0000, SP = -8191:8191 Flip = off
Axis 06 (DPADX) : Slope 8 = 1.0000, Slope 16 = 1.0000, SP = 0:0 Flip = off
Axis 07 (DPADY) : Slope 8 = 1.0000, Slope 16 = 1.0000, SP = 0:0 Flip = off
HID items:
Axis 00 : ReportId=0
Axis 01 : ReportId=0
Axis 02 : ReportId=0
Axis 03 : ReportId=0
Axis 04 : ReportId=0
Axis 05 : ReportId=0
Axis 16 : ReportId=0
Axis 17 : ReportId=0
Axis 18 : ReportId=0
Axis 19 : ReportId=0
DPAD up : ReportId=0
DPAD down : ReportId=0
DPAD left : ReportId=0
DPAD right: ReportId=0
Button 00 : ReportId=0
Button 01 : ReportId=0
Button 02 : ReportId=0
Button 03 : ReportId=0
Button 04 : ReportId=0
Button 05 : ReportId=0
Button 06 : ReportId=0
Button 07 : ReportId=0
Button 08 : ReportId=0
Button 09 : ReportId=0
Button 10 : ReportId=0
Joystick id 2
Path : devices#interface=2;endpoint=3;nopad;noblock:USB5
File handle : 250
Data stream open : Yes
Local USB device name : USB5
Interface : 2
Endpoint : 3
Device manufacturer :
Device product name :
Device serial number :
USB vendor id : 0x045e
USB product id : 0x0719
USB device id : 0x0100
Buffer handle : 262
Buffer internal id : 396
Buffer service routine : 0xfc1d0770
Buffer workspace : 0x20003eb4
DeviceFS handle : 0x2034bad4
Data length : 20
Data offset : 0
Upcalls : 0 (delta: 0)
Good reads : 0 (delta: 0)
Bad reads : 0 (delta: 0)
Raw data : 20 00 00 00 01 00 00 20 6c 5e 06 fc 9d 00 1d fc 00 00 00 00
Number of axes : 8
Number of buttons : 11
HAT switch : No
DPAD : Yes
Axes:
Axis 00 ( Z) : Slope 8 = 0.9961, Slope 16 = 257.0000, SP = 97:159 Flip = off
Axis 01 ( RZ) : Slope 8 = 0.9961, Slope 16 = 257.0000, SP = 97:159 Flip = off
Axis 02 ( X) : Slope 8 = 0.0039, Slope 16 = 1.0000, SP = -8191:8191 Flip = off
Axis 03 ( Y) : Slope 8 = 0.0039, Slope 16 = 1.0000, SP = -8191:8191 Flip = on
Axis 04 ( RX) : Slope 8 = 0.0039, Slope 16 = 1.0000, SP = -8191:8191 Flip = off
Axis 05 ( RY) : Slope 8 = 0.0039, Slope 16 = 1.0000, SP = -8191:8191 Flip = off
Axis 06 (DPADX) : Slope 8 = 1.0000, Slope 16 = 1.0000, SP = 0:0 Flip = off
Axis 07 (DPADY) : Slope 8 = 1.0000, Slope 16 = 1.0000, SP = 0:0 Flip = off
HID items:
Axis 00 : ReportId=0
Axis 01 : ReportId=0
Axis 02 : ReportId=0
Axis 03 : ReportId=0
Axis 04 : ReportId=0
Axis 05 : ReportId=0
Axis 16 : ReportId=0
Axis 17 : ReportId=0
Axis 18 : ReportId=0
Axis 19 : ReportId=0
DPAD up : ReportId=0
DPAD down : ReportId=0
DPAD left : ReportId=0
DPAD right: ReportId=0
Button 00 : ReportId=0
Button 01 : ReportId=0
Button 02 : ReportId=0
Button 03 : ReportId=0
Button 04 : ReportId=0
Button 05 : ReportId=0
Button 06 : ReportId=0
Button 07 : ReportId=0
Button 08 : ReportId=0
Button 09 : ReportId=0
Button 10 : ReportId=0
Joystick id 3
Path : devices#interface=3;endpoint=4;nopad;noblock:USB5
File handle : 249
Data stream open : Yes
Local USB device name : USB5
Interface : 3
Endpoint : 4
Device manufacturer :
Device product name :
Device serial number :
USB vendor id : 0x045e
USB product id : 0x0719
USB device id : 0x0100
Buffer handle : 263
Buffer internal id : 440
Buffer service routine : 0xfc1d0770
Buffer workspace : 0x20003eb4
DeviceFS handle : 0x20367234
Data length : 20
Data offset : 0
Upcalls : 0 (delta: 0)
Good reads : 0 (delta: 0)
Bad reads : 0 (delta: 0)
Raw data : 20 00 00 00 72 66 61 de ad de ad de 00 00 00 00 ad de ad de
Number of axes : 8
Number of buttons : 11
HAT switch : No
DPAD : Yes
Axes:
Axis 00 ( Z) : Slope 8 = 0.9961, Slope 16 = 257.0000, SP = 97:159 Flip = off
Axis 01 ( RZ) : Slope 8 = 0.9961, Slope 16 = 257.0000, SP = 97:159 Flip = off
Axis 02 ( X) : Slope 8 = 0.0039, Slope 16 = 1.0000, SP = -8191:8191 Flip = off
Axis 03 ( Y) : Slope 8 = 0.0039, Slope 16 = 1.0000, SP = -8191:8191 Flip = on
Axis 04 ( RX) : Slope 8 = 0.0039, Slope 16 = 1.0000, SP = -8191:8191 Flip = off
Axis 05 ( RY) : Slope 8 = 0.0039, Slope 16 = 1.0000, SP = -8191:8191 Flip = off
Axis 06 (DPADX) : Slope 8 = 1.0000, Slope 16 = 1.0000, SP = 0:0 Flip = off
Axis 07 (DPADY) : Slope 8 = 1.0000, Slope 16 = 1.0000, SP = 0:0 Flip = off
HID items:
Axis 00 : ReportId=0
Axis 01 : ReportId=0
Axis 02 : ReportId=0
Axis 03 : ReportId=0
Axis 04 : ReportId=0
Axis 05 : ReportId=0
Axis 16 : ReportId=0
Axis 17 : ReportId=0
Axis 18 : ReportId=0
Axis 19 : ReportId=0
DPAD up : ReportId=0
DPAD down : ReportId=0
DPAD left : ReportId=0
DPAD right: ReportId=0
Button 00 : ReportId=0
Button 01 : ReportId=0
Button 02 : ReportId=0
Button 03 : ReportId=0
Button 04 : ReportId=0
Button 05 : ReportId=0
Button 06 : ReportId=0
Button 07 : ReportId=0
Button 08 : ReportId=0
Button 09 : ReportId=0
Button 10 : ReportId=0
Joystick id 4
Path : devices#interface=4;endpoint=5;nopad;noblock:USB5
File handle : 248
Data stream open : Yes
Local USB device name : USB5
Interface : 4
Endpoint : 5
Device manufacturer :
Device product name :
Device serial number :
USB vendor id : 0x045e
USB product id : 0x0719
USB device id : 0x0100
Buffer handle : 264
Buffer internal id : 484
Buffer service routine : 0xfc1d0770
Buffer workspace : 0x20003eb4
DeviceFS handle : 0x20365ef4
Data length : 20
Data offset : 0
Upcalls : 0 (delta: 0)
Good reads : 0 (delta: 0)
Bad reads : 0 (delta: 0)
Raw data : 20 00 00 00 88 00 20 00 55 53 42 34 00 00 00 00 00 00 00 00
Number of axes : 8
Number of buttons : 11
HAT switch : No
DPAD : Yes
Axes:
Axis 00 ( Z) : Slope 8 = 0.9961, Slope 16 = 257.0000, SP = 97:159 Flip = off
Axis 01 ( RZ) : Slope 8 = 0.9961, Slope 16 = 257.0000, SP = 97:159 Flip = off
Axis 02 ( X) : Slope 8 = 0.0039, Slope 16 = 1.0000, SP = -8191:8191 Flip = off
Axis 03 ( Y) : Slope 8 = 0.0039, Slope 16 = 1.0000, SP = -8191:8191 Flip = on
Axis 04 ( RX) : Slope 8 = 0.0039, Slope 16 = 1.0000, SP = -8191:8191 Flip = off
Axis 05 ( RY) : Slope 8 = 0.0039, Slope 16 = 1.0000, SP = -8191:8191 Flip = off
Axis 06 (DPADX) : Slope 8 = 1.0000, Slope 16 = 1.0000, SP = 0:0 Flip = off
Axis 07 (DPADY) : Slope 8 = 1.0000, Slope 16 = 1.0000, SP = 0:0 Flip = off
HID items:
Axis 00 : ReportId=0
Axis 01 : ReportId=0
Axis 02 : ReportId=0
Axis 03 : ReportId=0
Axis 04 : ReportId=0
Axis 05 : ReportId=0
Axis 16 : ReportId=0
Axis 17 : ReportId=0
Axis 18 : ReportId=0
Axis 19 : ReportId=0
DPAD up : ReportId=0
DPAD down : ReportId=0
DPAD left : ReportId=0
DPAD right: ReportId=0
Button 00 : ReportId=0
Button 01 : ReportId=0
Button 02 : ReportId=0
Button 03 : ReportId=0
Button 04 : ReportId=0
Button 05 : ReportId=0
Button 06 : ReportId=0
Button 07 : ReportId=0
Button 08 : ReportId=0
Button 09 : ReportId=0
Button 10 : ReportId=0
Joystick id 5
Path : devices#interface=5;endpoint=6;nopad;noblock:USB5
File handle : 245
Data stream open : Yes
Local USB device name : USB5
Interface : 5
Endpoint : 6
Device manufacturer :
Device product name :
Device serial number :
USB vendor id : 0x045e
USB product id : 0x0719
USB device id : 0x0100
Buffer handle : 265
Buffer internal id : 528
Buffer service routine : 0xfc1d0770
Buffer workspace : 0x20003eb4
DeviceFS handle : 0x20364b34
Data length : 20
Data offset : 0
Upcalls : 0 (delta: 0)
Good reads : 0 (delta: 0)
Bad reads : 0 (delta: 0)
Raw data : 03 00 00 00 ad de ad de ad de ad de 00 00 00 00 ad de ad de
Number of axes : 8
Number of buttons : 11
HAT switch : No
DPAD : Yes
Axes:
Axis 00 ( Z) : Slope 8 = 0.9961, Slope 16 = 257.0000, SP = 97:159 Flip = off
Axis 01 ( RZ) : Slope 8 = 0.9961, Slope 16 = 257.0000, SP = 97:159 Flip = off
Axis 02 ( X) : Slope 8 = 0.0039, Slope 16 = 1.0000, SP = -8191:8191 Flip = off
Axis 03 ( Y) : Slope 8 = 0.0039, Slope 16 = 1.0000, SP = -8191:8191 Flip = on
Axis 04 ( RX) : Slope 8 = 0.0039, Slope 16 = 1.0000, SP = -8191:8191 Flip = off
Axis 05 ( RY) : Slope 8 = 0.0039, Slope 16 = 1.0000, SP = -8191:8191 Flip = off
Axis 06 (DPADX) : Slope 8 = 1.0000, Slope 16 = 1.0000, SP = 0:0 Flip = off
Axis 07 (DPADY) : Slope 8 = 1.0000, Slope 16 = 1.0000, SP = 0:0 Flip = off
HID items:
Axis 00 : ReportId=0
Axis 01 : ReportId=0
Axis 02 : ReportId=0
Axis 03 : ReportId=0
Axis 04 : ReportId=0
Axis 05 : ReportId=0
Axis 16 : ReportId=0
Axis 17 : ReportId=0
Axis 18 : ReportId=0
Axis 19 : ReportId=0
DPAD up : ReportId=0
DPAD down : ReportId=0
DPAD left : ReportId=0
DPAD right: ReportId=0
Button 00 : ReportId=0
Button 01 : ReportId=0
Button 02 : ReportId=0
Button 03 : ReportId=0
Button 04 : ReportId=0
Button 05 : ReportId=0
Button 06 : ReportId=0
Button 07 : ReportId=0
Button 08 : ReportId=0
Button 09 : ReportId=0
Button 10 : ReportId=0
Joystick id 6
Path : devices#interface=6;endpoint=7;nopad;noblock:USB5
File handle : 244
Data stream open : Yes
Local USB device name : USB5
Interface : 6
Endpoint : 7
Device manufacturer :
Device product name :
Device serial number :
USB vendor id : 0x045e
USB product id : 0x0719
USB device id : 0x0100
Buffer handle : 266
Buffer internal id : 572
Buffer service routine : 0xfc1d0770
Buffer workspace : 0x20003eb4
DeviceFS handle : 0x203644f4
Data length : 20
Data offset : 0
Upcalls : 0 (delta: 0)
Good reads : 0 (delta: 0)
Bad reads : 0 (delta: 0)
Raw data : 20 00 00 00 01 00 00 20 6c 5e 06 fc 9d 00 1d fc 00 00 00 00
Number of axes : 8
Number of buttons : 11
HAT switch : No
DPAD : Yes
Axes:
Axis 00 ( Z) : Slope 8 = 0.9961, Slope 16 = 257.0000, SP = 97:159 Flip = off
Axis 01 ( RZ) : Slope 8 = 0.9961, Slope 16 = 257.0000, SP = 97:159 Flip = off
Axis 02 ( X) : Slope 8 = 0.0039, Slope 16 = 1.0000, SP = -8191:8191 Flip = off
Axis 03 ( Y) : Slope 8 = 0.0039, Slope 16 = 1.0000, SP = -8191:8191 Flip = on
Axis 04 ( RX) : Slope 8 = 0.0039, Slope 16 = 1.0000, SP = -8191:8191 Flip = off
Axis 05 ( RY) : Slope 8 = 0.0039, Slope 16 = 1.0000, SP = -8191:8191 Flip = off
Axis 06 (DPADX) : Slope 8 = 1.0000, Slope 16 = 1.0000, SP = 0:0 Flip = off
Axis 07 (DPADY) : Slope 8 = 1.0000, Slope 16 = 1.0000, SP = 0:0 Flip = off
HID items:
Axis 00 : ReportId=0
Axis 01 : ReportId=0
Axis 02 : ReportId=0
Axis 03 : ReportId=0
Axis 04 : ReportId=0
Axis 05 : ReportId=0
Axis 16 : ReportId=0
Axis 17 : ReportId=0
Axis 18 : ReportId=0
Axis 19 : ReportId=0
DPAD up : ReportId=0
DPAD down : ReportId=0
DPAD left : ReportId=0
DPAD right: ReportId=0
Button 00 : ReportId=0
Button 01 : ReportId=0
Button 02 : ReportId=0
Button 03 : ReportId=0
Button 04 : ReportId=0
Button 05 : ReportId=0
Button 06 : ReportId=0
Button 07 : ReportId=0
Button 08 : ReportId=0
Button 09 : ReportId=0
Button 10 : ReportId=0
Joystick id 7
Path : devices#interface=7;endpoint=8;nopad;noblock:USB5
File handle : 243
Data stream open : Yes
Local USB device name : USB5
Interface : 7
Endpoint : 8
Device manufacturer :
Device product name :
Device serial number :
USB vendor id : 0x045e
USB product id : 0x0719
USB device id : 0x0100
Buffer handle : 267
Buffer internal id : 616
Buffer service routine : 0xfc1d0770
Buffer workspace : 0x20003eb4
DeviceFS handle : 0x20365914
Data length : 20
Data offset : 0
Upcalls : 0 (delta: 0)
Good reads : 0 (delta: 0)
Bad reads : 0 (delta: 0)
Raw data : d3 04 00 00 00 00 00 00 c4 00 04 00 00 00 0a 00 00 00 0a 00
Number of axes : 8
Number of buttons : 11
HAT switch : No
DPAD : Yes
Axes:
Axis 00 ( Z) : Slope 8 = 0.9961, Slope 16 = 257.0000, SP = 97:159 Flip = off
Axis 01 ( RZ) : Slope 8 = 0.9961, Slope 16 = 257.0000, SP = 97:159 Flip = off
Axis 02 ( X) : Slope 8 = 0.0039, Slope 16 = 1.0000, SP = -8191:8191 Flip = off
Axis 03 ( Y) : Slope 8 = 0.0039, Slope 16 = 1.0000, SP = -8191:8191 Flip = on
Axis 04 ( RX) : Slope 8 = 0.0039, Slope 16 = 1.0000, SP = -8191:8191 Flip = off
Axis 05 ( RY) : Slope 8 = 0.0039, Slope 16 = 1.0000, SP = -8191:8191 Flip = off
Axis 06 (DPADX) : Slope 8 = 1.0000, Slope 16 = 1.0000, SP = 0:0 Flip = off
Axis 07 (DPADY) : Slope 8 = 1.0000, Slope 16 = 1.0000, SP = 0:0 Flip = off
HID items:
Axis 00 : ReportId=0
Axis 01 : ReportId=0
Axis 02 : ReportId=0
Axis 03 : ReportId=0
Axis 04 : ReportId=0
Axis 05 : ReportId=0
Axis 16 : ReportId=0
Axis 17 : ReportId=0
Axis 18 : ReportId=0
Axis 19 : ReportId=0
DPAD up : ReportId=0
DPAD down : ReportId=0
DPAD left : ReportId=0
DPAD right: ReportId=0
Button 00 : ReportId=0
Button 01 : ReportId=0
Button 02 : ReportId=0
Button 03 : ReportId=0
Button 04 : ReportId=0
Button 05 : ReportId=0
Button 06 : ReportId=0
Button 07 : ReportId=0
Button 08 : ReportId=0
Button 09 : ReportId=0
Button 10 : ReportId=0
Good point, in which case it will have to go into USBJoystick...it will work provided the game is using OS_Byte - which I suspect it is.
(VID_06F8 PID_0004) I was going to try with it, but I need to be able to inject the HID descriptor as it doesn't have one.