Signed-off-by: Matthew Francis <mjay.francis@xxxxxxxxx> --- configure.ac | 2 +- src/vdagentd/uinput.c | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index d92b527..fcb0802 100644 --- a/configure.ac +++ b/configure.ac @@ -87,7 +87,7 @@ AC_ARG_ENABLE([static-uinput], PKG_CHECK_MODULES([GLIB2], [glib-2.0 >= 2.34]) PKG_CHECK_MODULES(X, [xfixes xrandr >= 1.3 xinerama x11]) -PKG_CHECK_MODULES(SPICE, [spice-protocol >= 0.12.13]) +PKG_CHECK_MODULES(SPICE, [spice-protocol >= 0.12.14]) PKG_CHECK_MODULES(ALSA, [alsa >= 1.0.22]) PKG_CHECK_MODULES([DBUS], [dbus-1]) diff --git a/src/vdagentd/uinput.c b/src/vdagentd/uinput.c index e2966c4..33caa19 100644 --- a/src/vdagentd/uinput.c +++ b/src/vdagentd/uinput.c @@ -149,6 +149,7 @@ void vdagentd_uinput_update_size(struct vdagentd_uinput **uinputp, /* wheel */ ioctl(uinput->fd, UI_SET_EVBIT, EV_REL); ioctl(uinput->fd, UI_SET_RELBIT, REL_WHEEL); + ioctl(uinput->fd, UI_SET_RELBIT, REL_HWHEEL); /* abs ptr */ ioctl(uinput->fd, UI_SET_EVBIT, EV_ABS); @@ -198,6 +199,10 @@ void vdagentd_uinput_do_mouse(struct vdagentd_uinput **uinputp, { .name = "up", .mask = VD_AGENT_UBUTTON_MASK, .btn = 1 }, { .name = "down", .mask = VD_AGENT_DBUTTON_MASK, .btn = -1 }, }; + static const struct button_s hwheel[] = { + { .name = "left", .mask = VD_AGENT_WLBUTTON_MASK, .btn = 1 }, + { .name = "right", .mask = VD_AGENT_WRBUTTON_MASK, .btn = -1 }, + }; int i, down; if (*uinputp) { @@ -247,6 +252,16 @@ void vdagentd_uinput_do_mouse(struct vdagentd_uinput **uinputp, uinput_send_event(uinputp, EV_REL, REL_WHEEL, wheel[i].btn); } } + for (i = 0; i < sizeof(hwheel)/sizeof(hwheel[0]) && *uinputp; i++) { + if ((uinput->last.buttons & hwheel[i].mask) == + (mouse->buttons & hwheel[i].mask)) + continue; + if (mouse->buttons & hwheel[i].mask) { + if (uinput->debug) + syslog(LOG_DEBUG, "mouse: hwheel-%s", hwheel[i].name); + uinput_send_event(uinputp, EV_REL, REL_HWHEEL, hwheel[i].btn); + } + } if (*uinputp) { if (uinput->debug) -- 2.7.4 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel