Index: uspace/srv/kbd/port/dummy.c
===================================================================
--- uspace/srv/kbd/port/dummy.c	(revision 6ac14a70ed101ee9fa8379a5f9ef15a38f08aec5)
+++ uspace/srv/kbd/port/dummy.c	(revision 040f5c1163ef400d3cb34a43ec984d7c5000d1fc)
@@ -51,4 +51,9 @@
 }
 
+void kbd_port_write(uint8_t data)
+{
+	(void) data;
+}
+
 /** @}
 */
Index: uspace/srv/kbd/port/gxemul.c
===================================================================
--- uspace/srv/kbd/port/gxemul.c	(revision 6ac14a70ed101ee9fa8379a5f9ef15a38f08aec5)
+++ uspace/srv/kbd/port/gxemul.c	(revision 040f5c1163ef400d3cb34a43ec984d7c5000d1fc)
@@ -78,4 +78,9 @@
 }
 
+void kbd_port_write(uint8_t data)
+{
+	(void) data;
+}
+
 /** Process data sent when a key is pressed.
  *  
Index: uspace/srv/kbd/port/i8042.c
===================================================================
--- uspace/srv/kbd/port/i8042.c	(revision 6ac14a70ed101ee9fa8379a5f9ef15a38f08aec5)
+++ uspace/srv/kbd/port/i8042.c	(revision 040f5c1163ef400d3cb34a43ec984d7c5000d1fc)
@@ -160,4 +160,10 @@
 }
 
+void kbd_port_write(uint8_t data)
+{
+	pio_write_8(&i8042->data, data);
+	wait_ready();
+}
+
 static void i8042_irq_handler(ipc_callid_t iid, ipc_call_t *call)
 {
Index: uspace/srv/kbd/port/msim.c
===================================================================
--- uspace/srv/kbd/port/msim.c	(revision 6ac14a70ed101ee9fa8379a5f9ef15a38f08aec5)
+++ uspace/srv/kbd/port/msim.c	(revision 040f5c1163ef400d3cb34a43ec984d7c5000d1fc)
@@ -78,4 +78,9 @@
 }
 
+void kbd_port_write(uint8_t data)
+{
+	(void) data;
+}
+
 static void msim_irq_handler(ipc_callid_t iid, ipc_call_t *call)
 {
Index: uspace/srv/kbd/port/pl050.c
===================================================================
--- uspace/srv/kbd/port/pl050.c	(revision 6ac14a70ed101ee9fa8379a5f9ef15a38f08aec5)
+++ uspace/srv/kbd/port/pl050.c	(revision 040f5c1163ef400d3cb34a43ec984d7c5000d1fc)
@@ -102,4 +102,9 @@
 }
 
+void kbd_port_write(uint8_t data)
+{
+	(void) data;
+}
+
 static void pl050_irq_handler(ipc_callid_t iid, ipc_call_t *call)
 {
Index: uspace/srv/kbd/port/sgcn.c
===================================================================
--- uspace/srv/kbd/port/sgcn.c	(revision 6ac14a70ed101ee9fa8379a5f9ef15a38f08aec5)
+++ uspace/srv/kbd/port/sgcn.c	(revision 040f5c1163ef400d3cb34a43ec984d7c5000d1fc)
@@ -133,4 +133,9 @@
 }
 
+void kbd_port_write(uint8_t data)
+{
+	(void) data;
+}
+
 /**
  * Handler of the "key pressed" event. Reads codes of all the pressed keys from
Index: uspace/srv/kbd/port/ski.c
===================================================================
--- uspace/srv/kbd/port/ski.c	(revision 6ac14a70ed101ee9fa8379a5f9ef15a38f08aec5)
+++ uspace/srv/kbd/port/ski.c	(revision 040f5c1163ef400d3cb34a43ec984d7c5000d1fc)
@@ -78,4 +78,9 @@
 }
 
+void kbd_port_write(uint8_t data)
+{
+	(void) data;
+}
+
 /** Thread to poll Ski for keypresses. */
 static void *ski_thread_impl(void *arg)
Index: uspace/srv/kbd/port/sun.c
===================================================================
--- uspace/srv/kbd/port/sun.c	(revision 6ac14a70ed101ee9fa8379a5f9ef15a38f08aec5)
+++ uspace/srv/kbd/port/sun.c	(revision 040f5c1163ef400d3cb34a43ec984d7c5000d1fc)
@@ -71,4 +71,9 @@
 }
 
+void kbd_port_write(uint8_t data)
+{
+	(void) data;
+}
+
 /** @}
 */
