website logo
โŒ˜K
Hand Held Legend Wiki
Modding Tips
Restore Your Original Gameboy Bumper Buttons To Factory
IPS Comparison Info
Headphones Working But Speaker Is Not
Power Switch Cleaning Guide
IPS LCD Dry Test
GBA SP | IPS LCD Dry Test
Soldering Iron Guide
HHL Products
GC Pocket Adapter
Open Controller DevKit
Retro-C Cable Information
RetroGlow
ProGCC Mod Kit
T6 Torx Screws
Console Guides
Game Gear
Electrolytic Re-Cap Guide
Nintendo Switch
GameCube
Game Boy (DMG)
Game Boy Pocket
Game Boy Color
Game Boy Advance (AGB)
Game Boy Advance SP
Mod Install Guides
Nintendo Switch
Game Gear
GameCube
Game Boy (DMG)
Game Boy Pocket/Light
Game Boy Color
Game Boy Advance (AGB)
Game Boy Advance SP
Atari Lynx
WonderSwan
Product Usage Guides
Writing A Rom To A Flash Cart
๐Ÿงƒ CleanJuice Modules
Game Boy Color
Troubleshooting
๐Ÿ”‰Audio
IPS Troubleshooting Guide
โšกEZ-Flash Omega Troubleshoot
๐Ÿ”‹ Power Switch Is Too Small
Developer Center
OpenJoyPad HID USB Specification
USB Product IDs Used
Nintendo Switch
Affiliate Guidelines
Docs powered byย archbeeย 
15min

0x02 - Configuration Report

INPUT Configuration Report

๏ปฟ

OUTPUT Configuration Report Requests

The first byte after the Report ID of these commands represents a sub-command to tell the gamepad which configuration data it would like to retrieve or what command to apply. Additional bytes represent parameters related to the command. See the table and information below.

Sub-Command ID (Byte 1)

Meaning

0x00

Reset or save settings

0x01

Retrieve all settings

0x02

Initiate or finalize analog calibration process

0x03

Retrieve trigger sensitivity data

0x04

Retrieve trigger mode data

0x05

Retrieve button remap data

0x06

Initiate or cancel digital button remap

0x00 - Reset or Save Settings

Parameter byte (Byte 2)

Meaning

Notes

0x00

Reset all configuration options to default

Should not save at this point.

0x01

Save all configuration options to storage.

Save all settings

0x01 - Retrieve all settings

The device (Gamepad) will reply with a number of 0x02 ID Input reports. Each will have its own sub-command ID that will contain the relevant configuration data.

0x02 - Initiate or finalize analog calibration process

This command requests that the controller either initiate or finalize an analog stick calibration process.

This allows for each axis to be calibrated individually.

Byte 2 - Function Select

Parameter byte (Byte 2)

Meaning

Notes

0x00

Initiate calibration mode.

This should toggle an internal calibration process in the joypad itself.

0x01

Finalize calibration mode.

This will tell the joypad to take the current data in its calibration cycle and save it.

0x02

Cancel calibration mode.

This will tell the joypad to cancel the calibration mode. Analog calibration reverts to original data.

Byte 3 - Axis Select

Parameter byte (Byte 3)

Meaning

Notes

0x00

Left stick, X and Y axis

Joypad should handle min, max, center values.

0x01

Right stick, X and Y axis

๏ปฟ

0x02

Analog triggers, Left and Right trigger

๏ปฟ

0x03 - Retrieve trigger sensitivity data

This command requests the sensitivity values for the triggers. No additional parameter is needed. See the input description for the response format.

0x04 - Retrieve trigger mode data

This command requests the sensitivity values for the triggers. The parameter byte is a mode bank symbol. There are several pre-defined modes which would help to define trigger modes for a few use-case scenarios that are common with USB Gamepads. See this link for more information.

This allows for trigger modes to be customized for different USB Gamepad modes.

Parameter byte (Byte 2)

Meaning

Notes

0x00 - 0xFF

Mode bank

Implementation of different mode banks can be customized.

0x05 - Retrieve Button Remap Data

No parameter data required.

0x06 - Initiate Or Cancel Digital Button Remap

Byte 0 - Initiate or Cancel

Parameter byte (Byte 1)

Meaning

Notes

0x00

Initiate remap

๏ปฟ

0x01

Cancel remap

๏ปฟ

Byte 1 - Button to initiate remap

Send a byte value of 0 through 15 to map one of the following buttons.

Value

Button to remap

Notes

0

D-Pad Up

๏ปฟ

1

D-Pad Down

๏ปฟ

2

D-Pad Left

๏ปฟ

3

D-Pad Right

๏ปฟ

4

Button Up

Nintendo "X"

5

Button Down

Nintendo "B"

6

Button Left

Nintendo "Y"

7

Button Right

Nintendo "A"

8

Trigger L

๏ปฟ

9

Trigger ZL

๏ปฟ

10

Trigger R

๏ปฟ

11

Trigger ZR

๏ปฟ

12

Button Start

๏ปฟ

13

Button Select

๏ปฟ

14

Button Stick Left

๏ปฟ

15

Button Stick Right

๏ปฟ

๏ปฟ

Updated 14 Feb 2023
Did this page help you?
Yes
No
UP NEXT
0x03 - Motion Controls Report
Docs powered byย archbeeย 
TABLE OF CONTENTS
INPUT Configuration Report
OUTPUT Configuration Report Requests
0x00 - Reset or Save Settings
0x01 - Retrieve all settings
0x02 - Initiate or finalize analog calibration process
Byte 2 - Function Select
Byte 3 - Axis Select
0x03 - Retrieve trigger sensitivity data
0x04 - Retrieve trigger mode data
0x05 - Retrieve Button Remap Data
0x06 - Initiate Or Cancel Digital Button Remap
Byte 0 - Initiate or Cancel
Byte 1 - Button to initiate remap