Joy-Con: Difference between revisions

Added basic HID info for right joy-con.
Unifying joy-con info since when both are paired they report identical info.
Line 11: Line 11:




== Left Joy-con ==
== Left & Right Separate Joy-con ==
 
When paired directly to a computer over bluetooth, the joy-con both provide identical HID input report descriptor. This does not appear to include motion controls, IR data, or NFC. They both behave as detached single-player controllers.


HID Input Report Descriptor (Hexadecimal):
HID Input Report Descriptor (Hexadecimal):
Line 17: Line 19:
  18102853F05091901291015002501750195108102050109391500250775049501814205097504950181010501093009310933093416000027FFFF00
  18102853F05091901291015002501750195108102050109391500250775049501814205097504950181010501093009310933093416000027FFFF00
  007510950481020601FF85010901750895309102851009107508953091028511091175089530910285120912750895309102C0
  007510950481020601FF85010901750895309102851009107508953091028511091175089530910285120912750895309102C0
{| class="mw-collapsible mw-collapsed wikitable"
! Parsed Bytes || Description
|-
|0x05, 0x01,        || Usage Page (Generic Desktop Ctrls)
|-
|0x09, 0x05,        || Usage (Game Pad)
|-
|0xA1, 0x01,        || Collection (Application)
|-
|0x06, 0x01, 0xFF,  ||  Usage Page (Vendor Defined 0xFF01)
|-
|0x85, 0x21,        ||  Report ID (33)
|-
|0x09, 0x21,        ||  Usage (0x21)
|-
|0x75, 0x08,        ||  Report Size (8)
|-
|0x95, 0x30,        ||  Report Count (48)
|-
|0x81, 0x02,        ||  Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
|-
|0x85, 0x30,        ||  Report ID (48)
|-
|0x09, 0x30,        ||  Usage (0x30)
|-
|0x75, 0x08,        ||  Report Size (8)
|-
|0x95, 0x30,        ||  Report Count (48)
|-
|0x81, 0x02,        ||  Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
|-
|0x85, 0x31,        ||  Report ID (49)
|-
|0x09, 0x31,        ||  Usage (0x31)
|-
|0x75, 0x08,        ||  Report Size (8)
|-
|0x96, 0x69, 0x01,  ||  Report Count (361)
|-
|0x81, 0x02,        ||  Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
|-
|0x85, 0x32,        ||  Report ID (50)
|-
|0x09, 0x32,        ||  Usage (0x32)
|-
|0x75, 0x08,        ||  Report Size (8)
|-
|0x96, 0x69, 0x01,  ||  Report Count (361)
|-
|0x81, 0x02,        ||  Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
|-
|0x85, 0x33,        ||  Report ID (51)
|-
|0x09, 0x33,        ||  Usage (0x33)
|-
|0x75, 0x08,        ||  Report Size (8)
|-
|0x96, 0x69, 0x01,  ||  Report Count (361)
|-
|0x81, 0x02,        ||  Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
|-
|0x85, 0x3F,        ||  Report ID (63)
|-
|0x05, 0x09,        ||  Usage Page (Button)
|-
|0x19, 0x01,        ||  Usage Minimum (0x01)
|-
|0x29, 0x10,        ||  Usage Maximum (0x10)
|-
|0x15, 0x00,        ||  Logical Minimum (0)
|-
|0x25, 0x01,        ||  Logical Maximum (1)
|-
|0x75, 0x01,        ||  Report Size (1)
|-
|0x95, 0x10,        ||  Report Count (16)
|-
|0x81, 0x02,        ||  Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
|-
|0x05, 0x01,        ||  Usage Page (Generic Desktop Ctrls)
|-
|0x09, 0x39,        ||  Usage (Hat switch)
|-
|0x15, 0x00,        ||  Logical Minimum (0)
|-
|0x25, 0x07,        ||  Logical Maximum (7)
|-
|0x75, 0x04,        ||  Report Size (4)
|-
|0x95, 0x01,        ||  Report Count (1)
|-
|0x81, 0x42,        ||  Input (Data,Var,Abs,No Wrap,Linear,Preferred State,Null State)
|-
|0x05, 0x09,        ||  Usage Page (Button)
|-
|0x75, 0x04,        ||  Report Size (4)
|-
|0x95, 0x01,        ||  Report Count (1)
|-
|0x81, 0x01,        ||  Input (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)
|-
|0x05, 0x01,        ||  Usage Page (Generic Desktop Ctrls)
|-
|0x09, 0x30,        ||  Usage (X)
|-
|0x09, 0x31,        ||  Usage (Y)
|-
|0x09, 0x33,        ||  Usage (Rx)
|-
|0x09, 0x34,        ||  Usage (Ry)
|-
|0x16, 0x00, 0x00,  ||  Logical Minimum (0)
|-
|0x27, 0xFF, 0xFF, 0x00, 0x00,  ||  Logical Maximum (65534)
|-
|0x75, 0x10,        ||  Report Size (16)
|-
|0x95, 0x04,        ||  Report Count (4)
|-
|0x81, 0x02,        ||  Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
|-
|0x06, 0x01, 0xFF,  ||  Usage Page (Vendor Defined 0xFF01)
|-
|0x85, 0x01,        ||  Report ID (1)
|-
|0x09, 0x01,        ||  Usage (0x01)
|-
|0x75, 0x08,        ||  Report Size (8)
|-
|0x95, 0x30,        ||  Report Count (48)
|-
|0x91, 0x02,        ||  Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
|-
|0x85, 0x10,        ||  Report ID (16)
|-
|0x09, 0x10,        ||  Usage (0x10)
|-
|0x75, 0x08,        ||  Report Size (8)
|-
|0x95, 0x30,        ||  Report Count (48)
|-
|0x91, 0x02,        ||  Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
|-
|0x85, 0x11,        ||  Report ID (17)
|-
|0x09, 0x11,        ||  Usage (0x11)
|-
|0x75, 0x08,        ||  Report Size (8)
|-
|0x95, 0x30,        ||  Report Count (48)
|-
|0x91, 0x02,        ||  Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
|-
|0x85, 0x12,        ||  Report ID (18)
|-
|0x09, 0x12,        ||  Usage (0x12)
|-
|0x75, 0x08,        ||  Report Size (8)
|-
|0x95, 0x30,        ||  Report Count (48)
|-
|0x91, 0x02,        ||  Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
|-
|0xC0,              || End Collection
|}
== Right Joy-con ==
HID Input Report Descriptor (Hexadecimal):
05010905a1010601ff85210921750895308102853009307508953081028531093175089669018102853209327508966901810285330933750896690
18102853f05091901291015002501750195108102050109391500250775049501814205097504950181010501093009310933093416000027ffff00
007510950481020601ff85010901750895309102851009107508953091028511091175089530910285120912750895309102c0


{| class="mw-collapsible mw-collapsed wikitable"
{| class="mw-collapsible mw-collapsed wikitable"