Commit graph

42 commits

Author SHA1 Message Date
sgschantz
8bc144b6d1 refactor(mac): raise exception when unable to read kmx data 2024-12-03 10:48:57 +07:00
sgschantz
42ba0a4aab refactor(mac): pass kmx data blob to keyman core instead of file path
Fixes: #12499
2024-12-02 17:08:46 +07:00
sgschantz
5fb8d11203 feat(mac): add call to km_core_keyboard_key_list_dispose
memory leak of key list without disposing
2024-10-07 11:03:08 +07:00
sgschantz
71079a20c5 feat(mac): encapsulate option to alt logic in KMModifierMapping 2024-09-25 16:47:17 +07:00
sgschantz
813da7d618 feat(mac): created CoreKeyboardInfo to analyze key mappings 2024-09-23 14:50:36 +07:00
sgschantz
0dc7baced6 feat(mac): get key_list from core 2024-09-20 17:11:15 +07:00
sgschantz
ab98086003 fix(mac): adopt unified logging APIs
remove all references to NSLog
adjust log level for some calls to os_log
Fixes #10997
2024-05-23 15:50:50 +07:00
sgschantz
e4f7f1d1a1 fix(mac): added unified logging to Keyman Engine for mac
first draft, need to remove some debug statements and replace
others that would be more useful
2024-05-21 12:45:17 +07:00
sgschantz
67148475c1 chore(mac): re-indent files for tabs equal to two spaces
phase one
2024-05-13 16:16:30 +07:00
Steven R. Loomis
6706ae0957 chore(core): km_core_cp -> km_core_cu
- km_core_cp represents a 16 bit code unit, not a code point.

Fixes: #11033
2024-05-02 17:39:15 -05:00
sgschantz
62eec26901 replace characters during key processing by using deleted_context field from Core 2024-03-27 10:50:27 +07:00
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
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
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
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
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
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
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