Keyman cross platform input methods system running on Android, iOS, Linux, macOS, Windows and mobile and desktop web
Find a file
Eberhard Beilharz 4d7867e61c
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
fix(web): allow to set default keyboard to 'off'
The parameters for `setKeyboardForControl` basically have three
different modes:
- an id of a keyboard/language to set that keyboard, enabling independent
  keyboard mode
- empty string to set the system keyboard, enabling independent keyboard
  mode
- `null` to disable independent keyboard mode.

Our previous code didn't properly handle the last two modes. This change
fixes the problems and also clarifies and updates the documentation.

Also included is an improvement to the guide-examples e2e tests that now
wait until all keyboards are loaded (which may fix #16167).

Partially drafted by kilo.ai.

Fixes: #16080
Build-bot: skip release:web
2026-09-08 11:56:41 +02:00
.github maint(windows): move to vs2026 arm runner for GHA 2026-08-21 11:46:17 +02:00
android chore(android): upload webview source map during android and ios build 2026-08-27 18:57:18 +02:00
common Merge pull request #16445 from keymanapp/change/developer/14211-deprecate-fix-clearcontext 2026-09-01 22:32:31 +07:00
core Merge pull request #16502 from keymanapp/chore/developer/improve-kmc-ldml-test-messages 2026-09-03 21:48:19 +07:00
developer chore(deps): bump qs and express 2026-09-07 09:20:28 +00:00
docs Merge pull request #16445 from keymanapp/change/developer/14211-deprecate-fix-clearcontext 2026-09-01 22:32:31 +07:00
ios chore(android): upload webview source map during android and ios build 2026-08-27 18:57:18 +02:00
linux change(developer): deprecate fix, clearcontext, bump max .kmx version to 19.0 2026-08-27 09:24:50 +02:00
mac chore(mac): merge preprocessor constants 🧽 (#16529) 2026-09-05 18:18:42 +02:00
oem/firstvoices maint(windows): remove koSwitchLanguageForAllApplications, koAutoSwitchOSKPages, osVista, osWin7, osWin8, cleanup 2026-08-27 07:47:25 +02:00
resources fix(windows): open chm external links in user's browser 2026-09-03 07:08:53 +02:00
web fix(web): allow to set default keyboard to 'off' 2026-09-08 11:56:41 +02:00
windows Merge pull request #16443 from keymanapp/maint/windows/16433-remove-koSwitchLanguageForAllApplications-and-cleanup 2026-09-01 16:11:29 +07:00
.clang-format feat(linux): work on 2nd round of comments on PR 11816 2024-06-20 17:44:21 +02:00
.editorconfig chore(linux): Address a few more lintian warnings 2022-03-15 15:32:10 +01:00
.eslintrc.cjs maint: patchup eslint configuration 2025-05-02 14:06:33 +07:00
.flake8 chore(linux): Add integration tests for ibus-keyman 2021-11-04 09:22:28 +01:00
.gitattributes maint(common): use LF line endings for scripts 2025-08-18 17:50:28 +02:00
.gitignore chore(developer): consolidate api-extractor usage in Developer 2026-06-24 14:45:05 +02:00
.nycrc.json feat(developer): fixup and prepare build scripts and docs for kmc 2022-09-19 06:36:06 +10:00
.shellcheckrc maint(linux): remove several shellcheck directives and warnings 2025-09-23 18:30:16 +02:00
build.sh maint(common): consolidate builder scripts 2025-08-02 08:11:24 +10:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 2021-10-08 10:46:53 +11:00
configure-repo.sh chore: update docs and non-standard readlink refs 2023-02-22 10:41:54 +07:00
CONTRIBUTING.md chore: add maint to CONTRIBUTING.md 2025-04-29 11:15:55 +07:00
crowdin.yml fix(common): Remove custom language mappings in crowdin.yml 2026-01-13 10:49:52 +07:00
HISTORY.md auto: increment master version to 19.0.282 2026-09-07 13:01:52 -05:00
LICENSE.md maint(linux): fix lintian warnings 2025-05-13 20:07:32 +02:00
package-lock.json chore(deps): bump qs and express 2026-09-07 09:20:28 +00:00
package.json feat(developer): kmc-convert: new conversion .keylayout->kmn 😎 (#12564) 2026-08-18 15:16:02 +02:00
README.md docs(common): update README with number of languages and keyboards 2025-05-21 20:36:20 +02:00
TIER.md Update TIER.md 2022-11-14 07:34:26 +11:00
tsconfig.base.json chore(common): disable strictNullChecks for TypeScript for now 2026-08-17 11:25:04 +02:00
tsconfig.json Merge branch 'epic/kmc-convert' into auto/A19S30-merge-master-into-kmc-convert 2026-06-02 13:24:54 +02:00
VERSION.md auto: increment master version to 19.0.282 2026-09-07 13:01:52 -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 so far contributed well over 1,000 keyboard layouts for over 2,500 languages!

License

Copyright (c) SIL Global.

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

Get Involved

Development Status

Important Links