Index: uspace/srv/kbd/port/sgcn.c
===================================================================
--- uspace/srv/kbd/port/sgcn.c	(revision ccd1a14e21fb8efa476a06bf841a6d8d784c11a8)
+++ uspace/srv/kbd/port/sgcn.c	(revision 409b0d6946674009a182db86b1ec6b897b5b9ed7)
@@ -43,4 +43,5 @@
 #include <stdio.h>
 #include <thread.h>
+#include <bool.h>
 
 #define POLL_INTERVAL		10000
@@ -93,4 +94,5 @@
 static void *sgcn_thread_impl(void *arg);
 
+static volatile bool polling_disabled = false;
 
 /**
@@ -123,8 +125,10 @@
 void kbd_port_yield(void)
 {
+	polling_disabled = true;
 }
 
 void kbd_port_reclaim(void)
 {
+	polling_disabled = false;
 }
 
@@ -163,10 +167,10 @@
 
 	while (1) {
-		sgcn_key_pressed();
+		if (polling_disabled == false)
+			sgcn_key_pressed();
 		usleep(POLL_INTERVAL);
 	}
 }
 
-
 /** @}
  */
