Index: uspace/lib/ui/src/filedialog.c
===================================================================
--- uspace/lib/ui/src/filedialog.c	(revision 86031458bce304574a7f1c131610ac0ca01e169e)
+++ uspace/lib/ui/src/filedialog.c	(revision 6c0766bd6d28fdd724ec6fc91a5f8bc38bbbd3f7)
@@ -48,7 +48,9 @@
 
 static void ui_file_dialog_wnd_close(ui_window_t *, void *);
+static void ui_file_dialog_wnd_kbd(ui_window_t *, void *, kbd_event_t *);
 
 ui_window_cb_t ui_file_dialog_wnd_cb = {
-	.close = ui_file_dialog_wnd_close
+	.close = ui_file_dialog_wnd_close,
+	.kbd = ui_file_dialog_wnd_kbd
 };
 
@@ -310,4 +312,37 @@
 }
 
+/** File dialog window keyboard event handler.
+ *
+ * @param window Window
+ * @param arg Argument (ui_prompt_dialog_t *)
+ * @param event Keyboard event
+ */
+static void ui_file_dialog_wnd_kbd(ui_window_t *window, void *arg,
+    kbd_event_t *event)
+{
+	ui_file_dialog_t *dialog = (ui_file_dialog_t *) arg;
+	const char *fname;
+
+	if (event->type == KEY_PRESS &&
+	    (event->mods & (KM_CTRL | KM_SHIFT | KM_ALT)) == 0) {
+		if (event->key == KC_ENTER) {
+			/* Confirm */
+			if (dialog->cb != NULL && dialog->cb->bok != NULL) {
+				fname = ui_entry_get_text(dialog->ename);
+				dialog->cb->bok(dialog, dialog->arg, fname);
+				return;
+			}
+		} else if (event->key == KC_ESCAPE) {
+			/* Cancel */
+			if (dialog->cb != NULL && dialog->cb->bcancel != NULL) {
+				dialog->cb->bcancel(dialog, dialog->arg);
+				return;
+			}
+		}
+	}
+
+	ui_window_def_kbd(window, event);
+}
+
 /** File dialog OK button click handler.
  *
Index: uspace/lib/ui/src/promptdialog.c
===================================================================
--- uspace/lib/ui/src/promptdialog.c	(revision 86031458bce304574a7f1c131610ac0ca01e169e)
+++ uspace/lib/ui/src/promptdialog.c	(revision 6c0766bd6d28fdd724ec6fc91a5f8bc38bbbd3f7)
@@ -48,7 +48,9 @@
 
 static void ui_prompt_dialog_wnd_close(ui_window_t *, void *);
+static void ui_prompt_dialog_wnd_kbd(ui_window_t *, void *, kbd_event_t *);
 
 ui_window_cb_t ui_prompt_dialog_wnd_cb = {
-	.close = ui_prompt_dialog_wnd_close
+	.close = ui_prompt_dialog_wnd_close,
+	.kbd = ui_prompt_dialog_wnd_kbd
 };
 
@@ -310,4 +312,37 @@
 }
 
+/** Prompt dialog window keyboard event handler.
+ *
+ * @param window Window
+ * @param arg Argument (ui_prompt_dialog_t *)
+ * @param event Keyboard event
+ */
+static void ui_prompt_dialog_wnd_kbd(ui_window_t *window, void *arg,
+    kbd_event_t *event)
+{
+	ui_prompt_dialog_t *dialog = (ui_prompt_dialog_t *) arg;
+	const char *fname;
+
+	if (event->type == KEY_PRESS &&
+	    (event->mods & (KM_CTRL | KM_SHIFT | KM_ALT)) == 0) {
+		if (event->key == KC_ENTER) {
+			/* Confirm */
+			if (dialog->cb != NULL && dialog->cb->bok != NULL) {
+				fname = ui_entry_get_text(dialog->ename);
+				dialog->cb->bok(dialog, dialog->arg, fname);
+				return;
+			}
+		} else if (event->key == KC_ESCAPE) {
+			/* Cancel */
+			if (dialog->cb != NULL && dialog->cb->bcancel != NULL) {
+				dialog->cb->bcancel(dialog, dialog->arg);
+				return;
+			}
+		}
+	}
+
+	ui_window_def_kbd(window, event);
+}
+
 /** Prompt dialog OK button click handler.
  *
