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: