spiegel-keyman/common/core/web/input-processor
Marc Durdin 6867bfd492 fix(web): crash on custom modifier keys
Fixes #6788.
Fixes KEYMAN-WEB-22.
Fixes KEYMAN-DEVELOPER-BQ.
Fixes KEYMAN-ANDROID-160.

Fixes a crash introduced in #6473 which was trying to prevent modifier
keys from triggering "fat finger" alternate lookups, due to incomplete
nullish coalescing.

Related to this, from what I can see, a secondary side-effect of the fix
in #6473 was that some key events may have never had their ruleBehaviors
finalized if they matched the `isOnlyLayerSwitchKey` heuristic, leading
to potential issues with edge case 'deadkey+layer switch' keys or keys
that set store values, for example. So this fix also makes the
`isOnlyLayerSwitchKey` test more targeted.

Identified this when adding a Caps Lock layer to sil_euro_latin and
testing the layer switching. At time of fix, the error had been raised
in KeymanWeb, Keyman Developer and Keyman for Android, but not yet
Keyman for iPhone and iPad.
2022-06-17 05:17:05 +10:00
..
src fix(web): crash on custom modifier keys 2022-06-17 05:17:05 +10:00
tests/cases chore(web): fixup InputProcessor tests 2022-04-01 08:55:55 +11:00
.gitignore change(web/engine): addresses most of PR review 2020-04-29 14:28:30 +07:00
package-lock.json auto: increment stable-15.0 version to 15.0.261 2022-06-14 23:30:51 -04:00
package.json auto: increment stable-15.0 version to 15.0.261 2022-06-14 23:30:51 -04:00
README.md docs(web/engine): fixes up readme.md for input-processor 2020-04-24 14:35:51 +07:00
test.sh chore: additional scripts 2022-03-10 10:26:15 +11:00

Keyman: Keyboard Processor Module

The Original Code is (C) 2017-2020 SIL International

The Keyboard Processor module is an internal component of KeymanWeb, seen within this repo at /web/.

Minimum Compilation Requirements

  • A local installation of Node.js v8.9+.
    • Builds will call npm install to automatically install further necessary build dependencies.

    • Linux users can run the following to update to LTS version of nodejs

sudo apt-get install python-software-properties
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install nodejs

The build script may be found at src/build.sh.