spiegel-keyman/common/core/web/keyboard-processor/src
Marc Durdin cacbbee5cc fix(web): properly handle selection
Relates to #5853 and others.

Selection management was not working properly with the various
OutputTargets:

1. When there is a non-empty selection, rules have no context -- it's
   like new text.
2. Backspace over a selection deletes just the selection.
3. Typing a character replaces the selection, of course, and collapses
   the caret to the end of the new text.
4. `hasSelection` is a very strange name for `OutputTarget` descendants.
   It doesn't mean "has an active selection" but rather, kinda means
   "supports selection internally".
5. Added `isSelectionEmpty` which is used for some of the new selection
   rules above.

Note that the `touchAlias` OutputTarget class does not currently support
selection. I hope we can deprecate `touchAlias` with the use of
`inputMode` (#3030) in the future, rather than adding support for
selection.
2022-02-23 15:12:58 +11:00
..
keyboards Merge branch 'master' into feat/web/3620-caps-layer 2022-01-17 12:26:32 +11:00
text fix(web): properly handle selection 2022-02-23 15:12:58 +11:00
build.sh change(web): set -eu for web scripts 2021-01-27 14:29:16 +07:00
tsconfig.json refactor(common/core/web): fixes web/core, predictive-text 2020-06-17 10:32:36 +07:00