-
Notifications
You must be signed in to change notification settings - Fork 3
Navigation Input report
The Move Navigation submits its status and sensor data in HID Input report 0x01 that will typically look like this:
01 00 00 00 00 00 7E 80 7D 84 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 05 14 FF C8 00 00 23 BF 77 01 C0 02 02 02 01 01 A2 02 00
The following section explains the report's format in detail, e.g. how to interpret the data.
Description of directional buttons assumes that the Move Navigation is held with its PS button pointing up and its USB connector pointing towards you.
Byte offset | Length (in bytes) | Description |
---|---|---|
0x00 | 1 | HID Report ID (always 0x01) |
0x02 | 1 | Buttons 1 (L3, D-pad) |
0x03 | 1 | Buttons 2 (X, Circle, L1, L2) |
0x04 | 1 | PS button |
0x06 | 1 | Stick X-axis |
0x07 | 1 | Stick Y-axis |
0x0E | 1 | D-pad UP |
0x0F | 1 | D-pad RIGHT |
0x10 | 1 | D-pad DOWN |
0x11 | 1 | D-pad LEFT |
0x12 | 1 | L2 button value |
0x14 | 1 | L1 button value |
0x17 | 1 | Circle button value |
0x18 | 1 | X button value |
0x1E | 1 | Battery level |
This is a bit mask that indicates if L3 (0x02), D-pad UP (0x10), D-pad RIGHT (0x20), D-pad DOWN (0x40) or D-pad LEFT (0x80) buttons are pressed. The corresponding bit is set while the button is depressed. The L3 button functions when the analog stick is pressed (resulting in a noticeable click).
This is a bit mask that indicates if L2 (0x01), L1 (0x04), Circle (0x20) or X (0x40) buttons are pressed. The corresponding bit is set while the button is depressed.
The bit 0x01 of this byte is set while the PS button is depressed.
These fields contain directional data of the analog stick. The manual calls it the left stick (probably in referrence to the PS3 Sixaxis controller). The values are shifted up to always report positive numbers. Subtract 0x80 to obtain signed values and determine direction from the sign. Positive is right/down while negative is left/up, respectively.
These fields indicate the state of buttons on the analog pad. The manual calls it the directional buttons. Values are ranging from 0x00 (not pressed) to 0xFF (fully depressed).
These fields indicate the position of the analog L1 and L2 button, respectively. Values are ranging from 0x00 (not pressed) to 0xFF (fully depressed).
These fields contain data of the Circle and X button, respectively. Since these buttons are only digital, the value is always either 0x00 (not pressed) or 0xFF (depressed) but never anything in between.
This field reports the controller's battery level, a value of 0x05 meaning fully charged. If the controller is connected via USB cable the value is either 0xEE (charging) or 0xEF (fully charged).