Commit graph

104 commits

Author SHA1 Message Date
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
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
Shawn Schantz
4af399612e
Merge pull request #6006 from keymanapp/fix/mac/osk-label-size
fix(mac): increase OSK character size by 50%
2021-12-17 15:36:27 +07:00
sgschantz
5ffd91d29b restore OSK relative label height size to 0.45 2021-12-17 13:58:53 +07:00
sgschantz
a5f39a77d2 decrease OSK relative label height sizeto 0.42 2021-12-09 14:54:15 +07:00
sgschantz
0bff16a643 merge in changes from master 2021-12-09 12:25:08 +07:00
sgschantz
e982812454 fixed indentation 2021-12-07 15:40:06 +07:00
sgschantz
1b27d2b09a moved package reading out of app delegate to separate class KMPackageReader, conformed to code style guidelines 2021-12-07 15:24:17 +07:00
sgschantz
e7d98edaa2 conforms to style guidelines, adds constants for relative height of key label 2021-12-06 11:49:29 +07:00
sgschantz
6a1803201f increase size of characters on key by 50% and clip long labels without ellipsis 2021-12-03 11:14:37 +07:00
sgschantz
96c78752b5 load Keyman Package information from kmp.json file and store in new PackageInfo object rather than in existing Dictionary hierarchy 2021-11-25 17:09:01 +07:00
Marc Durdin
ce2aa9a166 feat(web): support for &layerChanged
Relates to #3621.

Add support for `&layerChanged` system store. This store is set to `1`
before a `begin postKeystroke`, if the keystroke it follows resulted in
a layer change, either programatically through a keyboard rule, or
through a `nextlayer` property of the touched key.
2021-11-24 06:45:20 +11:00
Marc Durdin
dcedb15b69 chore: cleanup comments and defines 2021-11-23 16:08:19 +11:00
Marc Durdin
33a2e230f6 chore(developer): enforce file versions for feature 2021-11-11 13:26:56 +11:00
Marc Durdin
643d6da144 fix(mac): .kmx max file version is now 0x0E00 (14.0)
Fixes #5316.

Keyman for macOS did not recognise the updated version number 0x0E00,
which is version 14.0. There are no changes to the file format which
impact Keyman for macOS -- the only change is support for notany and
context for Keyman Engine for Web.
2021-06-22 07:10:39 +10:00
Marc Durdin
647c20ebc7 chore: support for xcode 12
Fixes #4994.
2021-04-29 14:30:10 +10:00
Marc Durdin
0981473514 chore(mac): fix iso section key code 2020-11-25 18:56:23 +11:00
Marc Durdin
d849c532de chore(mac): address review comments
* Make less WET
* Add comments
* Fix mixed up key labels
2020-11-24 08:27:37 +11:00
Marc Durdin
c8000c2d9c chore: cleanup 2020-11-24 08:24:30 +11:00
Marc Durdin
e32ab796bd feat(mac): Add support for "ISO" keyboard layouts
Fixes #2601.

This PR adds support for the 102nd key as found on European layouts. It
does not however reshape the Enter key and move the BKSLASH key, as that
is a much bigger job; functionally this makes it possible to press the
102nd key, which was the biggest gap.
2020-11-24 08:24:30 +11:00
Marc Durdin
e41df6f838 fix(mac): re-sign files post plist update
Cleans up a bunch of bits and pieces around the build process and makes
sure that files are re-signed after we update the Info.plist file.
2020-11-24 08:02:16 +11:00
Marc Durdin
c2401514cb fix(mac): support page and copyright
Fixes #3849.

* Uses keyman-staging.com when on alpha or beta
* Updates copyright year at build time
* Fixes link to help documentation (/mac, not /macosx)
2020-11-20 05:55:53 +11:00
Marc Durdin
c8070718d9 chore: fixup plists 2020-11-19 09:07:54 +11:00
Marc Durdin
bede3948d2 feat(mac): Sentry support
I wasn't going to do this, but realised that crash reporting was going
to be a problem on mac because it still used crashlytics/fabric. Turned
out to be a good exercise to get me back into macOS world, and fairly
straightforward to get right (helps that the other platforms broke the
ice for me).
2020-11-18 17:13:20 +11:00
jahorton
7e10c56354 docs(common): requested comment tweaks 2020-11-17 09:57:31 +07:00
jahorton
ad6489d9d3 chore(common): adds requested comments re: tentative META flag 2020-11-17 09:42:28 +07:00
Marc Durdin
255e4f4b7a chore: Merge branch 'master' into chore/beta-to-master-p9s2-1 2020-02-17 10:11:15 +11:00
Marc Durdin
4281b72b26 chore(mac): Merge branch 'beta' into fix/mac/install-fails-with-quarantine 2020-02-14 11:26:43 +11:00
Marc Durdin
8784e142c3 chore(mac): address review comments 2020-02-07 16:14:10 +11:00
Marc Durdin
f856785742 fix(mac): Modifier keys were resetting cached context
Fixes #2375.

For applications that do not provide context to Keyman, Keyman was losing
the context buffer whenever a modifier key was pressed or released. This
change modifies the cache reset to occur only when the Command modifier is
pressed.
2020-02-05 19:32:03 +11:00
Marc Durdin
ccfef64c99 chore(mac): use new version infrastructure 2020-01-29 11:15:36 +11:00
Marc Durdin
f8ea457325 feat(mac): install script
First steps towards a clean install script
for Keyman for Mac. Some steps still out-
of-order for now, particularly opening
System Preferences to allow Keyman before
Keyman has run for first time.
2020-01-29 10:12:26 +11:00
Marc Durdin
b7f9a83c63 chore: version numbers 2020-01-28 14:30:04 +11:00
Marc Durdin
4120cd0d65 fix(mac): osk shouldn't show base letters
Fixes #2345. The OSK shouldn't show base letters when
a Keyman keyboard is active that includes a visual
keyboard.
2019-12-04 12:12:08 +01:00
Marc Durdin
0a2d8f055a
Merge branch 'master' into beta-alpha-p7s5 2019-08-22 14:40:03 +09:30
Marc Durdin
a04a024b82 Merge branch 'beta' into mac-notarize-app 2019-08-12 16:21:54 +10:00
Marc Durdin
4a9a1add1e Merge branch 'master' into beta-alpha-p7s4 2019-08-09 14:44:15 +10:00
Marc Durdin
bd58734e0c [Mac] Fix offset mismatch for index() when in a rule containing if() statements. Fixes #1892 2019-08-09 08:59:51 +10:00
Marc Durdin
d035344d2d [mac] Update version numbers for 13.0 alpha 2019-08-05 08:32:10 +10:00
Marc Durdin
c3376eba18 [Mac] Add notarization for 10.14.5 and later versions 2019-07-24 20:57:46 +10:00