Marc Durdin
1b88ab99be
fix(core): make km_core_state_get_actions() idempotent
...
Fixes #10582 .
Returned struct from the `km_core_state_get_actions()` API is now owned
by the state object. This is a change in API contract. The corresponding
`km_core_actions_dispose()` API has been made private, because there is
never any need for API consumers to call it. As this change is happening
in alpha, we won't bump the ABI version.
`state->app_context` is now guaranteed to be in sync with
`state->context` after `km_core_process_event()`, with the actions
struct populated at that point.
The next and final step in this refactor is to remove the actions queue
altogether from the Core and make that a kmn-only concept, but that will
wait until 18.0. The only consumers of the actions queue are the
kmn-specific interactive debugger in Keyman Developer, and kmn-specific
Input Method eXtensions in Keyman Engine for Windows.
2024-02-01 11:28:08 +07:00
Marc Durdin
cf2d6c4244
chore(mac): remove legacy Core action items references
...
Relates to #9999 .
2024-01-17 14:44:34 +11:00
Marc Durdin
823b7722a0
refactor(mac): remove legacy Core context API calls
...
Relates to #9999 .
2024-01-17 14:44:07 +11:00
Marc Durdin
aea95c4f9d
chore(mac): use only debug context functions
2024-01-15 13:12:15 +07:00
Marc Durdin
a1fbbd1ab5
refactor(mac): remove unused context calls
2024-01-15 08:39:30 +07:00
Marc Durdin
9830f9ea24
refactor(core): use km_core_state_context_clear where possible
...
Relates to #10365 .
Use `km_core_state_context_clear()` instead of `km_core_context_clear()`
as part of eliminating use of `km_core_state_context()`.
2024-01-12 12:05:00 +07:00
sgschantz
ccee68cf13
load persisted options and enable unit test
2023-12-18 15:50:39 +07:00
sgschantz
71d4710d89
changes for review comments
2023-12-13 15:40:16 +07:00
sgschantz
ad34af7f74
remove action array optimizer and handler obsoleted by core improvements
2023-11-22 13:43:12 +07:00
sgschantz
d20f636827
disable persist options unit test, enforce emit keystroke returned from keyman core
2023-11-22 10:35:59 +07:00
sgschantz
75a99a940f
formatting changes
2023-11-21 10:22:02 +07:00
sgschantz
ada74039e0
consuming actions struct from core
2023-11-03 08:43:37 +07:00
sgschantz
aace9fc9df
proper unicode conversion when getting context stringthat containing SMP text; also other clean up in response to review comments
2023-10-30 12:29:51 +07:00
sgschantz
184f56c7aa
use core context instead of locally managed context
2023-10-26 15:38:19 +07:00
sgschantz
d87459c3bc
update for rename of core filenames and apis
2023-10-23 10:57:32 +07:00
sgschantz
615c9c23d2
limit most log statements to debug mode
2023-10-16 15:26:13 +07:00
sgschantz
0a56662ed1
expose context properly in core wrapper
2023-09-27 15:59:26 +07:00
sgschantz
9865c3d6ec
set context correctly for unit test
2023-09-27 15:19:16 +07:00
sgschantz
682d99c2cb
context simplification, legacy app determination integrated into TextCompatibilityCheck
2023-09-26 10:48:43 +07:00
sgschantz
df3c34a711
add back EventTap function to support left and right modifier keys, do not set NoCaps flag in calls to Core when Caps Lock is off
2023-08-24 14:06:49 +07:00
sgschantz
1efce615f0
pass caps lock value to Keyman Core when processing keys
2023-08-22 10:13:59 +07:00
sgschantz
f57b934257
use helper method for string to unichar string
2023-08-16 15:53:42 +07:00
sgschantz
2cb7458829
successfully loading setting options in core -- not behaving predictably until null terminator added
2023-08-15 14:57:30 +07:00
sgschantz
4010c79bf9
handle PersistOption action; persisting but not loading at startup yet
2023-08-10 11:30:12 +07:00
sgschantz
0b8e3f62b4
remove key processing code from engine and move virtual key map to CoreHelper
2023-08-02 16:01:19 +07:00
sgschantz
b2dce47b3f
update context with core when invalidated
2023-07-06 13:57:37 -04:00
sgschantz
7d7fc2e7bc
fix or disable failing unit tests
2023-06-01 08:34:31 +07:00
sgschantz
144f4e0b4f
added KMActionOperation to batch text inserts and deletes; improved context updates
2023-05-23 15:34:05 +07:00
sgschantz
ce0dc60a18
added KMContext, cleaned up some header comments
2023-05-16 15:22:29 +07:00
sgschantz
13f0055ac9
comment cleanup
2023-05-15 08:50:36 +07:00
sgschantz
1566e06bea
broke out CoreActionHandler, new path through InputMethod for Keyman Core action processing
2023-05-05 12:52:18 +07:00
sgschantz
10bf9af6df
fix isClientAppLegacy which was always returning true and add unit tests for it
2023-04-11 09:05:52 +07:00
sgschantz
2e28e93bb5
override init to funnel everything to designated initializer for CoreAction
2023-03-27 16:26:32 +07:00
sgschantz
6be8169945
set designated initializer for CoreAction class
2023-03-27 15:55:47 +07:00
sgschantz
29bd741386
added action array optimizer unit tests
2023-03-27 14:33:07 +07:00
sgschantz
7a0eb338c4
added helper and wrapper unit tests
2023-03-21 08:41:41 +07:00
sgschantz
37441c753a
specify ctrl and alt only if not right or left ctrl or alt
2023-03-17 09:11:45 +07:00
sgschantz
4316a3ceea
modifier conversion support for left and right alt and ctrl keys
2023-03-16 14:25:33 +07:00
sgschantz
0251923ec8
set context in core at init time
2023-03-14 14:03:25 +07:00
sgschantz
bc3c8cdc6b
optimize array of actions returned by core to conform to expected actions list
2023-03-14 12:03:54 +07:00
sgschantz
eba89e54cd
preliminary integration of keyman core with keyman engine for mac
2023-03-09 14:07:44 +07:00