Commit graph

734 commits

Author SHA1 Message Date
rc-swag
ec03e47b85 chore: Merge branch 'master' into feat/update-windows-engine-tests 2024-02-07 14:16:50 +10:00
Marc Durdin
07c7a0659f
Merge branch 'master' into fix/core/10582-km_core_state_get_actions-idempotency 2024-02-07 12:32:41 +11:00
Marc Durdin
2c2602ba18
Merge pull request #10569 from keymanapp/chore/core/10520-hide-old-action-apis
chore(core): move action apis into keyman_core_api_actions.h
2024-02-07 12:30:22 +11:00
rc-swag
eed14b3c5b feat: keyman-engine-tests include icu and appcontext
The keyman-engine and keyman-engine-tests have the icu
dependncy added. Also the appcontext.h and appcontext.cpp
refactor has been update in the project.
2024-02-06 17:28:36 +10:00
rc-swag
6d4b287d7d feat(windows): variable name change 2024-02-06 08:47:22 +10:00
rc-swag
eecc6cd7bd
fix(windows): address review comments
Co-authored-by: Marc Durdin <marc@durdin.net>
2024-02-06 08:25:08 +10:00
rc-swag
dbc3338d41 chore: Merge branch 'master' into feat/update-windows-engine-tests 2024-02-05 15:19:03 +10:00
Marc Durdin
e69bfe7e71 chore(windows): remove old code relating to actions lifecycle
After the changes to core in previous commit, Windows no longer needs to
dispose the actions struct. Also refactored the lifecycle of
core_actions to make ownership clearer.
2024-02-05 09:59:47 +07:00
Marc Durdin
aa80992fb8
Merge branch 'feat/windows/use-km-core-actions-struct' into chore/core/10520-hide-old-action-apis 2024-02-05 13:44:36 +11:00
rc-swag
50b5d197b3 feat(windows): remove extra debug messages 2024-02-05 11:00:27 +10:00
Marc Durdin
f34976e8c0
Merge branch 'feat/windows/use-km-core-actions-struct' into chore/core/10520-hide-old-action-apis 2024-02-03 09:40:53 +11:00
rc-swag
8f2e0a76eb feat(windows): code comment 2024-02-02 16:55:28 +10:00
rc-swag
d34ba7e527 feat(windows): remove extra debugging 2024-02-02 16:48:09 +10:00
rc-swag
2b0950617d feat(windows): add cached actions 2024-02-01 15:11:23 +10:00
Marc Durdin
9ee5777e48 chore(core): move action apis into keyman_core_api_actions.h
Fixes #10520.

The definitions for `struct km_core_action_item`, `struct
km_core_backspace_item`, `enum km_core_backspace_type`, `enum
km_core_action_type`, `km_core_state_action_items()`,
`km_core_state_queue_action_items()`, `km_core_process_queued_actions()`
are now in keyman_core_api_actions.h rather than in the primary
keyman_core_api.h, as they should not be used by engines in general.

The current users of those APIs are the interactive kmx debugger, and
the IMX integration in Keyman Engine for Windows. Both of these depend
on the old action queue model rather than the actions struct.

In a future version, we may refactor these further to make them apply
directly to the KMX processor, and provide access via an interface to
the KMX processor rather than as a general Core API. Once this change is
made, then Core itself will no longer support action queues at all, and
will expect keyboard processors to fill in an action struct (this is
already done for LDML).
2024-01-31 11:32:09 +07:00
rc-swag
118466f6b2 feat(windows): use delete-context for backspace
Use the delete_context memember of the action struct to
check for surrogates and determine the code units to delete.
2024-01-31 10:31:59 +10:00
rc-swag
5ff8092bde chore(windows): Merge branch 'master' into feat/windows/use-km-core-actions-struct 2024-01-31 09:59:12 +10:00
rc-swag
1e554c8804 feat(windows): don't write persisted option back to core
When the action from the core is to persist an option there
is no need to write that value back to the core as it has already
been updated, by the core.
2024-01-30 15:42:17 +10:00
rc-swag
d8c232dc7c feat(windows): refactor to use km_core_actions struct 2024-01-30 14:07:55 +10:00
Marc Durdin
671973baab refactor(core): split context API from Core primary API
Relates to #9999.
Fixes #10384.

