Commit graph

142 commits

Author SHA1 Message Date
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
18b0860316 change settings for core library name change and restore readPeristedOptions function name overwritten in merge 2023-10-26 09:59:17 +07:00
sgschantz
722ac1fd04 fix failed unit test, remove obsolete library references 2023-10-23 12:54:50 +07:00
sgschantz
d87459c3bc update for rename of core filenames and apis 2023-10-23 10:57:32 +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
9ea5f17424 changed names of core library dependencies for icu 2023-09-28 09:37:16 +07:00
sgschantz
0a56662ed1 expose context properly in core wrapper 2023-09-27 15:59:26 +07:00
sgschantz
9865c3d6ec set context correctly for unit test 2023-09-27 15:19:16 +07:00
sgschantz
99b2fdd81f core library icu changes, only builds for debug 2023-09-27 13:10:43 +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
1efce615f0 pass caps lock value to Keyman Core when processing keys 2023-08-22 10:13:59 +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
81b069c228 commented out failing unit test 2023-08-03 08:42:11 +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
7d7fc2e7bc fix or disable failing unit tests 2023-06-01 08:34:31 +07: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
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
13f0055ac9 comment cleanup 2023-05-15 08:50:36 +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
2e28e93bb5 override init to funnel everything to designated initializer for CoreAction 2023-03-27 16:26:32 +07:00
sgschantz
6be8169945 set designated initializer for CoreAction class 2023-03-27 15:55:47 +07:00
sgschantz
29bd741386 added action array optimizer unit tests 2023-03-27 14:33:07 +07:00
sgschantz
7a0eb338c4 added helper and wrapper unit tests 2023-03-21 08:41:41 +07:00
sgschantz
37441c753a specify ctrl and alt only if not right or left ctrl or alt 2023-03-17 09:11:45 +07:00
sgschantz
4316a3ceea modifier conversion support for left and right alt and ctrl keys 2023-03-16 14:25:33 +07:00
sgschantz
0251923ec8 set context in core at init time 2023-03-14 14:03:25 +07:00
sgschantz
bc3c8cdc6b optimize array of actions returned by core to conform to expected actions list 2023-03-14 12:03:54 +07:00
sgschantz
eba89e54cd preliminary integration of keyman core with keyman engine for mac 2023-03-09 14:07:44 +07:00
Steven R. Loomis
ae45295dc6 Merge remote-tracking branch 'upstream/master' into chore/merge-master-a17s5-REDO-epic-ldml 2023-02-03 16:53:35 -06:00
Marc Durdin
067028cec2 chore: revise tag variable name to VERSION_GIT_TAG
Introduce new $VERSION_GIT_TAG environment variable, and update all
references to release@version in all projects to use the new variable.
2023-01-21 17:02:50 +07:00
Steven R. Loomis
bc14f18460 Merge remote-tracking branch 'origin/master' into chore/core/mergemaster4-epic-ldml 2022-12-15 17:55:13 -06:00
Marc Durdin
a45145ae3d fix(mac): Caps processing was not consistent with core
Fixes #7632.

If Caps Lock was on, rules that did not specify Caps Lock state were
not matched, for example:

```
+ [K_SLASH] > 'foo'
```

The truth table for matches is:

Event    |    Rule     | Result
---------|-------------|-----------
NCAPS    |    0        | match
NCAPS    |    CAPS     | no match
NCAPS    |    NCAPS    | match
CAPS     |    0        | match
CAPS     |    CAPS     | match
CAPS     |    NCAPS    | no match

(Internally, Keyman for Mac currently maps 0 to NCAPS on the event for
simplicity.)

The fix is to ignore the Event Caps Lock state if the rule specifies
neither `CAPS` nor `NCAPS`. If the rule specifies either of these
state masks, then the Caps component of the state mask must match.
2022-11-23 09:25:11 +11:00
Steven R. Loomis
d56f6557fb chore(core): deprecate checksum in 16.0 🙀
- do not generate unless version<16.0
- never check checksum

Fixes: #7220
2022-09-16 14:24:01 -05:00
Steven R. Loomis
efd4c83490 chore(core): ignore checksum in 16.0 🙀
- mark as deprecated

Fixes: #7220
2022-09-16 14:24:01 -05:00
Marc Durdin
89ccc393ab chore: make checksum optional
Fixes #7222.
2022-09-09 17:23:07 +10:00
Marc Durdin
d54dd049d2 chore(common): add VERSION_160 to headers
Fixes #7044.

Groundwork for KMXPlus file format for LDML keyboard support.
2022-08-07 07:45:57 -05:00
Marc Durdin
b23df3fbc8 feat(web): &newLayer and &oldLayer
Fixes #6364.

Removes `&layerChanged` and adds `&newLayer` and `&oldLayer` system
stores with the additional nuances around values as described in #6364.
2022-03-13 08:29:15 +11:00
Marc Durdin
13c176c638 fix(mac): Check for CODE_SETSYSTEMSTORE
Fixes #6168.

This does not any support for changing any system store values, but does
ensure that the statement will be correctly handled when emitting
text.
2022-01-27 13:26:04 +11:00
Marc Durdin
0c0bb420b5
Merge pull request #5963 from keymanapp/feat/web/3621-newcontext-group
feat(web): Start of Sentence support - part 1 🕊
2022-01-17 12:04:29 +11:00