Commit graph

138 commits

Author SHA1 Message Date
Keyman Server
b7c93d9e37
Merge branch 'epic/embed-osk-in-kmx' into auto/A19S15-merge-master-into-embed-osk-in-kmx 2025-11-07 14:06:33 +01:00
Marc Durdin
a51f4ff965 fix(mac): ignore non-Unicode key caps when preparing OSK
The typeFlags property is used to differentiate Unicode and non-Unicode
keys in the array of keys in a .kvk file. All non-Unicode keys should
be ignored, as we do not support non-Unicode keyboards on macOS.

The reason this fixes #15007, is that the keyboard in question had both
ANSI and Unicode sections in its .kvk file, and the ANSI section was
stored after the Unicode section, so the font spec for ANSI was
overriding the previously (correctly) set Unicode font spec.

Fixes: #15007
2025-10-24 11:00:07 +02:00
Marc Durdin
49846fea2d feat(common): add KF_KMXPLUSOSK and VERSION_190 to kmx_file.h
Add version 19.0 flags and metadata relating to embed-osk-in-kmx to
kmx_file.h and corresponding headers for other languages.

Test-bot: skip
2025-09-30 14:51:40 +02:00
Shawn Schantz
79d5347c80
Merge pull request #13876 from keymanapp/fix/mac/13718-sanskrit-unicode-crash
fix(mac): handle PackageInfo section in kmp.inf file
2025-05-13 15:48:55 +07:00
Shawn Schantz
c91e309c54 chore(mac): deleted another swath of unused constants 2025-05-12 16:34:32 +07:00
Shawn Schantz
c45135d5b2 fix(mac): handle [PackageInfo] section in kmp.inf file
also prevent crash when no package name found

Fixes: #13718
2025-05-09 18:29:54 +07:00
Shawn Schantz
db5a49370b chore(mac): remove files for KMCompGroup, KMCompKey, NSString extension 2025-05-07 12:51:51 +07:00
Shawn Schantz
cd59c298a8 chore(mac): remove NSString extension 2025-05-07 12:36:17 +07:00
Shawn Schantz
623d5af5ab chore(mac): remove group code, stop reading stores at init 2025-05-07 12:07:59 +07:00
Shawn Schantz
e827827bb4 chore(mac): removed references to groups and load only system stores 2025-05-06 17:06:29 +07:00
Shawn Schantz
3109e9e8ab chore(mac): remove unused String extension functions 2025-05-05 11:53:49 +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
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
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
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
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
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
sgschantz
ada74039e0 consuming actions struct from core 2023-11-03 08:43:37 +07:00
sgschantz
184f56c7aa use core context instead of locally managed context 2023-10-26 15:38:19 +07:00
sgschantz
615c9c23d2 limit most log statements to debug mode 2023-10-16 15:26:13 +07:00
sgschantz
a28a7ac775 rename coreWrapper 2023-10-05 09:14:15 +07:00
Shawn Schantz
301ebc25c6
Merge branch 'feature-macos-core' into feature/core/add-core-wrapper 2023-10-05 08:01:50 +07:00
sgschantz
08c1ac9fc1 rename from compatibility to compliance 2023-10-04 17:57:22 +07:00
Marc Durdin
7adc9b5d95 feat(developer): support store(&version) '17.0'
Fixes #9541.

Also adds version 16.0 support to the kmcmplib compiler constants, and
unit tests for both versions. Does not add any support for automatic
version feature detection, because that forces an inverted dependency on
the touch layout compilation phase (done in kmc-kmw), which would be a
significant refactor. This may be something we need to support in the
future.
2023-10-02 15:30:07 +07:00
sgschantz
9865c3d6ec set context correctly for unit test 2023-09-27 15:19:16 +07:00