diff --git a/repos/os/include/genode_c_api/event.h b/repos/os/include/genode_c_api/event.h index 826f68965a..5c74e7d0ee 100644 --- a/repos/os/include/genode_c_api/event.h +++ b/repos/os/include/genode_c_api/event.h @@ -77,6 +77,8 @@ struct genode_event_submit struct genode_event_touch_args const *); void (*touch_release) (struct genode_event_submit *, unsigned finger); + + void (*wheel) (struct genode_event_submit *, int x, int y); }; diff --git a/repos/os/src/lib/genode_c_api/event.cc b/repos/os/src/lib/genode_c_api/event.cc index 87834ad32f..7d0861b311 100644 --- a/repos/os/src/lib/genode_c_api/event.cc +++ b/repos/os/src/lib/genode_c_api/event.cc @@ -109,6 +109,12 @@ namespace { batch.submit(Input::Touch_release { id }); }); } + static void _wheel(struct genode_event_submit *myself, int x, int y) + { + _with_batch(myself, [&] (Event::Session_client::Batch &batch) { + batch.submit(Input::Wheel { x, y }); }); + } + Submit(Event::Session_client::Batch &batch) : batch(batch) @@ -118,6 +124,7 @@ namespace { rel_motion = _rel_motion; touch = _touch; touch_release = _touch_release; + wheel = _wheel; }; };