[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 3/3] input: virtio: don't send mouse wheel event twi
From: |
Miika S |
Subject: |
[Qemu-devel] [PATCH 3/3] input: virtio: don't send mouse wheel event twice |
Date: |
Fri, 22 Dec 2017 17:25:31 +0200 |
On Linux, a mouse event is generated for both down and up when mouse
wheel is used. This caused virtio_input_send() to be called twice each
time the wheel was used.
This commit adds a check for the button down state and only calls
virtio_input_send() when it is true.
Signed-off-by: Miika S <address@hidden>
---
hw/input/virtio-input-hid.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/hw/input/virtio-input-hid.c b/hw/input/virtio-input-hid.c
index 2cac659469..587616a932 100644
--- a/hw/input/virtio-input-hid.c
+++ b/hw/input/virtio-input-hid.c
@@ -225,8 +225,10 @@ static void virtio_input_handle_event(DeviceState *dev,
QemuConsole *src,
break;
case INPUT_EVENT_KIND_BTN:
btn = evt->u.btn.data;
- if (vhid->wheel_axis && (btn->button == INPUT_BUTTON_WHEEL_UP ||
- btn->button == INPUT_BUTTON_WHEEL_DOWN)) {
+ if (vhid->wheel_axis &&
+ (btn->button == INPUT_BUTTON_WHEEL_UP ||
+ btn->button == INPUT_BUTTON_WHEEL_DOWN) &&
+ btn->down) {
event.type = cpu_to_le16(EV_REL);
event.code = cpu_to_le16(REL_WHEEL);
event.value = cpu_to_le32(btn->button == INPUT_BUTTON_WHEEL_UP
--
2.15.1