From c835993ac37e520ccded19cffd8605d8c7cca455 Mon Sep 17 00:00:00 2001 From: Sebastian Sumpf Date: Thu, 22 Jun 2023 19:56:36 +0200 Subject: [PATCH] lx_emul: add wheel events to shadow evdev.c issue #4958 --- .../src/lib/lx_emul/shadow/drivers/input/evdev.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/repos/dde_linux/src/lib/lx_emul/shadow/drivers/input/evdev.c b/repos/dde_linux/src/lib/lx_emul/shadow/drivers/input/evdev.c index 0c479234da..71931e71a0 100644 --- a/repos/dde_linux/src/lib/lx_emul/shadow/drivers/input/evdev.c +++ b/repos/dde_linux/src/lib/lx_emul/shadow/drivers/input/evdev.c @@ -36,8 +36,15 @@ static void submit_rel_motion(struct genode_event_submit *submit, unsigned code, int value) { switch (code) { - case REL_X: submit->rel_motion(submit, value, 0); break; - case REL_Y: submit->rel_motion(submit, 0, value); break; + case REL_X: submit->rel_motion(submit, value, 0); break; + case REL_Y: submit->rel_motion(submit, 0, value); break; + + case REL_HWHEEL: submit->wheel(submit, value, 0); break; + case REL_WHEEL: submit->wheel(submit, 0, value); break; + + /* skip for now because of large values */ + case REL_HWHEEL_HI_RES: break; + case REL_WHEEL_HI_RES: break; default: printk("Unsupported relative motion event code=%d dropped\n", code); @@ -70,6 +77,7 @@ static void evdev_event_generator(struct genode_event_generator_ctx *ctx, struct genode_event_submit *submit) { int i; + for (i = 0; i < ctx->count; i++) { unsigned const type = ctx->values[i].type; unsigned const code = ctx->values[i].code;