Commit graph

4033 commits

Author SHA1 Message Date
Marc Durdin
f55218fec6 chore: Merge remote-tracking branch 'origin/epic/web-core' into auto/A19S35-merge-base-into-web-core 2026-08-14 17:19:28 +02:00
Darcy Wong
669afb25b0
Merge pull request #16358 from keymanapp/chore/crowdin-es
chore(android,ios): Update Crowdin strings for Spanish - Latin America
2026-08-14 08:32:07 -05:00
Marc Durdin
9f8717e4f8
Merge pull request #16361 from keymanapp/fix/windows/12611-release-shift-on-osk-with-right-shift
fix(windows): release shift key on OSK when user releases physical right shift
2026-08-14 11:30:39 +02:00
Marc Durdin
9526eb72a6
Merge pull request #16365 from keymanapp/chore/windows/remove-junk-files
chore(windows): remove junk files from kmshell
2026-08-14 08:07:58 +02:00
Marc Durdin
16559f9a31 docs(windows): update comment for TfrmOSKOnScreenKeyboard.OskModifierEvent 2026-08-14 07:54:20 +02:00
Marc Durdin
2c5157b570 chore(windows): remove junk files from kmshell
Test-bot: skip
2026-08-13 15:26:49 +02:00
Marc Durdin
2e7772b87c fix(windows): release shift key on OSK when user releases physical right shift
When the user clicks either Shift key on the OSK, that emits a VK_LSHIFT
down key event. If the user subsequently presses and releases the Right
Shift key on their hardware keyboard, that does not reset the isDown
state for the Left Shift key, so the key is not released on the OSK, and
the state becomes inconsistent for apps also.

This change emits a key up event, if when Right Shift is released,
Keyman detects that Left Shift is still "down". Note that if the user
presses and holds Left Shift, and presses and releases Right Shift, the
left shift state will be reset before the users releases Left Shift. But
that's a pathological state!

Fixes: #12611
2026-08-13 10:49:13 +02:00
Darcy Wong
e2249734ea chore(common): Update Crowdin strings for Spanish (Latin America) 2026-08-12 09:20:12 -05:00
SabineSIL
450e23aae1
Merge branch 'master' into chore/developer/scatteredCode/cleanup_VKeys
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-08-12 10:44:53 +02:00
Sabine
a2bf976e5e chore(common): remove commented old #defines; in some files remove paths for #include km_vkey 2026-08-11 09:46:49 +02:00
Sabine
0b7af5b771 chore(common): include km_vkey.h 2026-08-07 16:00:19 +02:00
Sabine
22a04c14fd Merge branch 'chore/developer/scatteredCode/cleanup_VKeys' of https://github.com/keymanapp/keyman into chore/developer/scatteredCode/cleanup_VKeys 2026-08-07 12:55:24 +02:00
Sabine
dde35c87cc chore(common): undo last changes 2026-08-07 12:55:06 +02:00
SabineSIL
540f8c5db8
Merge branch 'master' into chore/developer/scatteredCode/cleanup_VKeys 2026-08-07 12:01:43 +02:00
Sabine
9854206f6a chore(common): use shorter input paths for km_vkey.h and #include also in windows/src/engine/... 2026-08-07 11:59:42 +02:00
rc-swag
fd3610b09f
Merge branch 'master' into feat/windows/13566/check-metered-connection
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-07-27 13:36:33 +10:00
Eberhard Beilharz
0f16f39e17
chore: Merge branch 'epic/web-core' into auto/A19S33-merge-master-into-web-core 2026-07-20 09:57:23 +02:00
rc-swag
f027c297fd feat(windows): send errors to sentry
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-07-16 15:58:09 +10:00
rc-swag
ffd45e1394 fix(windows): fix caution image allignment metered
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
connection.
2026-07-14 15:44:29 +10:00
rc-swag
c32f731978 fix(windows): need restart only case manual update
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
Also made the form change size if no metered connection as
it was looking to sparse.
2026-07-14 11:30:02 +10:00
rc-swag
62c85e3729 fix(windows): add required download case
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
add required download message in lieu of download status bar.
Also removed red warning background colour and add a caution icon.
2026-07-13 16:03:31 +10:00
Marc Durdin
cda7dc6d24 chore: remove deprecated "X-UA-Compatible" and "apple-mobile-web-app-capable" metas
For Keyman Developer Server, add app.webmanifest so that it can be saved
to the home screen; other pages should not require this.

Fixes: #16172
Test-bot: skip
2026-07-01 10:27:22 +02:00
rc-swag
60094738d9 feat(windows): wrap network util in class
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-06-30 14:42:49 +10:00
rc-swag
0bd7bf1ed2
feat(windows): apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2026-06-30 13:15:05 +10:00
rc-swag
448d63e156 feat(windows): apply exception check
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
Keyman currenlty only supports Windows 10 and 11
so the exception was low risk. If it is not available we
return false as metered connections werent possilble before
this the functionality will be the consistent with those
windows versions. i.e. always updating in the background
2026-06-25 11:31:15 +10:00
rc-swag
85da9dc03c
feat(windows): apply suggestions
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2026-06-25 10:57:40 +10:00
rc-swag
3974f035f9 feat(windows): use enum to drive installfrm layout 2026-06-25 10:49:35 +10:00
rc-swag
acf64f1897 fix(windows): add update property to remote check
This just adds the update property to the HTTP request
in the RemoteUpdateCheck call.

