Class USBHIDGamepad
Description
A class used for creating and managing a USB HID Gamepad.
Syntax
class USBHIDGamepad
Members
Public Constructors
USBHIDGamepad::USBHIDGamepad |
Constructs a USBHIDGamepad object |
Public Methods
USBHIDGamepad::setReportID |
Set HID report ID for the HID Gamepad |
USBHIDGamepad::gamepadReport |
Send a HID Gamepad report |
USBHIDGamepad::buttonPress |
Send a HID Gamepad report indicating buttons pressed |
USBHIDGamepad::buttonRelease |
Send a HID Gamepad report indicating buttons released |
USBHIDGamepad::buttonReleaseAll |
Send a HID Gamepad report indicating no buttons pressed |
USBHIDGamepad::setHat |
Send a HID Gamepad report indicating hat switch position |
USBHIDGamepad::setAxes |
Send a HID Gamepad report indicating position of all axes |
USBHIDGamepad::setLeftStick |
Send a HID Gamepad report indicating position of axes corresponding to left analog stick |
USBHIDGamepad::setRightStick |
Send a HID Gamepad report indicating position of axes corresponding to right analog stick |
USBHIDGamepad::setTriggers |
Send a HID Gamepad report indicating position of axes corresponding to triggers |
- USBHIDGamepad::USBHIDGamepad
Description
Constructs a USBHIDGamepad object.
Syntax
USBHIDGamepad::USBHIDGamepad ();
Parameters
The function requires no input parameter.
Returns
The function returns nothing.
Example Code
Example: USBHIDGamepad
Notes and Warnings
By default, the USBHIDGamepad class assumes the HID report descriptor implements a gamepad device with 16 buttons, 6 axes with 16-bit resolution and an 8-direction hat switch. This class will not work if a different gamepad report descriptor is implemented.
- USBHIDGamepad::setReportID
Description
Set HID report ID for the HID Gamepad.
Syntax
void setReportID (uint8_t reportID);
Parameters
reportID
: The report ID for the gamepad device, corresponding to the HID
report descriptor.
Returns
The function returns nothing.
Example Code
NA
Notes and Warnings
HID report ID should start at 1. Some systems may consider a report ID of 0 as invalid.
- USBHIDGamepad::gamepadReport
Description
Send a HID Gamepad report.
Syntax
void gamepadReport (hid_gamepad_report_t* report);
void gamepadReport (uint16_t buttons, uint8_t hat, int16_t x, int16_t y,
int16_t z, int16_t Rz, int16_t Rx, int16_t Ry);
Parameters
report
: pointer to gamepad report structure containing data on all
inputs
buttons
: bitmap indicating state of each button. 1 = pressed, 0 =
released.
hat
: position of hat switch. Valid values:
GAMEPAD_HAT_CENTERED = 0
GAMEPAD_HAT_UP = 1
GAMEPAD_HAT_UP_RIGHT = 2
GAMEPAD_HAT_RIGHT = 3
GAMEPAD_HAT_DOWN_RIGHT = 4
GAMEPAD_HAT_DOWN = 5
GAMEPAD_HAT_DOWN_LEFT = 6
GAMEPAD_HAT_LEFT = 7
GAMEPAD_HAT_UP_LEFT = 8
x
: position of x axis. Integer value from -32767 to 32767.
y
: position of y axis. Integer value from -32767 to 32767.
z
: position of z axis. Integer value from -32767 to 32767.
Rz
: position of Rz axis. Integer value from -32767 to 32767.
Rx
: position of Rx axis. Integer value from -32767 to 32767.
Ry
: position of Ry axis. Integer value from -32767 to 32767.
Returns
The function returns nothing.
Example Code
Example: USBHIDGamepad
Notes and Warnings
NA
- USBHIDGamepad::buttonPress
Description
Send a HID Gamepad report indicating buttons pressed.
Syntax
void buttonPress (uint16_t buttons);
Parameters
buttons
: bitmap indicating buttons pressed. 1 = pressed.
Returns
The function returns nothing.
Example Code
NA
Notes and Warnings
NA
- USBHIDGamepad::buttonRelease
Description
Send a HID Gamepad report indicating buttons released.
Syntax
void buttonRelease (uint16_t buttons);
Parameters
buttons
: bitmap indicating buttons released. 1 = released.
Returns
The function returns nothing.
Example Code
NA
Notes and Warnings
NA
- USBHIDGamepad::buttonReleaseAll
Description
Send a HID Gamepad report indicating no buttons pressed.
Syntax
void buttonReleaseAll ();
Parameters
The function takes no parameter.
Returns
The function returns nothing.
Example Code
Example: USBHIDGamepad
Notes and Warnings
NA
- USBHIDGamepad::setHat
Description
Send a HID Gamepad report indicating hat switch position.
Syntax
void setHat (uint8_t hat);
Parameters
hat
: position of hat switch. Valid values:
GAMEPAD_HAT_CENTERED = 0
GAMEPAD_HAT_UP = 1
GAMEPAD_HAT_UP_RIGHT = 2
GAMEPAD_HAT_RIGHT = 3
GAMEPAD_HAT_DOWN_RIGHT = 4
GAMEPAD_HAT_DOWN = 5
GAMEPAD_HAT_DOWN_LEFT = 6
GAMEPAD_HAT_LEFT = 7
GAMEPAD_HAT_UP_LEFT = 8
Returns
The function returns nothing.
Example Code
NA
Notes and Warnings
NA
- USBHIDGamepad::setAxes
Description
Send a HID Gamepad report indicating position of all axes.
Syntax
void setAxes (int16_t x, int16_t y, int16_t z, int16_t Rz, int16_t Rx,
int16_t Ry);
Parameters
x
: position of x axis. Integer value from -32767 to 32767.
y
: position of y axis. Integer value from -32767 to 32767.
z
: position of z axis. Integer value from -32767 to 32767.
Rz
: position of Rz axis. Integer value from -32767 to 32767.
Rx
: position of Rx axis. Integer value from -32767 to 32767.
Ry
: position of Ry axis. Integer value from -32767 to 32767.
Returns
The function returns nothing.
Example Code
Example: USBHIDGamepad
Notes and Warnings
NA
- USBHIDGamepad::setLeftStick
Description
Send a HID Gamepad report indicating position of axes corresponding to left analog stick.
Syntax
void setLeftStick (int16_t x, int16_t y);
Parameters
x
: position of x axis. Integer value from -32767 to 32767.
y
: position of y axis. Integer value from -32767 to 32767.
Returns
The function returns nothing.
Example Code
NA
Notes and Warnings
NA
- USBHIDGamepad::setRightStick**
Description
Send a HID Gamepad report indicating position of axes corresponding to right analog stick.
Syntax
void setLeftStick (int16_t z, int16_t Rz);
Parameters
z
: position of z axis. Integer value from -32767 to 32767.
Rz
: position of Rz axis. Integer value from -32767 to 32767.
Returns
The function returns nothing.
Example Code
NA
Notes and Warnings
NA
- USBHIDGamepad::setTrigger
Description
Send a HID Gamepad report indicating position of axes corresponding to triggers.
Syntax
void setTriggers (int16_t Rx, int16_t Ry);
Parameters
Rx
: position of Rx axis. Integer value from -32767 to 32767.
Ry
: position of Ry axis. Integer value from -32767 to 32767.
Returns
The function returns nothing.
Example Code
NA
Notes and Warnings
NA