Commit graph

76 commits

Author SHA1 Message Date
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
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
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
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
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
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
3135a4eed0
Merge pull request #1839 from kamholz/deadkey-fix
[Mac] fix two deadkey issues
2019-07-09 06:28:25 +10:00
David Kamholz
11703a5de2 make setStore also set storeSaved 2019-06-22 12:33:18 -07:00
David Kamholz
4fb09bec25 remove unnecessary line 2019-06-21 13:49:58 -07:00
David Kamholz
f7535c4be4 remove obsolete code 2019-06-21 11:20:49 -07:00
David Kamholz
93e8361800 persist save() values across sessions 2019-06-21 11:18:58 -07:00
David Kamholz
49046e5143 fix issue with >10 deadkey 2019-06-21 00:19:59 -07:00
David Kamholz
085a005763 fix multiple deadkey issue 2019-06-21 00:19:59 -07:00
David Kamholz
7a88b0ce0e make set/reset/save work when only statement on rhs 2019-06-20 23:51:58 -07:00
David Kamholz
4931f70822 add support for if(), set(), reset(), save() 2019-06-20 01:51:49 -07:00
Randy Boring
27404bbcdc fix issue #1412 Crash displaying OSK in 10.7 by using older method of getting CGColorRef
remove warnings by comparing to constant string instead of other way round
2018-12-12 21:58:28 -06:00
Tom Bogle
ef08ff6f34 [Mac] #1090 - Cherry-picked subsequent fix to correct over-agressive fix 2018-08-13 15:09:10 -04:00
Tom Bogle
87a46a84c0 [Mac] #1090 - Moved check for no modifiers to also apply to context case
I attempted unsuccessfully to find an actual failing case so I could add a unit test for this. Even though I couldn't, I agree that it is the correct logic, so I'm making the change as Marc suggested.
2018-08-10 09:15:49 -04:00
Tom Bogle
3eb7a1002e [Mac] Fixes #1090 - Full set of unit tests and correct fix 2018-08-10 09:15:35 -04:00
Tom Bogle
ec811eb7f8 [Mac] Cherry-pick of commit to fix #1059 on stable-10.0
Avoid calls to unsupported selectors on old version of OS
2018-07-12 17:08:07 -04:00
Tom Bogle
28147b631c [Mac] [WIP] - Refactoring of target-action call from keyView 2018-07-03 10:14:23 -04:00
Tom Bogle
976d626671 [Mac] Added comment to explain ugly code. 2018-06-27 22:38:46 -04:00
Tom Bogle
12521fb7d2 [Mac] 894 - Oops, this is the actual fix 2018-06-27 15:10:38 -04:00
Tom Bogle
817d3e65c9 [Mac] Fixes #894 - Fixed invocation of keyAction (missing self param) 2018-06-27 15:06:29 -04:00