| { |
| "id": 1, |
| "command": "register", |
| "name": "Nintendo Switch Pro Controller (Test)", |
| "vid": 0x057e, |
| "pid": 0x2009, |
| "bus": "bluetooth", |
| "source": "KEYBOARD | GAMEPAD | JOYSTICK", |
| "descriptor": [0x05, 0x01, 0x09, 0x05, 0xa1, 0x01, 0x06, 0x01, 0xff, 0x85, 0x21, 0x09, 0x21, |
| 0x75, 0x08, 0x95, 0x30, 0x81, 0x02, 0x85, 0x30, 0x09, 0x30, 0x75, 0x08, 0x95, 0x30, 0x81, |
| 0x02, 0x85, 0x31, 0x09, 0x31, 0x75, 0x08, 0x96, 0x69, 0x01, 0x81, 0x02, 0x85, 0x32, 0x09, |
| 0x32, 0x75, 0x08, 0x96, 0x69, 0x01, 0x81, 0x02, 0x85, 0x33, 0x09, 0x33, 0x75, 0x08, 0x96, |
| 0x69, 0x01, 0x81, 0x02, 0x85, 0x3f, 0x05, 0x09, 0x19, 0x01, 0x29, 0x10, 0x15, 0x00, 0x25, |
| 0x01, 0x75, 0x01, 0x95, 0x10, 0x81, 0x02, 0x05, 0x01, 0x09, 0x39, 0x15, 0x00, 0x25, 0x07, |
| 0x75, 0x04, 0x95, 0x01, 0x81, 0x42, 0x05, 0x09, 0x75, 0x04, 0x95, 0x01, 0x81, 0x01, 0x05, |
| 0x01, 0x09, 0x30, 0x09, 0x31, 0x09, 0x33, 0x09, 0x34, 0x16, 0x00, 0x00, 0x27, 0xff, 0xff, |
| 0x00, 0x00, 0x75, 0x10, 0x95, 0x04, 0x81, 0x02, 0x06, 0x01, 0xff, 0x85, 0x01, 0x09, 0x01, |
| 0x75, 0x08, 0x95, 0x30, 0x91, 0x02, 0x85, 0x10, 0x09, 0x10, 0x75, 0x08, 0x95, 0x30, 0x91, |
| 0x02, 0x85, 0x11, 0x09, 0x11, 0x75, 0x08, 0x95, 0x30, 0x91, 0x02, 0x85, 0x12, 0x09, 0x12, |
| 0x75, 0x08, 0x95, 0x30, 0x91, 0x02, 0xc0], |
| "outputs": [ |
| { |
| "description": "Ack for 'set report mode' (0x03)", |
| "output": [0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x30], |
| "response": [0x21, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0xa, 0xb, 0x1, |
| 0x03] |
| }, |
| { |
| "description": "Ack for 'enable rumble' (0x48)", |
| "output": [0x1, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x48, 0x1], |
| "response": [0x21, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0xa, 0xb, 0x1, |
| 0x48] |
| }, |
| { |
| "description": "Some other rumble command?", |
| "output": [0x1, 0x4, 0x0, 0x1, 0x64, 0x64, 0x0, 0x1, 0x64, 0x64, 0x48, 0x3], |
| "response": [0x21, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0xa, 0xb, 0x1, |
| 0x48] |
| }, |
| { |
| "description": "Some other rumble command? -- 2", |
| "output": [0x1, 0x4, 0x0, 0x1, 0x64, 0x64, 0x0, 0x1, 0x64, 0x64, 0x48, 0x7], |
| "response": [0x21, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0xa, 0xb, 0x1, |
| 0x48] |
| }, |
| { |
| "description": "Info about MAC address (0x2)", |
| "output": [0x1, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2], |
| "response": [0x21, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0xa, 0xb, 0x1, |
| 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0] |
| }, |
| { |
| "description": "Ack for 'set player led' (0x30)", |
| "output": [0x1, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x30, 0xf], |
| "response": [0x21, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0xa, 0xb, 0x1, |
| 0x30] |
| }, |
| { |
| "description": "Ack for 'set player led' (0x30)", |
| "output": [0x1, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x30, 0x7], |
| "response": [0x21, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0xa, 0xb, 0x1, |
| 0x30] |
| }, |
| { |
| "description": "Ack for 'set player led' (0x30)", |
| "output": [0x1, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x30, 0x3], |
| "response": [0x21, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0xa, 0xb, 0x1, |
| 0x30] |
| }, |
| { |
| "description": "Ack for 'set player led' (0x30)", |
| "output": [0x1, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x30, 0x1], |
| "response": [0x21, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0xa, 0xb, 0x1, |
| 0x30] |
| }, |
| { |
| "description": "Ack for 'set home led' (0x38)", |
| "output": [0x1, 0x5, 0x0, 0x1, 0x40, 0x40, 0x0, 0x1, 0x40, 0x40, 0x38, 0x1, 0x0, 0x0, 0x11, |
| 0x11], |
| "response": [0x21, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0xa, 0xb, |
| 0x1, 0x38] |
| }, |
| { |
| "description": "USB Handshake", |
| "output": [0x80, 0x2], |
| "response": [0x81, 0x2] |
| }, |
| { |
| "description": "Ack for 'request calibration' (0x10)", |
| "output": [0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0x3d, 0x60, 0, 0, 0x12], |
| "response": [0x21, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0xa, 0xb, |
| 0x1, 0x10, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0xa, 0xb, 0xc, 0xd, |
| 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0xa, 0xb, 0xc, 0xd] |
| } |
| ] |
| } |