Index: uspace/srv/kbd/include/key_buffer.h
===================================================================
--- uspace/srv/kbd/include/key_buffer.h	(revision 5d4e90f0ebfd5bd2cbfa4358e49bfb1691a813f5)
+++ uspace/srv/kbd/include/key_buffer.h	(revision 06da55b579d4404672ea2a8664146ec81c2b9df2)
@@ -39,4 +39,5 @@
 
 #include <sys/types.h>
+#include <kbd/kbd.h>
 
 /** Size of buffer for pressed keys */
@@ -44,5 +45,5 @@
 
 typedef struct {
-	int fifo[KEYBUFFER_SIZE];
+	kbd_event_t fifo[KEYBUFFER_SIZE];
 	unsigned long head;
 	unsigned long tail;
@@ -50,10 +51,11 @@
 } keybuffer_t;
 
-void keybuffer_free(keybuffer_t *keybuffer);
-void keybuffer_init(keybuffer_t *keybuffer);
-int keybuffer_available(keybuffer_t *keybuffer);
-int keybuffer_empty(keybuffer_t *keybuffer);
-void keybuffer_push(keybuffer_t *keybuffer, int key);
-int keybuffer_pop(keybuffer_t *keybuffer, int *c);
+extern void keybuffer_free(keybuffer_t *);
+extern void keybuffer_init(keybuffer_t *);
+extern int keybuffer_available(keybuffer_t *);
+extern int keybuffer_empty(keybuffer_t *);
+extern void keybuffer_push(keybuffer_t *, const kbd_event_t *);
+extern void keybuffer_push0(keybuffer_t *, int c);
+extern int keybuffer_pop(keybuffer_t *, kbd_event_t *);
 
 #endif
Index: uspace/srv/kbd/include/keys.h
===================================================================
--- uspace/srv/kbd/include/keys.h	(revision 5d4e90f0ebfd5bd2cbfa4358e49bfb1691a813f5)
+++ uspace/srv/kbd/include/keys.h	(revision 06da55b579d4404672ea2a8664146ec81c2b9df2)
@@ -38,9 +38,9 @@
 #define _KBD_KEYS_H_
 
-#define KBD_PUSHCHAR    1024
-#define KBD_MS_LEFT     1025
-#define KBD_MS_RIGHT    1026
-#define KBD_MS_MIDDLE   1027
-#define KBD_MS_MOVE     1028
+#define KBD_EVENT	1024
+#define KBD_MS_LEFT	1025
+#define KBD_MS_RIGHT	1026
+#define KBD_MS_MIDDLE	1027
+#define KBD_MS_MOVE	1028
 
 #define KBD_KEY_F1	0x3b
