committed by
Norman Feske
parent
fb40ccb986
commit
26926d2687
@@ -35,9 +35,7 @@ struct Input::Remap
|
|||||||
/*
|
/*
|
||||||
* Input session provided by our parent
|
* Input session provided by our parent
|
||||||
*/
|
*/
|
||||||
Input::Session_client parent_input
|
Input::Connection parent_input { env };
|
||||||
{ env.parent().session<Input::Session>("ram_quota=16K") };
|
|
||||||
Genode::Attached_dataspace input_dataspace { parent_input.dataspace() };
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Input session provided to our client
|
* Input session provided to our client
|
||||||
@@ -52,18 +50,13 @@ struct Input::Remap
|
|||||||
|
|
||||||
void event_flush()
|
void event_flush()
|
||||||
{
|
{
|
||||||
Input::Event const * const events =
|
parent_input.for_each_event([&] (Event const &e) {
|
||||||
input_dataspace.local_addr<Input::Event>();
|
|
||||||
|
|
||||||
unsigned const num = parent_input.flush();
|
|
||||||
for (unsigned i = 0; i < num; i++) {
|
|
||||||
Event e = events[i];
|
|
||||||
if ((e.type() == Event::PRESS) || (e.type() == Event::RELEASE))
|
if ((e.type() == Event::PRESS) || (e.type() == Event::RELEASE))
|
||||||
input_session_component.submit(Event(
|
input_session_component.submit(Event(
|
||||||
e.type(), code_map[e.code()], e.ax(), e.ay(), e.rx(), e.ry()));
|
e.type(), code_map[e.code()], e.ax(), e.ay(), e.rx(), e.ry()));
|
||||||
else
|
else
|
||||||
input_session_component.submit(e);
|
input_session_component.submit(e);
|
||||||
}
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
Genode::Signal_handler<Remap> event_flusher
|
Genode::Signal_handler<Remap> event_flusher
|
||||||
@@ -129,12 +122,6 @@ struct Input::Remap
|
|||||||
|
|
||||||
env.parent().announce(env.ep().manage(input_root));
|
env.parent().announce(env.ep().manage(input_root));
|
||||||
}
|
}
|
||||||
|
|
||||||
~Remap()
|
|
||||||
{
|
|
||||||
env.parent().close(parent_input);
|
|
||||||
}
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user