Add rdesc for bluetooth normal dualsense
This commit is contained in:
parent
ee02e47df0
commit
39cd08d01a
1 changed files with 25 additions and 2 deletions
27
virt_ds5.c
27
virt_ds5.c
|
|
@ -1016,6 +1016,29 @@ static unsigned char rdesc[] = {
|
||||||
0xc0, // End Collection 272
|
0xc0, // End Collection 272
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static unsigned char rdesc_bt[] = {
|
||||||
|
0x05, 0x01, 0x09, 0x05, 0xa1, 0x01, 0x85, 0x01, 0x09, 0x30, 0x09, 0x31, 0x09, 0x32, 0x09, 0x35,
|
||||||
|
0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x04, 0x81, 0x02, 0x09, 0x39, 0x15, 0x00, 0x25,
|
||||||
|
0x07, 0x35, 0x00, 0x46, 0x3b, 0x01, 0x65, 0x14, 0x75, 0x04, 0x95, 0x01, 0x81, 0x42, 0x65, 0x00,
|
||||||
|
0x05, 0x09, 0x19, 0x01, 0x29, 0x0e, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x0e, 0x81, 0x02,
|
||||||
|
0x75, 0x06, 0x95, 0x01, 0x81, 0x01, 0x05, 0x01, 0x09, 0x33, 0x09, 0x34, 0x15, 0x00, 0x26, 0xff,
|
||||||
|
0x00, 0x75, 0x08, 0x95, 0x02, 0x81, 0x02, 0x06, 0x00, 0xff, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75,
|
||||||
|
0x08, 0x95, 0x4d, 0x85, 0x31, 0x09, 0x31, 0x91, 0x02, 0x09, 0x3b, 0x81, 0x02, 0x85, 0x32, 0x09,
|
||||||
|
0x32, 0x95, 0x8d, 0x91, 0x02, 0x85, 0x33, 0x09, 0x33, 0x95, 0xcd, 0x91, 0x02, 0x85, 0x34, 0x09,
|
||||||
|
0x34, 0x96, 0x0d, 0x01, 0x91, 0x02, 0x85, 0x35, 0x09, 0x35, 0x96, 0x4d, 0x01, 0x91, 0x02, 0x85,
|
||||||
|
0x36, 0x09, 0x36, 0x96, 0x8d, 0x01, 0x91, 0x02, 0x85, 0x37, 0x09, 0x37, 0x96, 0xcd, 0x01, 0x91,
|
||||||
|
0x02, 0x85, 0x38, 0x09, 0x38, 0x96, 0x0d, 0x02, 0x91, 0x02, 0x85, 0x39, 0x09, 0x39, 0x96, 0x22,
|
||||||
|
0x02, 0x91, 0x02, 0x06, 0x80, 0xff, 0x85, 0x05, 0x09, 0x33, 0x95, 0x28, 0xb1, 0x02, 0x85, 0x08,
|
||||||
|
0x09, 0x34, 0x95, 0x2f, 0xb1, 0x02, 0x85, 0x09, 0x09, 0x24, 0x95, 0x13, 0xb1, 0x02, 0x85, 0x20,
|
||||||
|
0x09, 0x26, 0x95, 0x3f, 0xb1, 0x02, 0x85, 0x22, 0x09, 0x40, 0x95, 0x3f, 0xb1, 0x02, 0x85, 0x80,
|
||||||
|
0x09, 0x28, 0x95, 0x3f, 0xb1, 0x02, 0x85, 0x81, 0x09, 0x29, 0x95, 0x3f, 0xb1, 0x02, 0x85, 0x82,
|
||||||
|
0x09, 0x2a, 0x95, 0x09, 0xb1, 0x02, 0x85, 0x83, 0x09, 0x2b, 0x95, 0x3f, 0xb1, 0x02, 0x85, 0xf1,
|
||||||
|
0x09, 0x31, 0x95, 0x3f, 0xb1, 0x02, 0x85, 0xf2, 0x09, 0x32, 0x95, 0x0f, 0xb1, 0x02, 0x85, 0xf0,
|
||||||
|
0x09, 0x30, 0x95, 0x3f, 0xb1, 0x02, 0x85, 0xf4, 0x09, 0x2c, 0x95, 0x3f, 0xb1, 0x02, 0x85, 0xf5,
|
||||||
|
0x09, 0x2d, 0x95, 0x07, 0xb1, 0x02, 0x85, 0xf6, 0x09, 0x2e, 0x96, 0x22, 0x02, 0xb1, 0x02, 0x85,
|
||||||
|
0xf7, 0x09, 0x2f, 0x95, 0x07, 0xb1, 0x02, 0xc0, 0x00
|
||||||
|
};
|
||||||
|
|
||||||
static int uhid_write(int fd, const struct uhid_event *ev)
|
static int uhid_write(int fd, const struct uhid_event *ev)
|
||||||
{
|
{
|
||||||
ssize_t ret;
|
ssize_t ret;
|
||||||
|
|
@ -1055,8 +1078,8 @@ static int create(int fd, bool bluetooth, bool dualsense_edge)
|
||||||
ev.u.create.rd_data = bluetooth ? rdesc_edge_bt : rdesc_edge;
|
ev.u.create.rd_data = bluetooth ? rdesc_edge_bt : rdesc_edge;
|
||||||
ev.u.create.rd_size = bluetooth ? sizeof(rdesc_edge_bt) : sizeof(rdesc_edge);
|
ev.u.create.rd_size = bluetooth ? sizeof(rdesc_edge_bt) : sizeof(rdesc_edge);
|
||||||
} else {
|
} else {
|
||||||
ev.u.create.rd_data = bluetooth ? rdesc_edge_bt : rdesc;
|
ev.u.create.rd_data = bluetooth ? rdesc_bt : rdesc;
|
||||||
ev.u.create.rd_size = bluetooth ? sizeof(rdesc_edge_bt) : sizeof(rdesc);
|
ev.u.create.rd_size = bluetooth ? sizeof(rdesc_bt) : sizeof(rdesc);
|
||||||
}
|
}
|
||||||
|
|
||||||
ev.u.create.bus = bluetooth ? BUS_BLUETOOTH : BUS_USB;
|
ev.u.create.bus = bluetooth ? BUS_BLUETOOTH : BUS_USB;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue