Index: uspace/lib/ui/include/types/ui/popup.h
===================================================================
--- uspace/lib/ui/include/types/ui/popup.h	(revision 3be53668a72d42907f6124a3b95374fde7f15a53)
+++ uspace/lib/ui/include/types/ui/popup.h	(revision b076dfbb9aa63d562c009d67d8e9dd2d06e4b795)
@@ -1,4 +1,4 @@
 /*
- * Copyright (c) 2021 Jiri Svoboda
+ * Copyright (c) 2023 Jiri Svoboda
  * All rights reserved.
  *
@@ -40,4 +40,5 @@
 #include <io/kbd_event.h>
 #include <io/pos_event.h>
+#include <types/common.h>
 
 struct ui_popup;
@@ -50,4 +51,6 @@
 	/** Placement rectangle close to which popup should be placed */
 	gfx_rect_t place;
+	/** Input device ID associated with the popup's seat */
+	sysarg_t idev_id;
 } ui_popup_params_t;
 
Index: uspace/lib/ui/include/types/ui/window.h
===================================================================
--- uspace/lib/ui/include/types/ui/window.h	(revision 3be53668a72d42907f6124a3b95374fde7f15a53)
+++ uspace/lib/ui/include/types/ui/window.h	(revision b076dfbb9aa63d562c009d67d8e9dd2d06e4b795)
@@ -89,4 +89,6 @@
 	/** Parent rectangle for popup windows */
 	gfx_rect_t prect;
+	/** Input device associated with the window's seat */
+	sysarg_t idev_id;
 } ui_wnd_params_t;
 
Index: uspace/lib/ui/include/ui/menu.h
===================================================================
--- uspace/lib/ui/include/ui/menu.h	(revision 3be53668a72d42907f6124a3b95374fde7f15a53)
+++ uspace/lib/ui/include/ui/menu.h	(revision b076dfbb9aa63d562c009d67d8e9dd2d06e4b795)
@@ -1,4 +1,4 @@
 /*
- * Copyright (c) 2022 Jiri Svoboda
+ * Copyright (c) 2023 Jiri Svoboda
  * All rights reserved.
  *
@@ -42,4 +42,5 @@
 #include <io/pos_event.h>
 #include <stdbool.h>
+#include <types/common.h>
 #include <types/ui/menu.h>
 #include <types/ui/menubar.h>
@@ -56,5 +57,5 @@
 extern void ui_menu_get_rect(ui_menu_t *, gfx_coord2_t *, gfx_rect_t *);
 extern char32_t ui_menu_get_accel(ui_menu_t *);
-extern errno_t ui_menu_open(ui_menu_t *, gfx_rect_t *);
+extern errno_t ui_menu_open(ui_menu_t *, gfx_rect_t *, sysarg_t);
 extern void ui_menu_close(ui_menu_t *);
 extern bool ui_menu_is_open(ui_menu_t *);
Index: uspace/lib/ui/include/ui/menubar.h
===================================================================
--- uspace/lib/ui/include/ui/menubar.h	(revision 3be53668a72d42907f6124a3b95374fde7f15a53)
+++ uspace/lib/ui/include/ui/menubar.h	(revision b076dfbb9aa63d562c009d67d8e9dd2d06e4b795)
@@ -1,4 +1,4 @@
 /*
- * Copyright (c) 2022 Jiri Svoboda
+ * Copyright (c) 2023 Jiri Svoboda
  * All rights reserved.
  *
@@ -40,4 +40,5 @@
 #include <gfx/coord.h>
 #include <io/pos_event.h>
+#include <types/common.h>
 #include <types/ui/menubar.h>
 #include <types/ui/control.h>
@@ -56,5 +57,5 @@
 extern ui_evclaim_t ui_menu_bar_kbd_event(ui_menu_bar_t *, kbd_event_t *);
 extern ui_evclaim_t ui_menu_bar_pos_event(ui_menu_bar_t *, pos_event_t *);
-extern void ui_menu_bar_press_accel(ui_menu_bar_t *, char32_t);
+extern void ui_menu_bar_press_accel(ui_menu_bar_t *, char32_t, sysarg_t);
 extern void ui_menu_bar_unfocus(ui_menu_bar_t *);
 extern void ui_menu_bar_activate(ui_menu_bar_t *);
