rc-swag
71ccb1ab6f
fix(windows): merge resloution fix unused var
...
This fixes a merge resolution from master to the
branch. It also removes unused variables, from
a previous change.
2026-09-23 11:41:45 +10:00
rc-swag
6c775d5819
chore(windows): Merge branch 'master' into fix/windows/15152/basekeyboard-install-non-admin-2
2026-09-23 10:50:53 +10:00
rc-swag
f8ee1b7c8a
Merge pull request #16162 from keymanapp/fix/windows/15152/basekeyboard-user-not-admin
...
fix(windows): set basekeyboard as current user not the admin user on an elevated process
2026-09-23 09:52:25 +10:00
rc-swag
bb20b89034
fix(windows): rename filename builder functions
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-09-18 21:16:54 +10:00
rc-swag
587d74dee4
fix(windows): apply batched suggestions from code review
...
Co-authored-by: Marc Durdin <marc@durdin.net>
2026-09-18 20:48:56 +10:00
rc-swag
c940caeb71
fix(windows): fix date in title block
2026-09-18 16:58:58 +10:00
rc-swag
b6f475a382
fix(windows): add basekeyboard filename functions
Keyman Build Summary / Summarize build status checks (push) Waiting to run
2026-09-16 17:37:59 +10:00
Marc Durdin
6b8d267fde
chore(windows): remove references unused extensions .kma and .kxx
...
Test-bot: skip
2026-09-15 14:57:32 +02:00
rc-swag
babd43ab29
fix(windows): refactor ConfigureBaseKeyboard
...
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
Refactor ConfigureBaseKeyboard to ConfigureAndSetBaseKeyboard
call the SetBaseKeyboard from the form rather then from
the initprog module.
2026-09-15 12:11:02 +10:00
rc-swag
f80986dedd
fix(windows): apply batched suggestions from code review
...
Keyman Build Summary / Summarize build status checks (push) Waiting to run
Co-authored-by: Marc Durdin <marc@durdin.net>
2026-09-14 14:42:32 +10:00
rc-swag
0889b5f608
fix(windows): merge base branch
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-09-08 10:08:20 +10:00
rc-swag
63d12b671a
fix(windows): remove UpdateBaseLayout deadcode
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-09-07 20:43:26 +10:00
rc-swag
163806b712
fix(windows): git revert error fix
Keyman Build Summary / Summarize build status checks (push) Waiting to run
2026-09-07 17:17:39 +10:00
rc-swag
0409cda120
fix(windows): add comments for new functions
2026-09-07 13:03:29 +10:00
rc-swag
3cc8e42e61
fix(windows): add default for basekeyboardID
Keyman Build Summary / Summarize build status checks (push) Waiting to run
2026-09-07 10:18:06 +10:00
rc-swag
eb0c264801
fix(windows): unsaved file checking
2026-09-04 14:56:06 +10:00
rc-swag
36ae88acea
fix(windows): cmd line switch rename
2026-09-04 14:05:18 +10:00
rc-swag
1eda5fe90e
fix(windows): rename Setting System
...
Also update the command line to use FBaseKeyboardID instead of
FQuery.
2026-09-04 13:55:43 +10:00
rc-swag
d67c4911af
fix(windows): rename Setting System
...
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
Also update the command line to use FBaseKeyboardID instead of
FQuery.
2026-09-04 13:48:49 +10:00
rc-swag
20d5a4c104
fix(windows): typos and return type in interface declaration
2026-09-04 11:22:41 +10:00
rc-swag
f40e075413
fix(windows): strtoint for command line basekeyboardid
...
Also rebuild kmcomapi_TLB.pas
2026-09-04 11:21:33 +10:00
rc-swag
91a1a4267e
fix(windows): pass basekeyboardid to installation api
...
The updates all the apis so that the basekeyboardid or klid
can be passed in as an argument. This in needed so that
elevated process required to compile the keyboard has
the call users keyboard base id.
2026-09-04 11:21:09 +10:00
rc-swag
b9743d277b
fix(windows): fix indentation
Keyman Build Summary / Summarize build status checks (push) Waiting to run
2026-09-03 17:37:22 +10:00
rc-swag
48923665d9
chore(windows): Revert "fix(windows): pass basekeyboardid to installation api"
...
This reverts commit 82fb40002b .
2026-09-03 17:30:21 +10:00
rc-swag
5e89946c00
chore(windows): Revert "fix(windows): strtoint for command line basekeyboardid"
...
This reverts commit 155b8e15ed .
2026-09-03 17:29:51 +10:00
rc-swag
c3160944e5
chore(windows): Revert "fix(windows): typos and return type in interface declaration"
...
This reverts commit 0c68b1e031 .
2026-09-03 17:29:04 +10:00
rc-swag
314dea4bac
fix(windows): move non ui function from ufrmbasekeyboard
2026-09-03 16:17:21 +10:00
rc-swag
8e77a5779a
fix(windows): CompileForBaseKeyboard doesn't return
...
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
a value
2026-09-02 17:54:26 +10:00
rc-swag
3c1b47eedc
fix(windows): Free the correct object
Keyman Build Summary / Summarize build status checks (push) Waiting to run
2026-09-02 12:37:03 +10:00
rc-swag
0c68b1e031
fix(windows): typos and return type in interface declaration
2026-09-02 10:10:16 +10:00
Marc Durdin
d496f8d59b
Merge pull request #16443 from keymanapp/maint/windows/16433-remove-koSwitchLanguageForAllApplications-and-cleanup
...
maint(windows): remove `koSwitchLanguageForAllApplications`, `koAutoSwitchOSKPages`, osVista, osWin7, osWin8, cleanup
2026-09-01 16:11:29 +07:00
Marc Durdin
947dbe9910
Merge pull request #16439 from keymanapp/refactor/windows/15333-cleanup
...
refactor(windows): cleanup unused wm_keyman_control values
2026-09-01 16:11:18 +07:00
Marc Durdin
3c44f8ab5b
Merge branch 'master' into fix/windows/15333-simplify-keyboard-refresh
2026-09-01 15:44:05 +07:00
rc-swag
155b8e15ed
fix(windows): strtoint for command line basekeyboardid
...
Keyman Build Summary / Summarize build status checks (push) Waiting to run
Also rebuild kmcomapi_TLB.pas
2026-09-01 15:53:48 +10:00
rc-swag
82fb40002b
fix(windows): pass basekeyboardid to installation api
...
Keyman Build Summary / Summarize build status checks (push) Waiting to run
The updates all the apis so that the basekeyboardid or klid
can be passed in as an argument. This in needed so that
elevated process required to compile the keyboard has
the call users keyboard base id.
2026-08-31 15:34:45 +10:00
Marc Durdin
3a6b5fd9a9
Merge branch 'master' into refactor/windows/16434-rename-to-RefreshModifierState
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-08-28 12:37:35 +07:00
rc-swag
15e91ab452
Merge pull request #16423 from MattGyverLee/fix/windows/16422-caps-lock-state-on-keyboard-switch
...
fix(windows): resync caps lock state when Keyman keyboard is activated
2026-08-28 15:31:03 +10:00
rc-swag
9abf6d23c3
Merge pull request #16430 from keymanapp/fix/windows/15187/msi-uninstaller-access-helper
...
fix(windows): add manifest to insthelper and set trustinfo to asInvoker
2026-08-28 09:44:00 +10:00
Marc Durdin
33e64f1edd
refactor(windows): rename GetCapsAndNumlockState() to RefreshModifierState()
...
Fixes : #16434
Test-bot: skip
2026-08-27 08:20:21 +02:00
Marc Durdin
e7bc51fcda
chore(windows): formatting
...
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
Co-authored-by: Ross Cruickshank <rc-swag@users.noreply.github.com>
2026-08-27 07:53:40 +02:00
Marc Durdin
0f281a6a9d
maint(windows): remove koSwitchLanguageForAllApplications, koAutoSwitchOSKPages, osVista, osWin7, osWin8, cleanup
...
* Remove references to `koSwitchLanguageForAllApplications` and
`koAutoSwitchOSKPages` options, translated strings for them, and
related `GlobalKeyboardChangeManager` -- no longer required since
Win8.
* Remove Windows Vista-, 7-, and 8-specific code paths - except for the
one user-facing setting for installing keyboards on downlevel
operating systems.
* Remove commented code
Fixes : #16433
Test-bot: skip
2026-08-27 07:47:25 +02:00
rc-swag
16a1a6e788
fix(windows): remove old TODO comments
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-08-27 07:46:17 +10:00
rc-swag
3597a555e7
fix(windows): insthelp trustinfo and add manifest
...
Keyman Build Summary / Summarize build status checks (push) Waiting to run
Change the manifest trustinfo to asInvoker from requireAdminstrator.
This was causing the preuninstaller to fail as it couldn't elevate.
This also adds the manifest back into the build as it was previously
removed.
fixes: 15187
2026-08-26 22:48:38 +10:00
Marc Durdin
2c7bba8d10
refactor(windows): cleanup unused wm_keyman_control values
...
Cleanup of unused `wm_keyman_control` and `wm_keyman_refresh` values,
and some other unused messages, which were making the implementation
harder to understand.
Relates-to: #15333
Follows: #16435
2026-08-26 10:18:00 +02:00
Marc Durdin
0e332b6f6c
fix(windows): simplify keyboard refresh and make it more on-demand
...
Keyman Build Summary / Summarize build status checks (push) Waiting to run
Clean up the keyboard refresh process. Keyman COM API will post a
`wm_keyman_refresh`, `KR_REQUEST_REFRESH` message when changes have been
made to the list of installed keyboards (or some other keyboard-related
settings change).
Keyman Engine (any arch) will handle this message, in any process, and
post a message to the master controller (keyman.exe, TfrmKeyman7Main),
`wm_keyman_refresh`, `KR_PRE_REFRESH`.
Keyman Engine (keyman32) will handle _this_ message in the master
controller thread context, and increment the global refresh tag. It also
asks the other architecture host process(es) to update their global
refresh counter to the same value (by posting `wm_keyman_refresh`,
`KM_PRE_REFRESH` to those process(es).)
This refresh tag is then compared on-demand in each thread to the
thread's current refresh tag value, when a keyboard activation is
received, on set focus, or on a keystroke, and the keyboard list is
refreshed at that point.
This means that keyboard installation no longer triggers a large amount
of activity reloading all the keyboards on all windowed threads, but
rather they will gradually reload as the user interacts with them. It
also fixes #15333 , which related to having threads with only child
windows -- that is, that were parented by top-level windows from other
threads -- which thus never received the global broadcast in the earlier
design. For example, VSCode, Notepad in Win11, Chrome.
Fixes : #15333
2026-08-26 10:15:46 +02:00
Matthew Lee
446559c221
Update windows/src/engine/keyman32/capsstate.cpp
...
Co-authored-by: rc-swag <58423624+rc-swag@users.noreply.github.com>
2026-08-24 09:19:47 -04:00
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
f586e94cf5
Update windows/src/engine/keyman32/appint/aiTIP.cpp
...
Co-authored-by: Marc Durdin <marc@durdin.net>
2026-08-22 10:25:22 +03:00