Commit graph

212 commits

Author SHA1 Message Date
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
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
df21808616
Merge pull request #13848 from keymanapp/fix/mac/replace-km-binary-file-format
chore(mac): remove obsolete key processing code
2025-05-12 18:39:40 +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
Eberhard Beilharz
4d81589f48
maint(common): use unique names for Keyman version variables
Previously the builder scripts defined a readonly `VERSION` environment
variable for the Keyman version. That caused problems when another
(external) script tried to define a `VERSION` variable. We encountered
this problem when trying to move the TC build steps of a configuration
into a single script (#13399) when we tried to source `~/.nvm/nvm.sh`.

This change uses a Keyman specific prefix for the version variables and
renames `VERSION` → `KEYMAN_VERSION` etc. Unfortunately these variables
are used in a lot of places, so this turned out to be a bit of a yak
shave.

Test-bot: skip
2025-05-07 18:46:51 +02:00
Shawn Schantz
e619e9f89a chore(mac): removed commented-out code
Fixes: #11104
2025-05-07 16:08:14 +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
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