Shawn Schantz
cd59c298a8
chore(mac): remove NSString extension
2025-05-07 12:36:17 +07:00
Shawn Schantz
98232185ba
fix(mac): improve detection of stale TextApiCompliance
2025-02-21 17:17:43 +07:00
sgschantz
7ba30224ff
fix(mac): resolve build error
2025-01-30 16:00:44 +07:00
Shawn Schantz
f556b3a524
Merge branch 'master' into fix/mac/12997-restore-notifications
2025-01-29 13:12:21 +07:00
Shawn Schantz
1309eb9d2a
Merge pull request #12988 from keymanapp/fix/mac/12928-open-osk-on-activation
...
fix(mac): show and hide OSK consistently for all keyboards
2025-01-28 12:10:44 +07:00
Shawn Schantz
f0d290aed0
Merge branch 'fix/mac/12928-open-osk-on-activation' into fix/mac/12997-restore-notifications
2025-01-27 13:44:24 +07:00
sgschantz
938d3ab61e
fix(mac): OSK window default state must be not visible
...
to be certain that it only opens due to settings
or in response to a user action
2025-01-27 12:30:18 +07:00
sgschantz
077229e89c
chore(mac): added comments and renamed function
2025-01-27 09:21:26 +07:00
sgschantz
a69426f2f5
fix(mac): properly manage lifecycle
...
moves handling of all KMInputMethodLifeCycle notifications to
KMInputMethodAppDelegate and out of KMInputController
because KMInputController instances are being cached
by the OS and swapped in when the input method changes
state
Fixes : #12997
2025-01-23 16:28:48 +07:00
sgschantz
c9c47e8438
chore(mac): fixed else statement for architecture tag
2025-01-23 11:42:47 +07:00
sgschantz
a2e6947eb1
fix(mac): opening OSK does not require existence of KVK
...
Fixes : #12928
2025-01-22 15:40:55 +07:00
sgschantz
0ec2664126
chore(mac): clean up comments
2025-01-22 12:52:44 +07:00
sgschantz
162dc40f2c
chore(mac): added architecture tag, more breadcrumbs
2025-01-20 14:17:15 +07:00
sgschantz
76d0d69e6b
chore(mac): add KMSentryHelper class, and new tags and breadcrumbs
2025-01-16 15:26:03 +07:00
sgschantz
8e833c8314
chore(mac): reworked sentry testing
...
can now force crashes or send messages by typing a
single character when sentry testing is enabled
in the UserDefaults
2025-01-13 14:08:22 +07:00
sgschantz
31280ecee7
fix(mac): apply OSK modifiers to typing on physical keyboard
...
Fixes : #12584
2024-12-19 15:52:19 +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
6abd59bad5
feat(mac): renaming and moved adjustModifiers to KMModifierMapping
...
Fixes : #875
2024-09-27 16:17:31 +07:00
Shawn Schantz
8821a81f19
Merge branch 'master' into feat/mac/933-alt-option-rules
2024-09-26 14:36:45 +07:00
sgschantz
70ed0b5dd4
feat(mac): transform left option modifier to right option
2024-09-26 14:30:09 +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
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
b8cbf04ff7
change(mac): added KMInputMethodLifecycle
...
clearly manages the state of the input method and notifies
any observers of changes
Fixes : #12342
2024-09-10 16:06:33 +07:00
sgschantz
78fd4ee19b
change(mac): renaming, use client map instead of servers array
2024-09-06 16:41:07 +07:00
sgschantz
a032f80230
change(mac): read and write new osk window state
...
persists state whenever user opens or closes OSK
also records location and size
Fixes : #12342
2024-09-04 16:04:59 +07:00
Shawn Schantz
18e7a1e363
change(mac): remove Always show OSK option
...
add simple flag to indicate whether OSK is shown
2024-09-03 20:24:08 +07:00
sgschantz
19cb236fe5
fix(mac): open download info sheet from config window
...
Rather than opening from the keyboard download window
which is supposed to be closed by the download info
sheet. This prevents the download info sheet from
closing its own parent on which it depends.
2024-08-30 15:05:58 +07:00
Shawn Schantz
d6d9feb64c
Merge branch 'master' into fix/mac/9308-no-package-info
2024-08-30 12:55:23 +07:00
sgschantz
9ddb7ba329
change(mac): encapsulate active keyboards access in KMSettingsRepository
2024-08-30 09:38:58 +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
Shawn Schantz
930221376c
fix(mac): show package info after keyboard install
...
Move to updated APIs that no longer require window dismissal.
Fixes : #9308
2024-08-27 04:19:51 +07:00
sgschantz
5364a741da
change(mac): some refactoring
...
Mostly taking advantage of KMSettingsRepository so
that more of the UserDefaults changes happen through it
Still some refactoring remains for active keyboards list
2024-08-16 16:34:19 +07:00
sgschantz
b1685f5865
change(mac): use partial paths in settings
...
converts partial paths to full paths as needed
and vice-versa when moving between file
system access and referencing keyboards
in UserDefaults
2024-08-15 15:41:38 +07:00
Shawn Schantz
05918b5f04
Merge branch 'master' into change/mac/2542-store-keyboards-elsewhere
2024-08-09 14:38:33 +07:00
Shawn Schantz
8b408730b7
change(mac): uses Library directory instead of Documents
...
Write new key KMDataModelVersion in UserDefaults with
integer value that determines how data is expected to be stored.
Migrates existing Keyman data to new location if it was written
with an older (or no) version.
Fixes : #2542
2024-08-06 17:14:34 +07:00
Shawn Schantz
b435090a6f
change(mac): migrates options and changes keyboards successfully
2024-08-05 16:43:02 +07:00
sgschantz
c2e2cf53c6
change(mac): successful migration but not loading from config
2024-08-02 15:21:56 +07:00
sgschantz
4fb5d74f49
change(mac): implemented data migration and settings path updates
2024-08-01 17:00:07 +07:00
sgschantz
bff17dc1c2
change(mac): customize menus after all views are created
...
rather than reading from disk and adding keyboards include
awakeFromNib, do so in applicationDidFinishLaunching
2024-07-31 10:52:34 +07:00
sgschantz
37dcacc0cb
change(mac): add KMDataRepository class to handle data (keyboards) migration
2024-07-30 16:08:34 +07:00
Shawn Schantz
5488e32be2
change(mac): add class to encapsulate settings
2024-07-29 16:01:58 +07:00
sgschantz
59013ae478
change(mac): add custom sentry tags to provide crash context
...
still need to add breadcrumbs and remove test code
2024-06-15 17:24:34 +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
746149178a
chore(mac): re-indenting to 2 spaces
...
phase two
2024-05-13 17:07:52 +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
10b60006bd
added lowLevelBackspaceCount, eliminated redundant keymanCode 0xFF event
2024-02-28 09:37:04 +07:00