25 lines
757 B
Diff
25 lines
757 B
Diff
|
diff --git a/input/device.c b/input/device.c
|
||
|
index 0090bd4..8d65148 100644
|
||
|
--- a/input/device.c
|
||
|
+++ b/input/device.c
|
||
|
@@ -658,6 +658,19 @@ static int hidp_add_connection(const struct input_device *idev,
|
||
|
err = write(sk, buf, sizeof(buf));
|
||
|
}
|
||
|
|
||
|
+ if (req->vendor == 0x056a && req->product == 0x81) {
|
||
|
+ unsigned char buf[3];
|
||
|
+ int sk = g_io_channel_unix_get_fd(iconn->ctrl_io);
|
||
|
+
|
||
|
+ buf[0] = 0x53; /* HIDP_TRANS_SET_REPORT | HIDP_DATA_RTYPE_FEATURE */
|
||
|
+ buf[1] = 0x03; buf[2] = 0x00;
|
||
|
+ write(sk, buf, sizeof(buf));
|
||
|
+
|
||
|
+ buf[0] = 0x71; /* HIDP_TRANS_SET_REPORT | HIDP_DATA_RTYPE_FEATURE */
|
||
|
+ /* 0x06 - high reporting speed, 0x05 - low speed */
|
||
|
+ buf[1] = 0x06; buf[2] = 0x00;
|
||
|
+ write(sk, buf, sizeof(buf));
|
||
|
+ }
|
||
|
err = ioctl_connadd(req);
|
||
|
|
||
|
cleanup:
|