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.
This commit adds call to the core keyboard processor
on wm_keymanim_close event. To get the latest actions.
It also changes the core to allow QIT BACK even when
the context is empty.
AppContext Set now truncates an input buffer correctly
if it is longer in length than the internal storage available for the context,
it uses the same implementation as the common core found in
kmx_context.cpp
This commit adds x64 build for the imsample.dll.
It also fixes the a invalid memory access error that
occured when UnloadRules was called when a Keyboard
had been created but the rules not yet loadeded.
KeymanIMReloadConfig function returned a invalid
code excution point this was fixed by addeding it
to the imsample.def