The context API endpoints should no longer be considered as part of the
standard Core API. The only consumers that have a need to access these
APIs are the IMX integration in Engine for Windows, and the Keyman
Developer Debugger.

These symbols are currently used by Developer:
* `km_core_context` struct
* `km_core_context_type` enum
* `km_core_context_item` struct
* `KM_CORE_CONTEXT_ITEM_END` macro
* `km_core_state_context()`
* `km_core_context_set()`
* `km_core_context_clear()`

These symbols are currently used by Windows IMX:
* `km_core_context` struct
* `km_core_context_type` enum
* `km_core_context_item` struct
* `KM_CORE_CONTEXT_ITEM_END` macro
* `km_core_context_items_dispose()`
* `km_core_context_item_list_size()`
* `km_core_state_get_intermediate_context()`

The following functions and symbols are moving to
keyman_core_api_context.h:
* `km_core_context` struct
* `km_core_context_type` enum
* `km_core_context_item` struct
* `KM_CORE_CONTEXT_ITEM_END` macro
* `km_core_state_context()` function
* `km_core_state_get_intermediate_context()` function
* `km_core_context_set()` function
* `km_core_context_clear()` function
* `km_core_context_get()` function
* `km_core_context_items_from_utf16()` function
* `km_core_context_items_from_utf8()` function
* `km_core_context_items_to_utf8()` function
* `km_core_context_items_to_utf16()` function
* `km_core_context_items_to_utf32()` function
* `km_core_context_items_dispose()` function
* `km_core_context_length()` function
* `km_core_context_append()` function
* `km_core_context_shrink()` function
* `km_core_context_item_list_size()` function
2024-01-17 14:44:25 +11:00
Marc Durdin
7cd7ab3346 refactor(windows): use km_core_state_context_debug
Relates to #10365.
2024-01-15 08:29:27 +07:00
Marc Durdin
3d5506ef3e chore(windows): move reportExceptions check in exception handler to caller 2023-12-11 20:44:53 +07:00
Marc Durdin
3a91c7d197 chore(developer): move IDEOptions key responsibility into KeymanDeveloperOptions
First part of addressing #10161 is to refactor the existing usage of the
registry values into the common KeymanDeveloperOptions unit. This was
mostly straightforward except for the changes to KeymanSentryClient,
which happens to be the most important part of this particular fix.
2023-12-11 13:48:43 +07:00
rc-swag
d11ee1a1e3 feat: remove tests cases - build not working 2023-12-08 09:55:37 +10:00
rc-swag
21c012208b
Merge pull request #10176 from keymanapp/fix/windows/keyman64-dll-debug-build
fix(windows): debug includes libcmtd vs libcmt.dll
2023-12-08 09:40:48 +10:00
rc-swag
42a089a84d fix(windows): debug includes libcmtd vs libcmt.dll 2023-12-07 15:20:05 +10:00
rc-swag
63e4371513 chore(windows): fix argument passed into to km_core_state_context_set_if_needed 2023-11-30 12:51:52 +10:00
rc-swag
23da871f18 chore(windows): remove res from PR change resetcontext 2023-11-24 07:52:16 +10:00
rc-swag
08b3764496
chore(windows): review comments
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-11-24 07:48:23 +10:00
rc-swag
2dbad870ca chore(windows): add comments ReadContext 2023-11-23 22:01:26 +10:00
rc-swag
4480a05412 chore(windows): removed cached context windows engine
Removed the cached context from the windows engine
2023-11-23 16:58:41 +10:00
Marc Durdin
5224affd38 chore(windows): remove unused globals relating to old keyboard debugging
Fixes #10056.

Removes:
* Globals::miniContext
* Globals::miniContextIfLen
* Globals::indexStack
* Globals::msgbuf
* GLOBAL_ContextStackSize
* GLOBAL_MsgStackSize
* GLOBAL_MaxKeyboards
* INI struct (and commented-out usage of this)
2023-11-23 11:30:57 +10:00
Marc Durdin
df2b258c89 chore(windows): remove legacy LoadKeyboard
Fixes #10053.

