keyman icon indicating copy to clipboard operation
keyman copied to clipboard

feat(windows): mcompile - use static tables for Windows keyboard data

Open mcdurdin opened this issue 2 years ago • 0 comments

This is a proposal to decouple the Windows system keyboard data from the kbdxx.dll file so that we can use mcompile on other platforms as well. The idea would be to have a program to query the set of Windows kbdxx DLLs that we are interested in, and write each Windows keyboard's data to a datafile. Then mcompile would load this datafile rather than the Windows DLL when running the mcompile process.

Sample call currently:

mcompile -d c:\projects\keyman\keyboards\release\sil\sil_ipa\build\sil_ipa.kmx kbdgr.dll 0407 c:\projects\keyman\keyboards\release\sil\sil_ipa\build\sil_ipa_german.kmx

mcompile should add two new command line modes:

First, exporting keyboard dll data to file:

mcompile -e kbdgr.dll 0407 kbdgr.txt

Second, using keyboard dll data from file:

mcompile -d c:\projects\keyman\keyboards\release\sil\sil_ipa\build\sil_ipa.kmx kbdgr.txt c:\projects\keyman\keyboards\release\sil\sil_ipa\build\sil_ipa_german.kmx

The second part of this project would be to remove Windows-isms from mcompile so that we can build it on any desktop platform.

mcdurdin avatar Aug 12 '22 07:08 mcdurdin