Commit graph

509 commits

Author SHA1 Message Date
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
803a218cbd fix(mac): clear the modifier keys when the OSK window is closed 2024-12-17 13:52:09 +07:00
sgschantz
03b925a209 fix(mac): break up timerAction function 2024-12-13 15:53:42 +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
4629cd11eb chore(mac): draw three-color stripe correctly in About box
due to Sonoma change of default setting in UIView
where clipsToBounds is defaulting to false, the
stripe in the About box was appearing much taller
than the expected 7 points
2024-12-05 09:51:43 +07:00
sgschantz
3dd5207252 chore(mac): update SIL logo in About window to include Andika glyph
Fixes: #12159
2024-12-04 10:47:12 +07:00
Shawn Schantz
d40ca934c6 create separate functions for managing UserData contents of CGEvent 2024-10-17 16:31:00 +07:00
Shawn Schantz
622a0aa698 chore(mac) upgrade sentry to support xcode 16 build 2024-10-17 11:45:12 +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
Shawn Schantz
492baead2c
Merge pull request #12355 from keymanapp/change/mac/12342-remove-always-show-osk
change(mac): remove 'Always show OSK' option
2024-09-17 08:50:18 +07:00
sgschantz
24830f4bc6 change(mac): improved comments and increased delay to 0.25 2024-09-16 10:55:21 +07:00
sgschantz
4ec6144c64 change(mac): added delays before inputmethod state transition 2024-09-13 14:53:16 +07:00
sgschantz
d664797359 change(mac): attempt to fix sequoia failure to deactivate 2024-09-13 13:53:08 +07:00
Shawn Schantz
a50a089f63
Merge branch 'master' into change/mac/12342-remove-always-show-osk 2024-09-12 20:21:44 +07:00
Shawn Schantz
a99ca4f120 change(mac): overhauled logic for determining input method state
uses Carbon APIs to determine current input source
This, combined with text input client is used to determine
whether Keyman is truly active or not.
Removed all code executing on delays and immediately
checks state and shows/hides OSK and
enables/disables eventTap.
2024-09-12 19:57:10 +07:00
Darcy Wong
84dbc1042c chore(common): Update crowdin strings for Italian 2024-09-12 15:56:22 +07:00
sgschantz
b3651f0dfa change(mac): renamed property and cleaned up comments
Fixes: #12342
2024-09-11 11:03:47 +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
f5677782b0 fix(mac): check for macOS 11 for PostEvent access
CGPreflightPostEventAccess API should be available
with macOS 10.5 (Catalina) but that does not appear
to be true in experience. Changing to check for 11.0
(Big Sur) before using that API instead.

Fixes: #12295
2024-09-03 13:07:25 +07:00
sgschantz
cc2c917bc2 fix(mac): nil window references after dismissing dialogs
also delete commented code
2024-09-02 15:56:50 +07:00
sgschantz
b38700cb19 fix(mac): comment cleanup 2024-09-02 09:34:31 +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
Shawn Schantz
0aa4be5584
Merge pull request #12144 from keymanapp/change/mac/2542-use-partial-keyboard-paths
change(mac): store partial path in UserDefaults
2024-08-30 12:36:17 +07:00
Shawn Schantz
a283fd1391
Merge pull request #12106 from keymanapp/change/mac/2542-store-keyboards-elsewhere
change(mac): store data in Library directory instead of Documents
2024-08-30 12:35:36 +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
Darcy Wong
1d55100cb3 chore(common): Update crowdin strings for Czech 2024-08-29 14:54:48 +07:00
sgschantz
24daed27f7 change(mac): minor comment cleanup
Fixes: #2542
2024-08-28 12:54:42 +07:00
Shawn Schantz
31a545bcf2
Merge branch 'change/mac/2542-store-keyboards-elsewhere' into change/mac/2542-use-partial-keyboard-paths 2024-08-28 12:46:27 +07:00
Shawn Schantz
8dd258d485
Merge branch 'master' into change/mac/2542-store-keyboards-elsewhere 2024-08-27 13:09:25 +07:00
sgschantz
ea6e29581b change(mac): some minor changes after review comments 2024-08-27 13:06:37 +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
Shawn Schantz
2b752bf7ef
Merge branch 'master' into fix/mac/12197-invalid-version-string 2024-08-26 14:02:44 +07:00
sgschantz
24f4a61ada change(mac): responded to review comments 2024-08-21 17:05:07 +07:00
Shawn Schantz
f074edaccf
Merge branch 'master' into fix/mac/11674-crash-during-compliance-check 2024-08-21 11:19:35 +07:00
sgschantz
a26389bfea test(mac): removed commented code 2024-08-21 11:12:43 +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
49bfd08fb3 change(mac): persist options fix when dictionary exists
testing showed that when an option already existed,
it would be deleted when attempting to update it to
a new value
2024-08-19 12:49:46 +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