summaryrefslogtreecommitdiffstats
path: root/src/include/ipxe/keymap.h
diff options
context:
space:
mode:
authorMichael Brown2011-03-16 04:17:34 +0100
committerMichael Brown2011-03-16 13:02:52 +0100
commitf98cf7d70f3d32e19ca6aabbd9601c0d432ea67f (patch)
treee0c8d0f8fadce5e700ca67922e614b138781d48e /src/include/ipxe/keymap.h
parent[efi] Mark SNP devices as children of EFI PCI device (diff)
downloadipxe-f98cf7d70f3d32e19ca6aabbd9601c0d432ea67f.tar.gz
ipxe-f98cf7d70f3d32e19ca6aabbd9601c0d432ea67f.tar.xz
ipxe-f98cf7d70f3d32e19ca6aabbd9601c0d432ea67f.zip
[console] Add facility for rudimentary keyboard mapping
Allow for remapping of ASCII characters returned by the BIOS, using a map consisting of (from,to) pairs. Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/include/ipxe/keymap.h')
-rw-r--r--src/include/ipxe/keymap.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/include/ipxe/keymap.h b/src/include/ipxe/keymap.h
new file mode 100644
index 000000000..9ac42a6b1
--- /dev/null
+++ b/src/include/ipxe/keymap.h
@@ -0,0 +1,30 @@
+#ifndef _IPXE_KEYMAP_H
+#define _IPXE_KEYMAP_H
+
+/**
+ * @file
+ *
+ * Keyboard mappings
+ *
+ */
+
+FILE_LICENCE ( GPL2_OR_LATER );
+
+#include <stdint.h>
+#include <ipxe/tables.h>
+
+/** A keyboard mapping */
+struct key_mapping {
+ /** Character read from keyboard */
+ uint8_t from;
+ /** Character to be used instead */
+ uint8_t to;
+} __attribute__ (( packed ));
+
+/** Keyboard mapping table */
+#define KEYMAP __table ( struct key_mapping, "keymap" )
+
+/** Define a keyboard mapping */
+#define __keymap __table_entry ( KEYMAP, 01 )
+
+#endif /* _IPXE_KEYMAP_H */