Commit graph

522 commits

Author SHA1 Message Date
Ross
2dfdecaf44 fix(windows): create registry keys for IM window
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.
2022-03-08 18:09:13 +10:00
Ross
bf44bc8ff6 chore(windows): Remove core icon from system tray 2022-02-28 16:38:18 +10:00
Steven R. Loomis
3658efa5f1 chore(common): remove rust (for now!) 🦀
Fixes #6290
2022-02-24 17:34:23 -06:00
Ross
08d676c3f0 fix: add caps to process event bit mask 2022-02-11 17:13:16 +10:00
Ross
d5e228d6cc fix(windows): update comment remove casts 2022-02-10 11:48:06 +10:00
Ross
09d572b8fd fix(windows): remove extra blank line 2022-02-08 14:48:41 +10:00
Ross
c3a30d184c fix(windows): add flag to track core process event
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
2022-02-08 12:19:28 +10:00
Marc Durdin
180fa94141
Merge pull request #6164 from keymanapp/chore/windows/testhost-readme
chore(windows): testhost readme
2022-01-27 11:00:34 +11:00
Marc Durdin
e79b6eb8be chore(windows): testhost readme 2022-01-27 08:01:22 +11:00
Ross
78b8ffcdc2 chore(windows): Merge branch 'master' into feat/windows/imx-support-common-core 2022-01-25 16:02:43 +10:00
Marc Durdin
57b3bd70d1 feat(windows): handle key output in testhost
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!
2022-01-25 16:50:36 +11:00
Ross
61c64c373b chore(windows): Merge branch 'master' into feat/windows/imx-support-common-core 2022-01-25 15:41:36 +10:00
Ross
1c3cd0ae1f feat(windows): Bit wise and modifier flags for core process event
The windows engine shift modifier flag needs to only pass
the K_MODIFIERFLAGS so do a bit wise and to clear the other flags
2022-01-25 14:59:19 +10:00
Marc Durdin
06bb464153 feat(windows): testhost project for debugging keyman32
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.
2022-01-25 13:07:16 +11:00
Ross
9dd342eace feat(windows): Turn imx synthesised actions to emti keystroke action 2022-01-21 14:12:00 +10:00
Ross
8c8859bcf1 feat(windows): add process_queued_actions 2022-01-20 14:33:00 +10:00
rc-swag
4ca65e4fdb
feat(windows): commit suggestions github
Co-authored-by: Marc Durdin <marc@durdin.net>
2022-01-20 09:43:22 +10:00
Ross
513e2def62 feat(windows): remove debug logging 2022-01-19 14:52:29 +10:00
Ross
1b624c3d56 feat(windows): Address Review comments 2022-01-19 13:47:49 +10:00
rc-swag
87e34147e6
feat(windows): apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2022-01-18 09:25:03 +10:00
Ross
02b2379a1a feat(windows): tweak comments 2022-01-13 14:07:53 +10:00
Ross
ee87f0a33e feat(windows): remove old comments 2022-01-13 14:00:24 +10:00
Ross
2e0b7691e9 feat(windows): clarity changes to ContextItemToAppContext 2022-01-13 14:00:23 +10:00
Ross
ca8108c642 feat(windows): remove extra logging add comments 2022-01-13 14:00:13 +10:00
Ross
7efb4b1756 feat(windows): add wm_kewm_keymanim_close for core
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.
2022-01-13 13:59:43 +10:00
Ross
f1f1d4e9b7 feat(windows): fix compile error 2022-01-13 13:59:40 +10:00
Ross
a72697423a feat(windows): add logging to be removed later 2022-01-13 13:59:39 +10:00
Ross
a078c2e577 feat(windows): add register callback 2022-01-13 13:59:31 +10:00
Ross
f2c52803eb feat(windows): Wip mod kmcontext 2022-01-13 13:56:01 +10:00
Ross
9d320c6bd8 feat(windows): core queue_action_items unit test 2022-01-13 13:55:58 +10:00
Ross
993655d340 feat(windows): Some documentation 2022-01-13 13:55:56 +10:00
Ross
fd71876e26 feat(windows): Update KMSetOutput to use core processor 2022-01-13 13:55:49 +10:00
Ross
cd41989698 feat(windows): First cut queue action api WIP 2022-01-13 13:54:53 +10:00
Ross
1649bbad42 feat(windows): WIP squash 2022-01-13 13:54:31 +10:00
Ross
490e6601bc feat(windows): Initial Commit 2022-01-13 13:54:30 +10:00
rc-swag
d585ca6741
Merge pull request #6080 from keymanapp/feat/windows/6079-set-app-context-truncation
feat(windows): method set context correctly truncates input buffer
2022-01-12 09:01:03 +10:00
rc-swag
4f24d97b85
Merge pull request #6057 from keymanapp/fix/windows/imsample-keyboard
fix(windows): add x64 build fix invalid memory access
2022-01-12 09:00:26 +10:00
Ross
d7bc65ffa9 feat(windows): cast int64 to int 2022-01-06 11:06:46 +10:00
Ross
f53b8072f3 feat(windows): Remove dead code 2022-01-06 08:41:07 +10:00
rc-swag
2712ac73a4
feat(windows): apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2022-01-06 08:39:05 +10:00
Ross
8540a36ef8 feat(windows): method set context correctly truncates input buffer
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
2022-01-05 11:24:09 +10:00
Marc Durdin
4e50cfa54c chore(windows): nmake makefile cleanup
Only comments formatted per earlier required from @ermshiperete.
2021-12-17 15:48:24 +11:00
Ross
c167d8bdda fix(windows): add x64 build fix invalid memory access
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
2021-12-16 10:52:20 +10:00
Marc Durdin
32337e0087
Merge pull request #6030 from keymanapp/chore/windows/build-without-delphi
chore(windows): build without delphi ✈
2021-12-11 14:39:47 +11:00
Marc Durdin
ba8c6a165a
Merge pull request #6022 from keymanapp/chore/windows/no-more-mkver
chore(windows): replace mkver with mkver.sh ✈
2021-12-11 14:38:02 +11:00
Marc Durdin
36a5ae6f2a
Merge pull request #6021 from keymanapp/chore/windows/grep-to-findstr
chore(windows): use findstr instead of Borland grep ✈
2021-12-11 14:37:52 +11:00
Marc Durdin
2f19660db1
Merge pull request #6020 from keymanapp/chore/windows/make-to-nmake
chore(windows): move from Borland make to nmake ✈
2021-12-11 14:37:44 +11:00
Marc Durdin
92619336d0
Merge pull request #6019 from keymanapp/chore/windows/version-rc-macros
chore(windows): version.rc use macros instead of mkver ✈
2021-12-11 14:37:35 +11:00
Marc Durdin
988fec305c chore(windows): enable build without Delphi installed
This makes it possible to run `set NODELPHI=1`, `nmake build` and then
only non-Delphi projects will be built.
2021-12-10 00:10:54 +11:00
Marc Durdin
c9dc10cc33 chore(windows): replace mkver with mkver.sh 2021-12-08 07:10:29 +01:00