Keyman cross platform input methods system running on Android, iOS, Linux, macOS, Windows and mobile and desktop web
Find a file
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
.github fix: only auto-merge if auto: prefix in title 2022-01-24 12:12:53 +11:00
android feat(android): Android web-based test harness 2022-02-22 10:38:20 +11:00
common fix(web): properly handle selection 2022-02-23 15:12:58 +11:00
developer auto: increment master version to 15.0.202 2022-02-21 13:02:21 -05:00
docs chore(developer): Merge branch 'master' into feat/developer/node-based-debugger-server 2022-01-21 14:45:30 +11:00
ios chore(common): Update French strings 2022-02-18 10:06:33 +07:00
linux Merge pull request #6241 from keymanapp/fix/linux/6240-man 2022-02-21 15:46:20 +07:00
mac chore(common): Update French strings 2022-02-18 10:06:33 +07:00
oem/firstvoices chore(android): Upgrade gradle-wrapper version to 6.8 2022-02-09 08:59:56 +07:00
resources auto: increment master version to 15.0.202 2022-02-21 13:02:21 -05:00
web fix(web): properly handle selection 2022-02-23 15:12:58 +11:00
windows/src chore(common): Update French strings 2022-02-18 10:06:33 +07:00
.clang-format chore(common): Add C++ formatting rules 2021-07-29 18:50:25 +02:00
.editorconfig fix(linux): add more package requirements 2020-02-06 18:26:57 +01:00
.flake8 chore(linux): Add integration tests for ibus-keyman 2021-11-04 09:22:28 +01:00
.gitignore chore(windows): Add obj cod and pdb to gitignore 2021-10-11 22:08:56 +10:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 2021-10-08 10:46:53 +11:00
configure-repo.sh feat(common): Support git worktree when configuring local hooks 2020-02-24 18:30:57 +01:00
CONTRIBUTING.md Update CONTRIBUTING.md 2021-10-08 17:59:25 +11:00
crowdin.yml feat(mac): Add mac files to crowdin.yml 2021-11-02 15:16:23 +07:00
HISTORY.md auto: increment master version to 15.0.202 2022-02-21 13:02:21 -05:00
lerna.json auto: increment master version to 15.0.202 2022-02-21 13:02:21 -05:00
LICENSE.md chore: additional links and docs 2021-10-08 14:06:45 +11:00
package-lock.json feat(windows): Bit wise and modifier flags for core process event 2022-01-25 14:59:19 +10:00
package.json chore(common): updates lerna to 4.0.0 2021-07-02 14:47:28 +07:00
README.md Update README.md 2021-10-08 18:06:46 +11:00
TIER.md chore: start history/version infrastructure 2020-01-29 08:54:32 +11:00
VERSION.md auto: increment master version to 15.0.202 2022-02-21 13:02:21 -05:00

Keyman

Keyman makes it possible for you to type in any language on Windows, macOS, Linux, iPhone, iPad, Android tablets and phones, and even instantly in your web browser. Create keyboard layouts with Keyman Developer and share them with the community in the keyboards repository. The Keyman Community have already contributed keyboard layouts for over 2,000 languages!

License

Copyright (c) SIL International.

Keyman is an open source project distributed under the MIT license.

Get Involved

Development Status

Important Links