Removes `LoadKeyboard` and related functions used only by it.
2023-11-23 11:22:32 +10:00
Marc Durdin
ee1f972b13 chore(windows): remove wm_keymandebug messages and functions
Fixes #10050.

Removes the following unused identifiers:
* ::wm_kmdebug
* ::wm_keymandebug
* AppInt::DebugControlled()
* AITIP::WM_KEYMANDEBUG_CANDEBUG
* AITIP::WM_KEYMANDEBUG_GETUNICODESTATUS
* AITIP::WM_KEYMANDEBUG_GETCONTEXT
* AITIP::WM_KEYMANDEBUG_ACTION
* AITIP::WM_KEYMANDEBUG_RULEMATCH
* AITIP::DebugControlled()
* AITIP::IsDebugControlWindow()
* AITIP::GetDebugControlWindow()
* AITIP::Debug_FillContextBuffer()
* AIDEBUGINFO struct
* ::FillStoreOffsets()
* AIDEBUGKEYINFO struct

Removes overloads which are now no-ops:
* AITIP::HandleWindow()
* AITIP::IsWindowHandled()
* AITIP::QueueAction()
2023-11-23 10:49:58 +10:00
Marc Durdin
82177013e9 chore(core): Merge branch 'master' into feat/core/9720-actions-apis 2023-10-24 20:55:10 +07:00
Marc Durdin
0aa86501c6 chore(core): fix types and compile errors
Fixes #9832. Addresses a couple of other cross-platform compile issues.
2023-10-24 09:25:08 +07:00
Eberhard Beilharz
52bb859817
chore(linux): Rename (lib)kmnkbp to (lib)keymancore 2023-10-19 10:35:09 +02:00
Eberhard Beilharz
2f073f7778
chore(linux): Rename KMN_CORE to KM_CORE_LIBRARY 2023-10-19 08:51:29 +02:00
Eberhard Beilharz
b5c6f31b05
chore(linux): Rename KBP to CORE 2023-10-18 15:48:21 +02:00
Eberhard Beilharz
965b8e5ecc
chore(linux): Rename kbp_state_get_intermediate_context to km_core_...
A previous rename missed this.
2023-10-16 19:39:18 +02:00
Marc Durdin
db76e2541d chore: rename KM_KBP_ to KM_CORE_ 2023-10-09 14:53:22 +07:00
Marc Durdin
ba5f18defd chore: rename km_kbp_ to km_core_ 2023-10-09 14:53:13 +07:00
Marc Durdin
906a0a2ed7 chore: fix typo 2023-10-09 14:41:01 +07:00
Marc Durdin
4ef18f5e29 chore(core): rename keyboardprocessor.h to keyman_core_api.h
Fixes #9721.

Also tweaks some documentation references to keyboardprocessor, but does
not touch those relating to debian/control.
2023-10-09 14:21:01 +07:00
Steven R. Loomis
7f05335fc3 chore(window): fix windows build for ICU 🙀
- for regex (and eventually normalization)

#9121
2023-08-15 15:11:38 -05:00
rc-swag
7e8e7be86f
Merge pull request #9353 from keymanapp/feat/windows/5822/notify-core-on-kbd-activation
feat(windows): Use Keyboard Activated event API call to turn off caps lock (if required) 🚏
2023-08-09 14:12:00 +10:00
rc-swag
3bcd919922
feat(windows): review suggestions
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-08-07 12:08:09 +10:00
Ross
792899c124 feat(windows): add ProcessActionsExternalEvent 2023-08-03 12:12:57 +10:00
Ross
9076bd1783 feat(windows): WIP add external event kmx_processor 2023-07-25 11:11:39 +10:00
Marc Durdin
d914b6918d chore: Merge branch 'feature-kmc-kmw' into chore/merge-master-into-feature-kmc-kmw-a17s16-start 2023-06-26 14:33:20 +07:00