diff --git a/payloads/libpayload/drivers/i8042/i8042.c b/payloads/libpayload/drivers/i8042/i8042.c
index b679448..69740d9 100644
--- a/payloads/libpayload/drivers/i8042/i8042.c
+++ b/payloads/libpayload/drivers/i8042/i8042.c
@@ -31,6 +31,8 @@
 #include <libpayload.h>
 #include <stddef.h>
 
+#include "i8042.h"
+
 /* Overflowing FIFO implementation */
 
 struct fifo {
@@ -204,13 +206,13 @@
 	kbc_init = 1;
 
 	/* Disable first device */
-	if (i8042_cmd(0xad) != 0) {
+	if (i8042_cmd(I8042_CMD_DIS_KB) != 0) {
 		kbc_init = 0;
 		return 0;
 	}
 
 	/* Disable second device */
-	if (i8042_cmd(0xa7) != 0) {
+	if (i8042_cmd(I8042_CMD_DIS_AUX) != 0) {
 		kbc_init = 0;
 		return 0;
 	}
@@ -220,17 +222,18 @@
 		read_data();
 
 	/* Self test. */
-	if (i8042_cmd_with_response(0xaa) != 0x55) {
+	if (i8042_cmd_with_response(I8042_CMD_SELF_TEST)
+	    != I8042_SELF_TEST_RSP) {
 		kbc_init = 0;
 		return 0;
 	}
 
 	/* Test secondary port */
-	if (i8042_cmd_with_response(0xa9) == 0)
+	if (i8042_cmd_with_response(I8042_CMD_AUX_TEST) == 0)
 		aux_fifo = fifo_init(4 * 32);
 
 	/* Test first PS/2 port */
-	if (i8042_cmd_with_response(0xab) == 0)
+	if (i8042_cmd_with_response(I8042_CMD_KB_TEST) == 0)
 		ps2_fifo = fifo_init(2 * 16);
 
 	kbc_init = 0;
diff --git a/payloads/libpayload/drivers/i8042/i8042.h b/payloads/libpayload/drivers/i8042/i8042.h
new file mode 100644
index 0000000..4673d37
--- /dev/null
+++ b/payloads/libpayload/drivers/i8042/i8042.h
@@ -0,0 +1,69 @@
+/*
+ * This file is part of the libpayload project.
+ *
+ * Copyright 2018 Google LLC.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#ifndef __DRIVERS_I8042_I8042_H__
+#define __DRIVERS_I8042_I8042_H__
+
+/* Port 0x64 commands */
+#define I8042_CMD_RD_CMD_BYTE		0x20
+#define I8042_CMD_WR_CMD_BYTE		0x60
+#define I8042_CMD_DIS_AUX		0xa7
+#define I8042_CMD_EN_AUX		0xa8
+#define I8042_CMD_AUX_TEST		0xa9
+#define I8042_CMD_SELF_TEST		0xaa
+#define   I8042_SELF_TEST_RSP		0x55
+#define I8042_CMD_KB_TEST		0xab
+#define I8042_CMD_DIAG_DUMP		0xac
+#define I8042_CMD_DIS_KB		0xad
+#define I8042_CMD_EN_KB			0xae
+#define I8042_CMD_RD_INPUT_PORT		0xc0
+#define I8042_CMD_RD_OUTPUT_PORT	0xd0
+#define I8042_CMD_WR_OUTPUT_PORT	0xd1
+#define I8042_CMD_RD_TEST_INPUTS	0xe0
+
+/* Port 0x60 keyboard commands */
+#define I8042_KBCMD_SET_MODE_IND	0xed
+#define   I8042_MODE_CAPS_LOCK_ON	(1 << 2)
+#define   I8042_MODE_CAPS_LOCK_OFF	(0 << 2)
+#define   I8042_MODE_NUM_LOCK_ON	(1 << 1)
+#define   I8042_MODE_NUM_LOCK_OFF	(0 << 1)
+#define   I8042_MODE_SCROLL_LOCK_ON	(1 << 0)
+#define   I8042_MODE_SCROLL_LOCK_OFF	(0 << 0)
+#define I8042_KBCMD_SET_SCANCODE	0xf0
+#define   I8042_SCANCODE_SET_1		(1)
+#define   I8042_SCANCODE_SET_2		(2)
+#define   I8042_SCANCODE_SET_3		(3)
+#define I8042_KBCMD_SET_TYPEMATIC	0xf3
+#define I8042_KBCMD_EN			0xf4
+#define I8042_KBCMD_DEFAULT_DIS		0xf5
+#define I8042_KBCMD_SET_DEFAULT		0xf6
+#define I8042_KBCMD_RESEND		0xfe
+#define I8042_KBCMD_RESET		0xff
+
+#endif /* __DRIVERS_I8042_I8042_H__ */
diff --git a/payloads/libpayload/drivers/i8042/keyboard.c b/payloads/libpayload/drivers/i8042/keyboard.c
index af44e01..d5606a3 100644
--- a/payloads/libpayload/drivers/i8042/keyboard.c
+++ b/payloads/libpayload/drivers/i8042/keyboard.c
@@ -32,7 +32,8 @@
 #include <libpayload-config.h>
 #include <libpayload.h>
 
-#define I8042_CMD_DIS_KB     0xad
+#include "i8042.h"
+
 #define POWER_BUTTON         0x90
 
 struct layout_maps {
@@ -203,12 +204,12 @@
 	case 0x3a:
 		if (modifier & KB_MOD_CAPSLOCK) {
 			modifier &= ~KB_MOD_CAPSLOCK;
-			if (keyboard_cmd(0xed))
-				keyboard_cmd(0 << 2);
+			if (keyboard_cmd(I8042_KBCMD_SET_MODE_IND))
+				keyboard_cmd(I8042_MODE_CAPS_LOCK_OFF);
 		} else {
 			modifier |= KB_MOD_CAPSLOCK;
-			if (keyboard_cmd(0xed))
-				keyboard_cmd(1 << 2);
+			if (keyboard_cmd(I8042_KBCMD_SET_MODE_IND))
+				keyboard_cmd(I8042_MODE_CAPS_LOCK_ON);
 		}
 		break;
 	}
@@ -304,19 +305,19 @@
 		keyboard_getchar();
 
 	/* Enable first PS/2 port */
-	i8042_cmd(0xae);
+	i8042_cmd(I8042_CMD_EN_KB);
 
 	/* Set scancode set 1 */
-	ret = keyboard_cmd(0xf0);
+	ret = keyboard_cmd(I8042_KBCMD_SET_SCANCODE);
 	if (!ret)
 		return;
 
-	ret = keyboard_cmd(0x01);
+	ret = keyboard_cmd(I8042_SCANCODE_SET_1);
 	if (!ret)
 		return;
 
 	/* Enable scanning */
-	ret = keyboard_cmd(0xf4);
+	ret = keyboard_cmd(I8042_KBCMD_EN);
 	if (!ret)
 		return;
 
