Commit graph

33096 commits

Author SHA1 Message Date
Marc Durdin
d34f238eeb chore(web): update helpURL documentation and float ui link
Make the float UI KeymanWeb link point to the home for KeymanWeb, and
https rather than http, and update the helpURL documentation to match
the current endpoint.

Test-bot: skip
Build-bot: skip
2025-10-15 07:57:08 +02:00
rc-swag
421de2a0be
Merge pull request #14865 from keymanapp/refactor/windows/refactor-keymanx64
refactor(windows): refactor keymanx64 🦾
2025-10-15 15:17:28 +10:00
Keyman Server
a1c11056d4
Merge pull request #14959 from keymanapp/auto/cherry-pick-18.0.243-history-to-alpha
auto: cherry-pick 18.0.243 history to alpha
2025-10-15 05:41:01 +02:00
Keyman Build Agent
097ce73c10 auto: cherry-pick 18.0.243 history to alpha
Build-bot: skip
Test-bot: skip
2025-10-14 22:39:31 -05:00
rc-swag
9e23f5770a
Merge branch 'epic/win-arm' into feat/windows/11905/keymanx64-keymanarm64 2025-10-15 11:40:49 +10:00
Shawn Schantz
4fd2adc8b0
Merge pull request #14940 from keymanapp/fix/mac/14160-bengali-word
fix(mac): add Microsoft Word to non-compliant app list
2025-10-14 21:14:41 -04:00
rc-swag
570c6f3a9f
Merge branch 'epic/win-arm' into refactor/windows/refactor-keymanx64 2025-10-15 11:03:31 +10:00
rc-swag
ecec5e49f4 refactor(windows): address review comments 2025-10-15 10:58:42 +10:00
Eberhard Beilharz
d1fa884266
refactor(linux): remove no-longer-needed code
Our oldest supported Ubuntu version is 22.04 which comes with Python 3.10,
so we can remove the code for Python 3.7.

Test-bot: skip
2025-10-14 18:03:57 +02:00
Eberhard Beilharz
69513108e3
test(linux): add regression tests for cli tools to autopkgtests
This change adds tests that execute km-package-install,
km-package-list-installed, and km-package-uninstall and verifies the
results. We have two sets of tests, for both gnome-shell and
ibus-proper environments.

Test-bot: skip
2025-10-14 17:54:36 +02:00
Eberhard Beilharz
b7d5e89577
fix(linux): fix installing keyboard in shared area
Installing into the shared area (`/usr/local/share`) requires `root`
permissions, so in order to install into the shared area the user has
to call `km-package-install` with `sudo`. But we also want to add the
keyboard to the user's list of available keyboards so that he can
switch to it. That needs to be done in the user context. However,
when `sudo` ran the command in the user context, the environment
variables to connect to the user's session dbus were not set.

