Custom keyboard source samples

Marcel Schneider charupdate at
Mon Aug 17 15:35:43 CDT 2015

I need to clarify why to get the C sources of an MSKLC layout we must work in the Temp folder.

It's not really working what I've done in Temp, it's rather going to fetch the data where MSKLC stores them for a few seconds. This is independent of the working directory. Creating a new folder in Temp helps getting the data. We can also wait for the amd64 folder or the i386, ia64 (which appear first) or wow64 (which comes last) and select it before copying and pasting somewhere else. I just fear we haven't enough time for this procedure. So creating the folder before is a way to ensure that we get the files within the imparted time.

These custom samples help to complete the WDK keyboard layout source samples, given that the WDK samples being for current keyboard layouts (US English, Greek, French, German, Japanese), they don't include ligature tables. A working practice is IMHO to pack the maximum into a MSKLC layout, get the C sources and the installation package, then edit the sources and recompile using the WDK. Eventually we need to install the MSKLC layout first, then replace the driver in the System32 folder and reboot. This is a way to develop enhanced layouts, with chained dead keys, increased numerical keypad mapping with more code units and numpad accessed also while Fn is pressed (on compact keyboards), more or different modifiers, and so on.

To do this, no much knowledge in programming is needed. As Richard calls it, we can ape the code, looking up kbd.h and winuser.h in the WDK or the MSKLC for scancodes and virtual key names. However, aping the splitted allocation tables and the reduced numpad digits (without shift states) is strongly discouraged. The best way is to unify the allocation tables, with the modification of some other code lines which that implies.

I'm hopeful that this helps implementing more of Unicode at input level. But this is only *one* way to do so, which today certainly isn't any longer the most performative one.


On 17 Aug 2015 at 13:59, I wrote:

> On 07 Aug 2015, at 20:54, Richard Wordingham wrote:
> > What we're waiting for is a guide we can follow, or some code we can ape.
> Since yesterday I know a very simple way to get the source code (in C) of any MSKLC layout. 
> While the build is done, we must wait for the four files appearing in an ad hoc created "amd64" subdirectory in the Temporary Files folder, in the hidden Application Data directory: C:\Users\user\AppData\Local\Temp\amd64
> As soon as the four files are visible in the Explorer, we can press Ctrl+A, Ctrl+C, Ctrl+V. This must be done rapidly, in order to get a copy before their deletion by MSKLC a few seconds later.
> If we notice that during the build, three other temporary folders are created by MSKLC and deleted if empty, we may wish to know that the four files are strictly identical in all four folders. This has been verified on a simple layout, using the (very useful) comparison tool of the ConTEXT text editor.
> Best regards,
> Marcel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the Unicode mailing list