keyman
keyman copied to clipboard
feat(windows): mcompile - use static tables for Windows keyboard data
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.