This change fixes this by passing `DBUS_SESSION_BUS_ADDRESS` along
with the `sudo -u <user>` call. Since `root` doesn't have this variable
set (or at least not pointing to the user's dbus), we construct the
dbus address based on the user's uid.

On newer Ubuntu versions (>=25.04) we also have to set `XDG_RUNTIME_DIR`,
at least when running the autopkgtests.

Fixes: #14911
2025-10-14 17:54:36 +02:00
Eberhard Beilharz
3690fec1f2
fix(linux): don't cache files when running with sudo
When running `km-package-install` with `sudo`, cache files owned by
root get created in the users directory. This makes it harder to
replace, and if the user tries to install the keyboard again under his
user account, installation will fail. This change prevents the use
of the cache when running with `sudo`.

Test-bot: skip
2025-10-14 09:55:47 +02:00
rc-swag
1340c4f9e5 feat(windows): add arm64 to wxs and core build
Add cross-arm64 and cross-x64 build
Add the arm64 binaries to the wxs installers with guids
update build.sh files
2025-10-14 16:00:40 +10:00
Keyman Server
682734a7bb
Merge pull request #14952 from keymanapp/auto/version-master-19.0.140
auto: increment master version to 19.0.140
2025-10-13 20:03:45 +02:00
Keyman Build Agent
109088d86a auto: increment master version to 19.0.140
Test-bot: skip
Build-bot: skip
2025-10-13 13:01:23 -05:00
Eberhard Beilharz
eaf0183460
chore(linux): don't report errors to Sentry when running autopkgtests
Test-bot: skip
2025-10-13 18:29:24 +02:00
Marc Durdin
96e7ed56b5
Merge pull request #14909 from keymanapp/fix/windows/14890-ctrl-ralt-on-osk
fix(windows): osk: handle simulated left Control event when AltGr pressed
2025-10-13 10:39:42 +02:00
Marc Durdin
03cd865c09
Apply suggestions from code review
Co-authored-by: rc-swag <58423624+rc-swag@users.noreply.github.com>
2025-10-13 10:37:35 +02:00
Keyman Server
2a8e474f31
Merge pull request #14944 from keymanapp/auto/version-master-19.0.139
auto: increment master version to 19.0.139
2025-10-11 20:03:51 +02:00
Keyman Build Agent
e623efd8eb auto: increment master version to 19.0.139
Test-bot: skip
Build-bot: skip
2025-10-11 13:01:29 -05:00
Darcy Wong
62462db67b
Merge pull request #14922 from keymanapp/fix/android/sample1-height
fix(android): Update Sample1 text field to resize
2025-10-11 12:43:06 +07:00
Shawn Schantz
9f755c075d fix(mac): add Microsoft Word to non-compliant app list
addresses issue with Bengali text

Fixes: #14160
2025-10-10 16:52:11 -04:00
Keyman Server
dbfd8266cf
Merge pull request #14939 from keymanapp/auto/version-master-19.0.138
auto: increment master version to 19.0.138
2025-10-10 20:03:43 +02:00
Keyman Build Agent
4239ad55f4 auto: increment master version to 19.0.138
Test-bot: skip
Build-bot: skip
2025-10-10 13:01:33 -05:00
Eberhard Beilharz
584e9d87aa
refactor(linux): extract functions
Test-bot: skip
2025-10-10 15:50:25 +02:00
Darcy Wong
968e8b8695 fix(android): Set the app background white 2025-10-10 14:52:10 +07:00
Marc Durdin
9a1ec32d86
Merge pull request #14919 from keymanapp/DavidLRowe-patch-1
docs(developer): Update keyboard-editor.md to clarify when entire row will be deleted
2025-10-10 05:37:00 +02:00
Keyman Server
10e2a09a33
Merge pull request #14933 from keymanapp/chore/A19S13-merge-master-into-win-arm
auto: A19S13 merge master into win-arm 🦾
2025-10-10 05:33:04 +02:00
Keyman Server
a85dbfab36
Merge branch 'epic/win-arm' into chore/A19S13-merge-master-into-win-arm 2025-10-10 05:05:44 +02:00
Marc Durdin
f8c63ed65d
Merge pull request #14893 from keymanapp/maint/trigger-more-logging
maint(resources): fix watch bug for common files, and add more logging for triggering builds
2025-10-10 05:03:31 +02:00
Darcy Wong
43501ae69e fix(android): Update Sample1 text field to resize 2025-10-10 09:52:46 +07:00
Darcy Wong
ffd2b950c7
Merge pull request #14915 from keymanapp/chore/crowdin-vi
chore(common): Update crowdin strings for Vietnamese
2025-10-10 08:45:44 +07:00
DavidLRowe
618fd3b1a0
Update keyboard-editor.md
I think this change avoids the misunderstanding that deleting the rightmost ("last") key on the row will delete the entire row.
2025-10-09 11:20:52 -08:00
Keyman Server
e08464ac61
Merge pull request #14918 from keymanapp/auto/version-master-19.0.137
auto: increment master version to 19.0.137
2025-10-09 20:03:46 +02:00
Keyman Build Agent
c779739197 auto: increment master version to 19.0.137
Test-bot: skip
Build-bot: skip
2025-10-09 13:01:49 -05:00
Shawn Schantz
922e747b98
Merge pull request #14914 from keymanapp/chore/renew-ios-cert
chore(ios): renew certificate
2025-10-09 08:40:37 -04:00
Eberhard Beilharz
94eabd3ead
Merge pull request #14895 from keymanapp/fix/linux/14888_dbusx11dep
fix(linux): replace `dbus-x11` dependency
2025-10-09 11:17:59 +02:00
Darcy Wong
c38f488986 chore(common): Update crowdin strings for Vietnamese 2025-10-09 11:40:18 +07:00
Shawn Schantz
a4a495a705 chore(ios): renew certificate 2025-10-08 20:21:51 -04:00
Darcy Wong
7a4484dbc9
Merge pull request #14873 from keymanapp/fix/android/extra-bar
fix(android): Refactor bottom inset calculations for in-app and system keyboard
2025-10-09 06:41:34 +07:00
Keyman Server
5bf828b60b
Merge pull request #14912 from keymanapp/auto/version-master-19.0.136
auto: increment master version to 19.0.136
2025-10-08 20:04:01 +02:00
Keyman Build Agent
d80fa47f30 auto: increment master version to 19.0.136
Test-bot: skip
Build-bot: skip
2025-10-08 13:01:39 -05:00
Marc Durdin
c99e0c01c4 chore(windows): address warnings 2025-10-08 15:08:04 +02:00
Marc Durdin
cb6063a954 chore(windows): add test app for investigating low level keyboard events
Relates-to: #14890
2025-10-08 14:59:48 +02:00
Marc Durdin
50ffbb2722 fix(windows): osk: handle simulated left Control event when AltGr pressed
When a European layout is active, and the user presses AltGr, Windows
generates a simulated VK_LCONTROL event alongside the VK_RMENU event.
This was causing the OSK to show LCtrl as depressed alongside RAlt, so
the OSK would show the wrong modifier layer, which was unhelpful and
confusing to the end user.

It is possible to detect the simulated VK_LCONTROL in the WH_KEYBOARD_LL
hook, because the scan code generated is 0x21D, instead of 0x1D.
Warning: this is not a documented value. (But, this 0x21D scan code is
not passed to the WM_KEYDOWN event!) Therefore, we use Keyman's existing
kmnLowLevelKeyboardProc to pass modifier key events on to the visual
keyboard.

This patch handles only this specific scenario, by watching for that
specific scan code in the new handler in the UfrmOSKOnScreenKeyboard
module, together with some minor refactoring so that it fits neatly.

A future improvement would be to have all modifier key processing go
through this new handler, and eliminate the timer-based polling of the
keyboard. However, there is some additional risk around missing events,
leading to 'stuck modifiers'.

Fixes: #14890
Build-bot: skip release:windows
2025-10-08 14:32:40 +02:00
Darcy Wong
6ee38172e8
Merge pull request #14897 from keymanapp/fix/android/longpress-menubar
fix(android): Convert longpress delay menu to ConstraintLayout
2025-10-08 15:24:22 +07:00
Darcy Wong
499e427b8e fix(android): Fallback to legacy calculation when not initialized 2025-10-08 15:23:33 +07:00
Darcy Wong
7226d27145 docs(android): Update getNavigationBarHeight API 2025-10-08 05:35:31 +07:00
Keyman Server
c5b3598ab6
Merge pull request #14902 from keymanapp/auto/version-master-19.0.135
auto: increment master version to 19.0.135
2025-10-07 20:02:12 +02:00
Keyman Build Agent
25770baf3d auto: increment master version to 19.0.135
Test-bot: skip
Build-bot: skip
2025-10-07 13:01:21 -05:00