The name compiler.h was misleading, so renamed to legacy_kmx_file.h, as
it largely describes .kmx files. There are two declarations in the file
which are specific to kmcmpdll, at the bottom of the file, but
everything else is all related to the .kmx file format. (We may move
those in a future update to kmcmpdll, but that should wait until the
kmcmpdll cross-platform refactor is complete.)
Moved to common/windows/cpp/include/ because it is used by both
Developer and Windows projects.
Where possible, removed redundant references, as compfile.h includes
legacy_kmx_file.h anyway.
We want to be able to switch of the seralized pipeline if a keyman
keyboard is not active. To do this we need to store this information
in a way the seralized thread can get the information.
This commit adds a function that sets the IM window registry keys
needed for the IMSample keyboard.
It also adds a null pointer check on the lpActiveKeyboard in the imx
callback module.
For the TSF applications in most cases there is no test parse
with updatable=false. In these cases we need to call the
core process event function and process the actions in the
one call. A bool flag has been added to track if the core process
event has been called for the current keystroke
In order to avoid the test host interfering too badly with the debugger,
we will bypass SendInput and instead post all input to the local edit
window. This can result in out-of-sequence input for rapid typing, but
for a test host this is not important -- it's better that the input
doesn't end up in the debugger window due to focus changes!
Scratching an itch. It's very painful to debug Keyman Core on Windows.
This helps a little. It allows you to step through the code without
loading keyman32.dll into every process. It's not perfect, because when
actions are sent, they tend to land in the debugger because SendInput
does not care about the active window! However, if you don't care
about that too much (or if you are willing to try a remote debug setup),
then this should really simplify debugging.