Index: uspace/drv/char/i8042/i8042.c
===================================================================
--- uspace/drv/char/i8042/i8042.c	(revision b9cc81c6f6886a6f07ec226630e9eaac6dd135c8)
+++ uspace/drv/char/i8042/i8042.c	(revision 0db0df2acaf79a846301b8337ca8d67aee9c1f18)
@@ -1,6 +1,6 @@
 /*
+ * Copyright (c) 2025 Jiri Svoboda
  * Copyright (c) 2001-2004 Jakub Jermar
  * Copyright (c) 2006 Josef Cejka
- * Copyright (c) 2021 Jiri Svoboda
  * Copyright (c) 2011 Jan Vesely
  * All rights reserved.
@@ -346,4 +346,17 @@
 }
 
+/** Quiesce i8042.
+ *
+ * @param dev i8042 instance.
+ */
+void i8042_quiesce(i8042_t *dev)
+{
+	/* Disable port interrupts. */
+	wait_ready(dev);
+	pio_write_8(&dev->regs->status, i8042_CMD_WRITE_CMDB);
+	wait_ready(dev);
+	pio_write_8(&dev->regs->data, i8042_KBD_TRANSLATE);
+}
+
 /** Write data to i8042 port.
  *
Index: uspace/drv/char/i8042/i8042.h
===================================================================
--- uspace/drv/char/i8042/i8042.h	(revision b9cc81c6f6886a6f07ec226630e9eaac6dd135c8)
+++ uspace/drv/char/i8042/i8042.h	(revision 0db0df2acaf79a846301b8337ca8d67aee9c1f18)
@@ -1,4 +1,4 @@
 /*
- * Copyright (c) 2024 Jiri Svoboda
+ * Copyright (c) 2025 Jiri Svoboda
  * Copyright (c) 2006 Josef Cejka
  * Copyright (c) 2011 Jan Vesely
@@ -95,4 +95,5 @@
 
 extern errno_t i8042_init(i8042_t *, addr_range_t *, int, int, ddf_dev_t *);
+extern void i8042_quiesce(i8042_t *);
 
 #endif
Index: uspace/drv/char/i8042/main.c
===================================================================
--- uspace/drv/char/i8042/main.c	(revision b9cc81c6f6886a6f07ec226630e9eaac6dd135c8)
+++ uspace/drv/char/i8042/main.c	(revision 0db0df2acaf79a846301b8337ca8d67aee9c1f18)
@@ -1,3 +1,4 @@
 /*
+ * Copyright (c) 2025 Jiri Svoboda
  * Copyright (c) 2011 Jan Vesely
  * All rights reserved.
@@ -135,7 +136,26 @@
 }
 
+/** Initialize a new ddf driver instance of i8042 driver
+ *
+ * @param[in] device DDF instance of the device to initialize.
+ *
+ * @return Error code.
+ *
+ */
+static errno_t i8042_dev_quiesce(ddf_dev_t *device)
+{
+	i8042_t *i8042;
+
+	ddf_msg(LVL_DEBUG, "i8042_dev_quiesce()");
+
+	i8042 = (i8042_t *)ddf_dev_data_get(device);
+	i8042_quiesce(i8042);
+	return EOK;
+}
+
 /** DDF driver operations. */
 static driver_ops_t i8042_driver_ops = {
 	.dev_add = i8042_dev_add,
+	.dev_quiesce = i8042_dev_quiesce
 };
 
