spiegel-keyman/mac/KeymanEngine4Mac/KeymanEngine4Mac
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
..
KME fix(mac): Caps processing was not consistent with core 2022-11-23 09:25:11 +11:00
Info.plist fix(mac): support page and copyright 2020-11-20 05:55:53 +11:00
KeymanEngine4Mac.h [Mac] [WIP] - Refactoring of target-action call from keyView 2018-07-03 10:14:23 -04:00