Fixes: #15433
2026-06-23 17:07:38 +10:00
rc-swag
5e26d5dd08 feat(windows): address review comments
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-06-23 15:56:34 +10:00
rc-swag
293f8ec47a
feat(windows): apply suggestions from code review
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2026-06-23 11:41:02 +10:00
rc-swag
94756fd850 feat(windows): add intstall ready flag to pop up
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
If the download has already occured before calling the pop up
then there is no reason to warn about the metered connection.
2026-06-17 11:41:09 +10:00
rc-swag
cc8b4d2426
Merge branch 'master' into feat/windows/13566/check-metered-connection 2026-06-16 15:58:17 +10:00
rc-swag
a9933abf47 feat(windows): add network connectivity tool
This adds a helper unit which uses the windows API to obtain a
ConnectionProfile. This profile provides information about the
connection status and connectivity statistics. This includes
the connection costs, roaming, restricted etc. It also can
check to see if background networking activity has been restricted.

Using the recommened example this commit combines these to determine
if a network is metered. It also provides access to the background
network being restricted.

Fixes: #13566
2026-06-16 10:40:55 +10:00
Marc Durdin
6cd27503fe docs(windows): add context documentation for additional Advanced options
Add Base Keyboard, Proxy Settings, and Keyman System Settings
documentation and links to the Options context help.

Fixes: keymanapp/help.keyman.com#10
Test-bot: skip
2026-06-10 11:21:04 +02:00
Marc Durdin
bd2a09a6c9 chore: Merge branch 'epic/web-core' into auto/A19S30-merge-master-into-web-core 2026-06-02 13:42:10 +02:00
Marc Durdin
6a71c1d07c
Merge pull request #15984 from keymanapp/fix/windows/15164-locale-missing-after-lang-switch
fix(windows): Ensure default locale always appears in list of locales
2026-05-22 22:42:05 +10:00
Marc Durdin
3d65485ebd chore: Merge branch 'epic/web-core' into auto/A19S29-merge-master-into-web-core
Note: rewrote state_api.tests.cpp change to match new unit test pattern.
2026-05-22 11:32:24 +02:00
Marc Durdin
6b77c4fd91 fix(windows): set default locale correctly
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-05-21 11:17:25 +02:00
Marc Durdin
34d6eb89fa fix(windows): Ensure default locale always appears in list of locales
* Add `TKeymanPaths.KeymanLocalePath` for consistent access to locales
  folder, and update references.
* Remove the `SKDefaultLanguageCode` string and hard code the default
  language in CustomisationMessages.pas.
* Hide the test locale 'qqq' on release builds.

Fixes: #15164
2026-05-20 15:51:25 +02:00
Marc Durdin
94723ba556 chore(common): move common cpp files and remove unused files
* Move the following files from common/windows/cpp/include/ to
  common/include/:
  * keymanversion.h
  * vkeys.h

* Move the following file from common/windows/cpp/ to common/cpp/:
  * vkeys.cpp

* Move crc32.cpp,crc32.h into kmcmplib, as they are only used there.

* Remove unused ConvertUTF.c and ConvertUTF.h.

* Update references to the above files.

* Remove precompiled header refs from vkeys.cpp and change data type to
  `char*` for types in vkeys.cpp (unless `USE_CHAR16_T` is defined), so
  that it is more cross-platform accessible, update usages accordingly,
  fixup project definitions accordingly.

* Remove unused define `KMN_KBP_EXPORTING` from kmcmplib/meson.build.

Fixes: #15565
Test-bot: skip
2026-05-20 13:44:05 +02:00
Keyman Server
0d6b995130
Merge branch 'epic/web-core' into auto/A19S28-merge-master-into-web-core 2026-05-11 15:38:19 +02:00
rc-swag
02db51c9b6 fix(windows): address review comments
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-04-28 23:16:17 +10:00
rc-swag
c23284ea51 fix(windows): rename fTestEatenBuf to fOnTestEatenBuf
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-04-02 16:19:45 +10:00
rc-swag
d2012ed79b fix(windows): provide clarity to log message 2026-04-02 13:41:51 +10:00
rc-swag
d7370c472e fix(windows): update lastkey in tip processor
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
Update the lastkey, lastscankey and lasttransition in aaitp.
This ensures that when the pfEaten is FALSE and the get_message_hook
does not recieve the key press the "last" value is correct.
2026-03-31 22:13:45 +10:00
rc-swag
f0cf996976 fix(windows): make log code message fix
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-03-30 13:43:11 +10:00
rc-swag
7084d64b7b fix(windows): clean up debug logs
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-03-26 22:44:47 +10:00
rc-swag
a1c493665e fix(windows): add key transition to better track key press
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
Added a Key transition member to the thread globals.
This help so better insure we actually matching the key value
that may have been cleared by kmhook_getmessage to the right key.
More importantly makes sure we are not matching it to the wrong
key press. This was happening when a synthazised capslock key press was followed
by and actuall capslock key press.
2026-03-25 15:16:26 +10:00
rc-swag
c1c3952717 fix(windows): reduce the number of places km scan flag
The SCAN_FLAG_KEYMAN_KEY_EVENT was checked in OnKey pressess as well
as an early return option in _KeymanProcessKeystroke. This change
removes the extra and allows _KeymanProcessKeystroke, to be the
central place for code readablitiy and maintainablity.

It also adds a processToggleChange call in kmhook_getmessage as
it is sometimes called before the TIP hook. the call is also idempotent
2026-03-20 09:22:35 +10:00
rc-swag
f4c5d9df02 fix(windows): fix logic error with caps_changed_state
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
Return early if caps lock state is unchanged.
2026-03-16 15:00:12 +10:00