Hi @François T ,
Based on what you described, your layout tables are likely correct. The key signal is that the same sources produce a working layout when built with the legacy WDK build.exe flow. In cases like this, the issue most often comes down to how the DLL is being produced in Visual Studio, rather than the table content itself.
A keyboard layout DLL is not the same as a generic “New DLL Project” in Visual Studio. Microsoft provides dedicated keyboard layout samples that are preconfigured to generate the expected binary shape. The documentation specifically instructs opening kbd.sln under the WDK src\input\layout folder and building from there using Visual Studio or MSBuild ([Microsoft Learn][1]).
Because of this, having KbdLayerDescriptor present in the source is necessary, but it does not by itself guarantee that the final DLL matches what Windows expects.
Perhaps you could try these suggestions:
1. Build a sample unchanged first Open the WDK keyboard layout sample solution:
…\src\input\layout\kbd.sln
Build one of the stock layouts (for example kbdus). This confirms your Visual Studio + WDK environment is producing a valid layout DLL.
Reference: https://learn.microsoft.com/en-us/samples/microsoft/windows-driver-samples/keyboard-layout-samples/
2. Verify the export table of your DLL
After building your custom DLL, run:
dumpbin /exports yourdll.dll
You should see KbdLayerDescriptor exported. If it is missing or differs from the sample build, Windows may not activate the layout correctly.
3. Check how your project was created
If your current project started from a generic DLL template, Visual Studio could introduce default runtime behavior unless carefully configured. The most reliable approach is to clone or modify an existing WDK keyboard sample project rather than building from a blank DLL template.
Also, if you are testing with Visual Studio 2026, try switching to Visual Studio 2022 for WDK work. Microsoft currently states that the WDK has not been validated with Visual Studio 2026 and recommends continuing with Visual Studio 2022.Reference: https://learn.microsoft.com/en-us/windows-hardware/drivers/download-the-wdk#:~:text=Don%27t%20use%20Visual,supported%20by%20WDK.
Hope this helps! If you have any questions, please feel free to comment. I'll be happy to assist!