summaryrefslogtreecommitdiff
path: root/protocol/iwrap/iwrap.c
diff options
context:
space:
mode:
Diffstat (limited to 'protocol/iwrap/iwrap.c')
-rw-r--r--protocol/iwrap/iwrap.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/protocol/iwrap/iwrap.c b/protocol/iwrap/iwrap.c
index 3cc9ca3061..6a404116a1 100644
--- a/protocol/iwrap/iwrap.c
+++ b/protocol/iwrap/iwrap.c
@@ -334,8 +334,8 @@ static void send_keyboard(report_keyboard_t *report)
// HID raw mode header
xmit(0x9f);
xmit(0x0a); // Length
- xmit(0xa1); // keyboard report
- xmit(0x01);
+ xmit(0xa1); // DATA(Input)
+ xmit(0x01); // Report ID
xmit(report->mods);
xmit(0x00); // reserved byte(always 0)
xmit(report->keys[0]);
@@ -351,15 +351,17 @@ static void send_mouse(report_mouse_t *report)
{
#if defined(MOUSEKEY_ENABLE) || defined(PS2_MOUSE_ENABLE)
if (!iwrap_connected() && !iwrap_check_connection()) return;
- MUX_HEADER(0x01, 0x07);
+ MUX_HEADER(0x01, 0x09);
// HID raw mode header
xmit(0x9f);
- xmit(0x05); // Length
- xmit(0xa1); // mouse report
- xmit(0x02);
+ xmit(0x07); // Length
+ xmit(0xa1); // DATA(Input)
+ xmit(0x02); // Report ID
xmit(report->buttons);
xmit(report->x);
xmit(report->y);
+ xmit(report->v);
+ xmit(report->h);
MUX_FOOTER(0x01);
#endif
}
@@ -457,8 +459,8 @@ static void send_consumer(uint16_t data)
MUX_HEADER(0x01, 0x07);
xmit(0x9f);
xmit(0x05); // Length
- xmit(0xa1); // consumer report
- xmit(0x03);
+ xmit(0xa1); // DATA(Input)
+ xmit(0x03); // Report ID
xmit(bits1);
xmit(bits2);
xmit(bits3);