Commit graph

13 commits

Author SHA1 Message Date
Matthew Lee
fb91d2fc75
Update windows/src/engine/keyman32/capsstate.cpp
Co-authored-by: Marc Durdin <marc@durdin.net>
2026-08-22 10:26:53 +03:00
Matthew Lee
dcbfcf810f
Update windows/src/engine/keyman32/capsstate.cpp
Co-authored-by: Marc Durdin <marc@durdin.net>
2026-08-22 10:26:23 +03:00
Matthew Lee
13326b4091
Update windows/src/engine/keyman32/capsstate.cpp
Co-authored-by: Marc Durdin <marc@durdin.net>
2026-08-22 10:25:46 +03:00
Matthew Lee
5d073fa44f fix(windows): resync caps lock state when Keyman keyboard is activated
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
2026-08-21 23:21:34 +03:00
Ross
4019a79676 chore(windows): address review comments 2023-04-21 18:43:50 +10:00
Ross
3b3ea6e75b feat(windows): clean up formating 2021-08-17 17:16:56 +10:00
Ross
0f4e3d1768 feat(windows): core saving context null pointer check 2021-08-17 14:10:44 +10:00
Marc Durdin
e48f547303 [Windows] Fix tabs to spaces, factor IsCapsLockOn function 2019-01-09 13:55:28 +11:00
Marc Durdin
5b60359aa2 [Windows] Fix Caps Lock header support 2019-01-08 20:41:29 +11:00
Marc Durdin
738e1946a6 [Windows] Debug logging and proof of concept tests for keyboarding support within metro-style apps
[Windows] More tidyup and robustness for metro app support - debug cleanup and serialization of input (not quite finished)

[windows] Refactor serialized input code when used with key event thread model

[windows] Add consistent precompiled headers for other projects

[windows] Merge console window test into metro support

[Windows] Tidy up work and identify additional TODOs for metro-style app support

[Windows] Ensure error case falls through to default hook processing for console windows

[Windows] Refactor shared memory into memory mapped file so we can cross 32-64 bit boundary

[Windows] Tweaks to C++ security calls and parameters

[Windows] Start refactor of SerialKeyEvent* classes

[Windows] Rename to SerialKeyEventServer (refactoring)

[Windows] Complete refactoring of SerialKeyEventClient class

[Windows] Further encapsulation and cleanup with 'interfaces' to reduce header pollution

[Windows] Complete serialization fix with move of modifier state management from client thread to server thread to guarantee consistency

[Windows] Replace atom-based keyboard switching with memory mapped file indexed to avoid security constraints

[Windows] Fixup Left Alt+Shift interaction with serializer

[Windows] Use Windows 8.1 SDK for test
2018-10-18 20:00:49 +11:00
Marc Durdin
d2331680b2 [Windows] Address review comments, document, and tidy up constants 2018-10-03 07:01:34 +10:00
Marc Durdin
3da89424ed Cleanup of dev-time install and debugging, removal of commented code 2017-09-20 12:08:46 +07:00
Marc Durdin
b65b982584 Keyman Desktop and Keyman Developer open source 10.0 alpha seed (#121)
* Keyman for Windows 10.0 Open Source

* Squashed 'windows/src/ext/jedi/jedi/' content from commit f444ad2

git-subtree-dir: windows/src/ext/jedi/jedi
git-subtree-split: f444ad2da4693851e523f1ea6bd541f701904c24

* Squashed 'windows/src/ext/jedi/jcl/' content from commit d63d3c9fd

git-subtree-dir: windows/src/ext/jedi/jcl
git-subtree-split: d63d3c9fd9ff84efdd8159084ec6a60313644243

* Squashed 'windows/src/ext/jedi/jvcl/' content from commit bee19f3b4

git-subtree-dir: windows/src/ext/jedi/jvcl
git-subtree-split: bee19f3b46909fde2fa92c06cd2706f41d99f6c3

* Add required .res files

* Add required .res files

* Add docbook files (forced)

* Add required libxslt

* Add required jedi files

* Add installation files

* Tweak .gitignore for open

* CI

* Remove KMW from Developer source (#122)

* Remove KMW from Developer source (copies during build)

* Remove KMW from Developer source (copies during build)

* Remove KMW from Developer source (copies during build)

* Fixup release build and copy license, readme from kmw during build

* Remove obsolete build help documentation

* Keyman Engine 10 on Windows regression for shift states (#129)

* Improve #128 -- cleaner debug messages

* Fixes #127, shift state now resets correctly; and more work for #128

* Fixes #130 (#131)
2017-07-25 10:53:06 +07:00