From f15b59b9319d4e5a43a3e3515cb0f0449c7224c7 Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Sun, 19 Jan 2020 10:11:37 +0100 Subject: Add Windows driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- README.rst | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'README.rst') diff --git a/README.rst b/README.rst index 123246a..25937c2 100644 --- a/README.rst +++ b/README.rst @@ -51,6 +51,28 @@ to analyze them and create pretty pictures as well as statistics in ``doc/``. .. _me: lars+lulua@6xq.net +Building Windows drivers +------------------------ + +There is no easy way to build Windows keyboard drivers, but the following +instructions have worked in the past: + +.. code:: bash + + ninja doc/_temp/winkbd/customization.h + +Share the folder `doc/_temp/winkbd` with a Windows system, install `Microsoft +Keyboard Layout Creator 1.4`_ (MSKLC; the Windows Driver Kit (WDK) would work +too, but is much larger), adjust ``make.bat`` pointing to your MSKLC +installation and run it. This should generate two directories, ``System32`` and +``SysWOW64``, which must be copied back to `doc/_temp/winkbd`. Then run: + +.. code:: bash + + ninja doc/_build/ar-lulua-w64.zip + +.. _Microsoft Keyboard Layout Creator 1.4: https://www.microsoft.com/en-us/download/details.aspx?id=22339 + Acknowledgements ---------------- -- cgit v1.2.3