Commit graph

201 commits

Author SHA1 Message Date
Shawn Schantz
cabe997ac0 fix(mac): handle [PackageInfo] section in kmp.inf file
also prevent crash when no package name found

Fixes: #13718
2025-05-16 08:55:46 +07:00
sgschantz
31280ecee7 fix(mac): apply OSK modifiers to typing on physical keyboard
Fixes: #12584
2024-12-19 15:52:19 +07:00
sgschantz
b9b1786986 fix(mac): renaming and refactoring 2024-12-18 16:51:09 +07:00
sgschantz
e77853720f fix(mac): also reset the corresponding keys when closing OSK 2024-12-17 15:13:14 +07:00
sgschantz
803a218cbd fix(mac): clear the modifier keys when the OSK window is closed 2024-12-17 13:52:09 +07:00
sgschantz
fcb3d4cc40 fix(mac): rename method in log statement 2024-12-16 13:02:41 +07:00
sgschantz
f0cd0c67e7 fix(mac): osk and physical keyboard modifiers kept in sync
additional logic applied to keep two modifier types
consistent with each other
also lots of refactoring to keep naming clear

Fixes: #12582
2024-12-13 13:56:02 +07:00
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
8acff153ef fix(mac): rename properties and variables 2024-10-21 15:21:47 +07:00
sgschantz
d57ff48d31 fix(mac): rename flag properties of NKey value object 2024-10-21 15:07:25 +07:00
sgschantz
dc6f518694 fix(mac): support alt layers in OSK
Fixes: #5721
2024-10-18 15:27:57 +07:00
Shawn Schantz
d40ca934c6 create separate functions for managing UserData contents of CGEvent 2024-10-17 16:31:00 +07:00
sgschantz
bfeaebfcb8 fix(mac): pass modifier keys with keydown event generated by OSK
Fixes: #6578
2024-10-16 15:02:49 +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
Shawn Schantz
8821a81f19
Merge branch 'master' into feat/mac/933-alt-option-rules 2024-09-26 14:36:45 +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
a14a988276 feat(mac): logging changes 2024-09-20 12:54:14 +07:00
sgschantz
becea93fa9 change(mac): remove verbose logging option
also remove related debug mode code, debug logging
is controlled solely by universal logging settings

Fixes: #11525
2024-09-17 15:36:41 +07:00
sgschantz
b38700cb19 fix(mac): comment cleanup 2024-09-02 09:34:31 +07:00
sgschantz
569a8a8a49 fix(mac): eliminate all use of deprecated API beginSheetModalForWindow
beginSheetModalForWindow:modalDelegate:didEndSelector:contextInfo:
was deprecated in macOS 10.10 and replaced by
beginSheetModalForWindow:completionHandler:

The newer API automatically closes the sheet.
Explicitly closing the sheet also seemed to be causing
the parent windows to close.

Fixes: #9308
2024-08-29 15:38:00 +07:00
sgschantz
5c96f8f769 fix(mac): remove text from short bundle version string
in info.plist for both input method and engine, remove
the framing text so that it just contains the version
number triplet

Fixes: #12197
2024-08-20 16:14:40 +07:00
sgschantz
1d5ef914ce fix(mac): adopt unified logging
address review comments
2024-05-27 08:58:25 +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
aff9a0e157 fix(mac): use unified logging APIS
remove logDebugMessage API which calls NSLog and call os_log instead
2024-05-22 19:32:40 +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
8fa8275584 fix(mac): change to unified logging
delete commented out code and unimplemented method
2024-05-20 08:42:32 +07:00
sgschantz
746149178a chore(mac): re-indenting to 2 spaces
phase two
2024-05-13 17:07:52 +07:00
Shawn Schantz
9dd227ff2d
Merge branch 'master' into chore/mac/11427-indent-2-spaces 2024-05-13 16:24:45 +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
Marc Durdin
cd6361810b chore: Merge branch 'master' into chore/merge-beta-into-master-a18s2 2024-05-13 15:55:05 +07:00
sgschantz
0288b72c84 fix(mac): made osk keys visible again
set clipsToBounds to true for osk and osk key views
This property began defaulting to false with the update to
macOS 14 sonoma causing the osk keys to become so large
that they obscured the entire osk view.
Also replaced and few more deprecated properties and functions.
2024-05-10 14:49:34 +07:00
sgschantz
0dbd47d683 fix(mac): replace deprecated API calls
With the move to Xcode 15.3, there are many APIs called from
Keyman for Mac that were deprecated before our minimum supported
version of macOS (now set to 10.13)
2024-05-07 16:29:04 +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
ebb6631ab6 change macOS target version to 10.13, update versions in markdown files and Podfile 2024-04-26 10:22:58 +07:00
sgschantz
f40e1ff8d8 change all mac project settings minimum supported version from 10.10 Yosemite to 10.13 High Sierra 2024-04-25 09:13:21 +07: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
c8ee73321b
chore: Apply suggestions from code review 2024-01-16 13:33:00 +11:00
Marc Durdin
e853a6859a chore(mac): another test typo 2024-01-15 19:51:56 +07:00
Marc Durdin
8334325316 chore(mac): typo in test 2024-01-15 15:49:41 +07:00
Marc Durdin
6aef3090e0 chore(mac): missing square brackets 2024-01-15 13:39:41 +07:00
Marc Durdin
6999b248bd chore(mac): update one more test 2024-01-15 13:26:43 +07: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