mirror of
https://github.com/gdsports/USBHost_t36
synced 2024-11-23 09:32:19 -05:00
c5edb1c25f
While the other Joystick objects currently supported by the USB Host code are driven by HID data, the Xbox does not contain HID data and instead works at the top level. To handle this I made the Joystick object use multiple InHeritence like: class JoystickController : public USBDriver, public USBHIDInput This allowed me to have the object work either way. This did add some complexity in that some of the methods like is the object connected (The bool operator) had to be overwritten as both of the bases classes had it. In addition needed to update the other query functions to be able to grab the data from mydevice or device depending on which type of controller was connected. Since this looked like a valid way, I then merged the Keyboard Extras code that Keyboard and made it also do a similar multiple inheritance. In this case however I restricted the HID top level report handle code to only accept it if on the same object that claimed the keyboard. The mouse test app was updated as well
97 lines
1.9 KiB
Plaintext
97 lines
1.9 KiB
Plaintext
# Objects
|
|
USBHost KEYWORD1
|
|
USBHub KEYWORD1
|
|
USBHIDParser KEYWORD1
|
|
KeyboardController KEYWORD1
|
|
MouseController KEYWORD1
|
|
MIDIDevice KEYWORD1
|
|
USBSerial KEYWORD1
|
|
AntPlus KEYWORD1
|
|
JoystickController KEYWORD1
|
|
RawHIDController KEYWORD1
|
|
|
|
# Common Functions
|
|
Task KEYWORD2
|
|
idVendor KEYWORD2
|
|
idProduct KEYWORD2
|
|
manufacturer KEYWORD2
|
|
product KEYWORD2
|
|
serialNumber KEYWORD2
|
|
|
|
# KeyboardController
|
|
getKey KEYWORD2
|
|
getModifiers KEYWORD2
|
|
getOemKey KEYWORD2
|
|
attachPress KEYWORD2
|
|
attachRelease KEYWORD2
|
|
attachExtrasPress KEYWORD2
|
|
attachExtrasRelease KEYWORD2
|
|
LEDS KEYWORD2
|
|
updateLEDS KEYWORD2
|
|
numLock KEYWORD2
|
|
capsLock KEYWORD2
|
|
scrollLock KEYWORD2
|
|
|
|
# MIDIDevice
|
|
getType KEYWORD2
|
|
getChannel KEYWORD2
|
|
getData1 KEYWORD2
|
|
getData2 KEYWORD2
|
|
setHandleNoteOff KEYWORD2
|
|
setHandleNoteOn KEYWORD2
|
|
setHandleVelocityChange KEYWORD2
|
|
setHandleControlChange KEYWORD2
|
|
setHandleProgramChange KEYWORD2
|
|
setHandleAfterTouch KEYWORD2
|
|
setHandlePitchChange KEYWORD2
|
|
setHandleSysEx KEYWORD2
|
|
setHandleRealTimeSystem KEYWORD2
|
|
setHandleTimeCodeQuarterFrame KEYWORD2
|
|
sendNoteOff KEYWORD2
|
|
sendNoteOn KEYWORD2
|
|
sendPolyPressure KEYWORD2
|
|
sendControlChange KEYWORD2
|
|
sendProgramChange KEYWORD2
|
|
sendAfterTouch KEYWORD2
|
|
sendPitchBend KEYWORD2
|
|
sendSysEx KEYWORD2
|
|
sendRealTime KEYWORD2
|
|
sendTimeCodeQuarterFrame KEYWORD2
|
|
sendTimeCodeQuarterFrame KEYWORD2
|
|
SYSEX_MAX_LEN LITERAL1 KEYWORD2
|
|
|
|
# AntPlus
|
|
onStatusChange KEYWORD2
|
|
onDeviceID KEYWORD2
|
|
onHeartRateMonitor KEYWORD2
|
|
onSpeedCadence KEYWORD2
|
|
onSpeed KEYWORD2
|
|
onCadence KEYWORD2
|
|
setWheelCircumference KEYWORD2
|
|
|
|
# MouseController
|
|
mouseDataClear KEYWORD2
|
|
getButtons KEYWORD2
|
|
getMouseX KEYWORD2
|
|
getMouseY KEYWORD2
|
|
getWheel KEYWORD2
|
|
getWheelH KEYWORD2
|
|
|
|
# JoystickController
|
|
joystickDataClear KEYWORD2
|
|
getAxis KEYWORD2
|
|
axisMask KEYWORD2
|
|
|
|
# USBSerial
|
|
USBHOST_SERIAL_7E1 LITERAL1
|
|
USBHOST_SERIAL_7O1 LITERAL1
|
|
USBHOST_SERIAL_8N1 LITERAL1
|
|
USBHOST_SERIAL_8N2 LITERAL1
|
|
USBHOST_SERIAL_8E1 LITERAL1
|
|
USBHOST_SERIAL_8O1 LITERAL1
|
|
|
|
# RAWHid
|
|
usage KEYWORD2
|
|
attachReceive KEYWORD2
|
|
sendPacket KEYWORD2
|