sleep and/or keyboard listen
ttcoder at netcourrier.com
ttcoder at netcourrier.com
Sun Oct 17 15:49:32 CEST 2021
Indeed, and I have found that this article helped me to improve my code:
http://genodians.org/m-stein/2021-05-31-a-short-guide-to-the-timer-session-interface
But if you're specifically after keyboard/mouse input, you'll probably want to do it with a 'sigh' instead of with polling: install a sigh (signal handler) for keyboard events, and implement its hook function ; e.g. I have this in my code:
class hog::InputBridger
{
private: // Code
void handleOneEvent(
const Input::Event & ev
);
Genode::Entrypoint localEp; // Genode thread dedicated to the sigh
Genode::Signal_handler<InputBridger>
inputHandler;
}
void hog::InputBridger::handleInput()
{
serverInput.for_each_event(
[&] ( Input::Event const & ev )
...
... (handle mouse and keyboard events here)
}
ctor:
serverInput.sigh( inputHandler );
Grepping the genode "repos/" folder will yield lots of examples.
Cedric
You can wait by getting a Timer::Connection and using either the msleep() or usleep() method, depending on whether you have ms or us.
On Thu, Oct 14, 2021, 10:10 AM Kevin Burton <kevin.burton at tum.de> wrote:
Hello Genodians,
is it possible to have the main thread either sleep for a specific
amount of time or have it wait for a keyboard input? If yes, how would I
go about implementing it?
I have read online that the Timer service is in charge of sleeps, but I
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.genode.org/pipermail/users/attachments/20211017/ac5e8e63/attachment.html>
More information about the users
mailing list