Commit graph

4029 commits

Author SHA1 Message Date
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
Some checks failed
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
Some checks are pending
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
rc-swag
155b8e15ed fix(windows): strtoint for command line basekeyboardid
Some checks are pending
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
Some checks are pending
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
rc-swag
62dd0de786 fix(windows): add compile for base keyoard to api
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
What we was needed was the ability to recompile
installed keyboards against a basekeyboard id.
MCompileForBaseKeyboard which will take the
base keyboard id. This allows the call to be done
elevated and seperates out the actuall selecting
the base keyboard.
2026-08-21 13:53:26 +10:00
rc-swag
9108af2ed2 chore(windows): Merge branch 'master' into fix/windows/15152/basekeyboard-user-not-admin
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
# Keyman Conventional Commit suggestions:
#
# - Link to a Sentry issue with git trailer:
#     Fixes: _MODULE_-_ID_
# - Give credit to co-authors:
#     Co-authored-by: _Name_ <_email_>
# - Use imperative, present tense ('attach' not 'attaches', 'attached' etc)
# - Don't include a period at the end of the title
# - Always include a blank line before trailers
# - More: https://github.com/keymanapp/keyman/wiki/Pull-Request-and-Commit-workflow-notes
2026-08-18 16:16:55 +10:00
Marc Durdin
eebe740888
Merge pull request #16364 from keymanapp/feat/windows/15542-pass-lang-parameter-to-keyboard-download
feat(windows): pass UI language to keyboard download page
2026-08-17 07:57:13 +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
43550fa58e feat(windows): pass UI language to keyboard download page
Fixes: #15542
Relates-to: keymanapp/keyman.com#818
2026-08-13 15:11:26 +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
27970c671e fix(windows): refresh UI after basekbd change
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-08-03 15:22:21 +10:00
rc-swag
2f4c428b13 fix(windows): restore UpdateBaseLayout interface
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
The original change, changed the InKeymanKyboardInstalled
UpdateBaseLayout inteface and it didn't need to. This
change restores it.
2026-07-29 15:03:57 +10:00
rc-swag
92643e3569 fix(windows): handle basekeyboard change non-admin user
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
2026-07-29 14:47:00 +10: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
rc-swag
65335ecaf5 fix(windows): initial commit
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-07-24 12:07:22 +10: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
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
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