Index: uspace/lib/input/include/io/kbd_event.h
===================================================================
--- uspace/lib/input/include/io/kbd_event.h	(revision d05c2377b4a3f7c8e4909dd03fadff4954375186)
+++ uspace/lib/input/include/io/kbd_event.h	(revision b2c9e42c92bb4e1fad2a740a731e7d1095ca66e6)
@@ -1,4 +1,4 @@
 /*
- * Copyright (c) 2022 Jiri Svoboda
+ * Copyright (c) 2024 Jiri Svoboda
  * All rights reserved.
  *
@@ -36,5 +36,4 @@
 #define _LIBINPUT_IO_KBD_EVENT_H_
 
-#include <adt/list.h>
 #include <inttypes.h>
 #include <io/keycode.h>
@@ -48,7 +47,4 @@
 /** Console event structure. */
 typedef struct {
-	/** List handle */
-	link_t link;
-
 	/** Keyboard device ID */
 	sysarg_t kbd_id;
Index: uspace/lib/ui/include/types/ui/testctl.h
===================================================================
--- uspace/lib/ui/include/types/ui/testctl.h	(revision d05c2377b4a3f7c8e4909dd03fadff4954375186)
+++ uspace/lib/ui/include/types/ui/testctl.h	(revision b2c9e42c92bb4e1fad2a740a731e7d1095ca66e6)
@@ -1,4 +1,4 @@
 /*
- * Copyright (c) 2023 Jiri Svoboda
+ * Copyright (c) 2024 Jiri Svoboda
  * All rights reserved.
  *
@@ -36,4 +36,10 @@
 #ifndef _UI_TYPES_TESTCTL_H
 #define _UI_TYPES_TESTCTL_H
+
+#include <errno.h>
+#include <io/kbd_event.h>
+#include <io/pos_event.h>
+#include <stdbool.h>
+#include <types/ui/event.h>
 
 struct ui_test_ctl;
Index: uspace/srv/hid/remcons/remcons.c
===================================================================
--- uspace/srv/hid/remcons/remcons.c	(revision d05c2377b4a3f7c8e4909dd03fadff4954375186)
+++ uspace/srv/hid/remcons/remcons.c	(revision b2c9e42c92bb4e1fad2a740a731e7d1095ca66e6)
@@ -348,15 +348,15 @@
  * @param c Pressed character.
  */
-static kbd_event_t *new_kbd_event(kbd_event_type_t type, keymod_t mods,
+static remcons_event_t *new_kbd_event(kbd_event_type_t type, keymod_t mods,
     keycode_t key, char c)
 {
-	kbd_event_t *event = malloc(sizeof(kbd_event_t));
+	remcons_event_t *event = malloc(sizeof(remcons_event_t));
 	assert(event);
 
 	link_initialize(&event->link);
-	event->type = type;
-	event->mods = mods;
-	event->key = key;
-	event->c = c;
+	event->kbd.type = type;
+	event->kbd.mods = mods;
+	event->kbd.key = key;
+	event->kbd.c = c;
 
 	return event;
@@ -381,8 +381,8 @@
 
 	link_t *link = prodcons_consume(&remcons->in_events);
-	kbd_event_t *tmp = list_get_instance(link, kbd_event_t, link);
+	remcons_event_t *tmp = list_get_instance(link, remcons_event_t, link);
 
 	event->type = CEV_KEY;
-	event->ev.key = *tmp;
+	event->ev.key = tmp->kbd;
 
 	free(tmp);
@@ -587,6 +587,6 @@
 	remcons_t *remcons = (remcons_t *)arg;
 
-	kbd_event_t *down = new_kbd_event(KEY_PRESS, mods, key, c);
-	kbd_event_t *up = new_kbd_event(KEY_RELEASE, mods, key, c);
+	remcons_event_t *down = new_kbd_event(KEY_PRESS, mods, key, c);
+	remcons_event_t *up = new_kbd_event(KEY_RELEASE, mods, key, c);
 	assert(down);
 	assert(up);
Index: uspace/srv/hid/remcons/remcons.h
===================================================================
--- uspace/srv/hid/remcons/remcons.h	(revision d05c2377b4a3f7c8e4909dd03fadff4954375186)
+++ uspace/srv/hid/remcons/remcons.h	(revision b2c9e42c92bb4e1fad2a740a731e7d1095ca66e6)
@@ -38,4 +38,5 @@
 
 #include <adt/prodcons.h>
+#include <io/kbd_event.h>
 #include <stdbool.h>
 #include <vt/vt100.h>
@@ -56,7 +57,13 @@
 	bool curs_visible;	/**< cursor is visible */
 
-	/** Producer-consumer of kbd_event_t. */
+	/** Producer-consumer of remcons_event_t. */
 	prodcons_t in_events;
 } remcons_t;
+
+/** Remote console event */
+typedef struct {
+	link_t link;		/**< link to list of events */
+	kbd_event_t kbd;	/**< keyboard event */
+} remcons_event_t;
 
 #endif
