summaryrefslogtreecommitdiff
path: root/lulua/data/winkbd/keyboard.h
diff options
context:
space:
mode:
authorLars-Dominik Braun <lars@6xq.net>2020-01-19 10:11:37 +0100
committerLars-Dominik Braun <lars@6xq.net>2020-01-19 10:19:21 +0100
commitf15b59b9319d4e5a43a3e3515cb0f0449c7224c7 (patch)
tree8afadd7358b5e16965e7ab4b3957db702c17869b /lulua/data/winkbd/keyboard.h
parent810c8ff0bea17214b4e4c5ce802ad89b5ad6e2c9 (diff)
downloadlulua-f15b59b9319d4e5a43a3e3515cb0f0449c7224c7.tar.gz
lulua-f15b59b9319d4e5a43a3e3515cb0f0449c7224c7.tar.bz2
lulua-f15b59b9319d4e5a43a3e3515cb0f0449c7224c7.zip
Add Windows driver
Generate C header file based on layout description and create a source bundle that must be compiled on a Windows system and then moved back to the source tree. This sucks, but cross-compiling on Linux is a pain, since Windows’ development headers assume a case-insensitive filesystem. Also I’m using MSKLC because the latest driver development kit cannot compile these drivers correctly. Dear @microsoft, please fix your shit: https://github.com/microsoft/Windows-driver-samples/issues/433 A remaining concern right now is licensing. keyboard.{c,h,def,rc} have been copied from a project generated by MSKLC and are probably non-free, although pretty much identical files like https://github.com/microsoft/Windows-driver-samples/blob/master/input/layout/kbdus/kbdus.c are covered by MS-PL. Also binds backspace key to \b and adjusts xmodmap/svg rendering accordingly. See #7.
Diffstat (limited to 'lulua/data/winkbd/keyboard.h')
-rw-r--r--lulua/data/winkbd/keyboard.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/lulua/data/winkbd/keyboard.h b/lulua/data/winkbd/keyboard.h
new file mode 100644
index 0000000..0ef87d4
--- /dev/null
+++ b/lulua/data/winkbd/keyboard.h
@@ -0,0 +1,36 @@
+/****************************** Module Header ******************************\
+* keyboard layout header
+*
+* Copyright (c) 1985-2001, Microsoft Corporation
+*
+* Various defines for use by keyboard input code.
+*
+* History:
+*
+* created by KBDTOOL v3.40 Sat Jan 04 14:19:07 2020
+*
+\***************************************************************************/
+
+/*
+ * kbd type should be controlled by cl command-line argument
+ */
+#define KBD_TYPE 4
+
+/*
+* Include the basis of all keyboard table values
+*/
+#include "kbd.h"
+/***************************************************************************\
+* The table below defines the virtual keys for various keyboard types where
+* the keyboard differ from the US keyboard.
+*
+* _EQ() : all keyboard types have the same virtual key for this scancode
+* _NE() : different virtual keys for this scancode, depending on kbd type
+*
+* +------+ +----------+----------+----------+----------+----------+----------+
+* | Scan | | kbd | kbd | kbd | kbd | kbd | kbd |
+* | code | | type 1 | type 2 | type 3 | type 4 | type 5 | type 6 |
+\****+-------+_+----------+----------+----------+----------+----------+----------+*/
+
+#include "customization.h"
+