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.
parent
a70d2583
Please register or sign in to comment