Commit graph

101 commits

Author SHA1 Message Date
Shawn Schantz
333de576c8 change(mac): remove test code 2024-07-10 21:45:18 -04: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
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
sgschantz
984e6dc47a improve compliance detection, accounting for all delete and insert combinations 2024-04-08 16:24:22 +07:00
Shawn Schantz
71359a7b8f
Merge pull request #11141 from keymanapp/fix/mac-11087-slow-typing
fix(mac): load only 80 characters from context when processing keystrokes
2024-04-04 13:17:56 +07:00
Shawn Schantz
4c881a13c8
fix typo in comment
Co-authored-by: Darcy Wong <darcy_wong@sil.org>
2024-04-03 11:48:16 +07:00
sgschantz
6034033dae get a maximum of 80 characters from current context 2024-04-01 13:25:45 +07:00
sgschantz
62eec26901 replace characters during key processing by using deleted_context field from Core 2024-03-27 10:50:27 +07:00
sgschantz
9a8ea596be added issue # in comment 2024-03-11 14:29:42 -05:00
sgschantz
ca32ceb542 removed obsolete input method event handler class 2024-03-07 12:15:45 +07:00
sgschantz
07bf055edb mostly deletions of obsolete pre-core code 2024-02-28 13:25:03 +07:00
sgschantz
10b60006bd added lowLevelBackspaceCount, eliminated redundant keymanCode 0xFF event 2024-02-28 09:37:04 +07:00
Shawn Schantz
a42a2f0d38
comment cleanup
Co-authored-by: Joshua Horton <joshua_horton@sil.org>
2023-12-19 15:48:50 +07:00
sgschantz
e62dd67273 comment changes 2023-12-19 12:47:41 +07:00
sgschantz
5019904932 recalculate compliance on context change, improve auto detection of compliance 2023-12-15 15:11:41 +07:00
sgschantz
71d4710d89 changes for review comments 2023-12-13 15:40:16 +07:00
sgschantz
27b1236d90 eventTap changes, add delay to queued text event 2023-12-08 11:40:21 +07:00
sgschantz
b909540dd3 pass through delete keystroke to avoid re-sending event 2023-11-23 14:51:36 +07:00
sgschantz
6879af00e7 remove some of the legacy backspace code 2023-11-23 14:26:46 +07:00
sgschantz
ad34af7f74 remove action array optimizer and handler obsoleted by core improvements 2023-11-22 13:43:12 +07:00
sgschantz
c966a62087 remove single backspace code and rely on emit from core 2023-11-22 12:29:21 +07:00
sgschantz
d20f636827 disable persist options unit test, enforce emit keystroke returned from keyman core 2023-11-22 10:35:59 +07:00
sgschantz
75a99a940f formatting changes 2023-11-21 10:22:02 +07:00
sgschantz
ada74039e0 consuming actions struct from core 2023-11-03 08:43:37 +07:00
sgschantz
aace9fc9df proper unicode conversion when getting context stringthat containing SMP text; also other clean up in response to review comments 2023-10-30 12:29:51 +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
08c1ac9fc1 rename from compatibility to compliance 2023-10-04 17:57:22 +07:00
sgschantz
af25f2b466 auto detect non-compliant apps 2023-10-03 17:15:25 +07:00
sgschantz
682d99c2cb context simplification, legacy app determination integrated into TextCompatibilityCheck 2023-09-26 10:48:43 +07:00
sgschantz
df3c34a711 add back EventTap function to support left and right modifier keys, do not set NoCaps flag in calls to Core when Caps Lock is off 2023-08-24 14:06:49 +07:00
sgschantz
f57b934257 use helper method for string to unichar string 2023-08-16 15:53:42 +07:00
sgschantz
2cb7458829 successfully loading setting options in core -- not behaving predictably until null terminator added 2023-08-15 14:57:30 +07:00
sgschantz
4010c79bf9 handle PersistOption action; persisting but not loading at startup yet 2023-08-10 11:30:12 +07:00
sgschantz
0b8e3f62b4 remove key processing code from engine and move virtual key map to CoreHelper 2023-08-02 16:01:19 +07:00
sgschantz
b2dce47b3f update context with core when invalidated 2023-07-06 13:57:37 -04:00
sgschantz
bda03f4282 remove event and client from ActionHandler 2023-06-22 21:15:00 -04:00
sgschantz
81d6109783 fixed failing unit tests; added out of range checks on text replacement during insertText 2023-05-30 15:34:28 +07:00
sgschantz
16c6faf9c3 slight refactor of TextCompatibilityCheck and applying of operations to client 2023-05-30 10:49:37 +07:00
sgschantz
d306830b02 add TextCompatibilityCheck class and generate events for backspace and inserting queued text 2023-05-29 12:21:39 +07:00
sgschantz
144f4e0b4f added KMActionOperation to batch text inserts and deletes; improved context updates 2023-05-23 15:34:05 +07:00
sgschantz
ce0dc60a18 added KMContext, cleaned up some header comments 2023-05-16 15:22:29 +07:00
sgschantz
1566e06bea broke out CoreActionHandler, new path through InputMethod for Keyman Core action processing 2023-05-05 12:52:18 +07:00
sgschantz
10bf9af6df fix isClientAppLegacy which was always returning true and add unit tests for it 2023-04-11 09:05:52 +07:00
sgschantz
29bd741386 added action array optimizer unit tests 2023-03-27 14:33:07 +07:00
Marc Durdin
01b192796a feat(mac): user-controllable legacy app list
Fixes #1953.

Makes it possible to specify additional apps that need 'legacy' handling
without requiring an updated build of Keyman for Mac. The list should be
stored in user defaults under the `KMLegacyApps` key. It can be viewed
with the command:

```
defaults read keyman.inputmethod.Keyman KMLegacyApps
```

And updated with

```
defaults write keyman.inputmethod.Keyman KMLegacyApps -array value1 value2 ...
defaults write keyman.inputmethod.Keyman KMLegacyApps -array-add value1 value2 ...
```

Each entry should be a regex that matches the client app id.

For example:

```
defaults write keyman.inputmethod.Keyman KMLegacyApps -array com.microsoft.Word '^com.github.atom$'
```

(Note for purity, the `.` should be escaped in the regex but it'll
actually be fine without...)

This commit also adds the `keymanDataPath` method on
`KMInputMethodAppDelegate`, so we can place additional configuration
data there in the future (as opposed to in the shared config which is
less easy for users to edit.)
2020-11-25 16:56:52 +11:00