Index: uspace/app/msim/helenos.c
===================================================================
--- uspace/app/msim/helenos.c	(revision 6c942e10a02b225eb8ff89d4c66b0974960f4f4c)
+++ uspace/app/msim/helenos.c	(revision e61aa802b6438793f4a350ef8eec5266ca467d80)
@@ -86,8 +86,3 @@
 }
 
-bool stdin_poll(char *key)
-{
-	// TODO: implement reading from keyboard
-	return false;
-}
 
Index: uspace/app/msim/helenos_input.c
===================================================================
--- uspace/app/msim/helenos_input.c	(revision 6c942e10a02b225eb8ff89d4c66b0974960f4f4c)
+++ uspace/app/msim/helenos_input.c	(revision e61aa802b6438793f4a350ef8eec5266ca467d80)
@@ -84,2 +84,22 @@
 }
 
+
+bool stdin_poll(char *key)
+{
+	kbd_event_t ev;
+	suseconds_t timeout = 0;
+	errno = EOK;
+	console_flush(input_prompt->console);
+	bool has_input = console_get_kbd_event_timeout(input_prompt->console, &ev, &timeout);
+	if (!has_input) {
+		return false;
+	}
+
+	if (ev.type != KEY_PRESS)
+		return false;
+
+	*key = ev.c;
+
+	return true;
+}
+
