mirror of
https://github.com/keymanapp/keyman.git
synced 2026-10-28 00:37:53 +00:00
Keyman cross platform input methods system running on Android, iOS, Linux, macOS, Windows and mobile and desktop web
The Caps Lock and Num Lock flags in Globals::ShiftState() are updated only as key events pass through the engine, so they go stale when the toggle is changed while a non-Keyman layout is active. The existing resync in GetCapsAndNumlockState() runs on window focus change, which a keyboard switch does not trigger, so the core processor was told Caps Lock was off until the user toggled it twice. Extract the toggle resync as RefreshToggleState() and call it from TIPActivateKeyboard(), which is the profile activation path for both Win+Space and the Windows language selector. Fixes #16422 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011GdFpFi5eqJP6C1YjuQytY |
||
|---|---|---|
| .github | ||
| android | ||
| common | ||
| core | ||
| developer | ||
| docs | ||
| ios | ||
| linux | ||
| mac | ||
| oem/firstvoices | ||
| resources | ||
| web | ||
| windows | ||
| .clang-format | ||
| .editorconfig | ||
| .eslintrc.cjs | ||
| .flake8 | ||
| .gitattributes | ||
| .gitignore | ||
| .nycrc.json | ||
| .shellcheckrc | ||
| build.sh | ||
| CODE_OF_CONDUCT.md | ||
| configure-repo.sh | ||
| CONTRIBUTING.md | ||
| crowdin.yml | ||
| HISTORY.md | ||
| LICENSE.md | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| TIER.md | ||
| tsconfig.base.json | ||
| tsconfig.json | ||
| VERSION.md | ||
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.
