For unknown reasons, Windows drivers (tested with XP and Win7) ignore usb-tablet events that move the pointer to 0/0. So always set bit 0 of the coordinates.
Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> --- hw/usb-hid.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) diff --git a/hw/usb-hid.c b/hw/usb-hid.c index d711b5c..2b9a451 100644 --- a/hw/usb-hid.c +++ b/hw/usb-hid.c @@ -457,8 +457,10 @@ static void usb_pointer_event_combine(USBPointerEvent *e, int xyrel, e->xdx += x1; e->ydy += y1; } else { - e->xdx = x1; - e->ydy = y1; + /* Windows drivers do not like the 0/0 position and ignore such + * events. */ + e->xdx = x1 | 1; + e->ydy = y1 | 1; } e->dz += z1; }