Keyman cross platform input methods system running on Android, iOS, Linux, macOS, Windows and mobile and desktop web
Find a file
Marc Durdin 914bf6a8a4 fix(windows): disable .msi shortcut advertisement
Change Keyman shortcuts to standard Windows shortcuts, rather than
advertised shortcuts, to work around a problem with advertised shortcuts,
elevated custom actions, and non-admin users, as described in #14791.

The problem is related to advertised shortcuts in Windows Installer. When
you have an advertised shortcut, the first use of the shortcut triggers a
repair to prepare the app for use in the new user's context. And now, with
Aug 2025 Windows security patch KB5063878, tweaked in Sep 2025, this
triggers an elevation dialog, which the non-admin user cannot work around.

This means that the shortcuts will be regular Windows shortcut files rather
than advertised shortcuts, and are added to
`%ProgramData%\Microsoft\Windows\Start Menu\Programs\Keyman for Windows`
(so, available for all users on that machine, but will not follow a user
across machines).

* DISABLEADVTSHORTCUTS: https://learn.microsoft.com/en-us/windows/win32/msi/disableadvtshortcuts
* Shortcut advertisement: https://learn.microsoft.com/en-us/windows/win32/msi/advertisement

Relates-to: #14809
Fixes: #14791
Build-bot: skip release:windows
2025-09-25 09:04:37 +02:00
.github Merge pull request #14749 from keymanapp/maint/linux/pkgbuild 2025-09-17 09:51:25 +02:00
android fix(android): Refresh the banner theme when system keyboard is changed 2025-09-17 11:18:48 +07:00
common fix(developer): transform slashes to backslashes in paths in Package Editor 2025-09-10 14:58:13 +02:00
core maint(common): move build-utils-ci.inc.sh to ci/ci-publish.inc.sh 2025-08-05 12:54:56 +10:00
developer Update developer/docs/help/reference/file-types/metadata.md 2025-09-17 08:12:14 +02:00
docs chore(common): Update to Unicode 17.0 2025-09-11 11:28:47 +07:00
ios maint(resources): rename KEYMAN_VERSION_FOR_PR_FILENAME 2025-09-10 11:17:41 +02:00
linux chore(linux): Update debian changelog 2025-09-18 11:35:19 +02:00
mac maint(resources): rename KEYMAN_VERSION_FOR_PR_FILENAME 2025-09-10 11:17:41 +02:00
oem/firstvoices maint(resources): rename KEYMAN_VERSION_FOR_PR_FILENAME 2025-09-10 11:17:41 +02:00
resources maint(resources): fix broken test build trigger for master branch 2025-09-17 11:24:27 +02:00
web Merge pull request #14684 from keymanapp/fix/web/14108_NaN 2025-09-08 09:06:49 +02:00
windows fix(windows): disable .msi shortcut advertisement 2025-09-25 09:04:37 +02:00
.clang-format feat(linux): work on 2nd round of comments on PR 11816 2024-06-20 17:44:21 +02:00
.editorconfig chore(linux): Address a few more lintian warnings 2022-03-15 15:32:10 +01:00
.eslintrc.cjs maint: patchup eslint configuration 2025-05-02 14:06:33 +07:00
.flake8 chore(linux): Add integration tests for ibus-keyman 2021-11-04 09:22:28 +01:00
.gitattributes maint(common): use LF line endings for scripts 2025-08-18 17:50:28 +02:00
.gitignore maint(mac): use mac_ prefix for functions in mac.inc.sh 2025-08-20 05:40:32 +02:00
.nycrc.json feat(developer): fixup and prepare build scripts and docs for kmc 2022-09-19 06:36:06 +10:00
.shellcheckrc chore(linux): Properly fix shellcheck SC1091 warnings 2023-05-11 11:59:15 +02:00
build.sh maint(common): consolidate builder scripts 2025-08-02 08:11:24 +10:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 2021-10-08 10:46:53 +11:00
configure-repo.sh chore: update docs and non-standard readlink refs 2023-02-22 10:41:54 +07:00
CONTRIBUTING.md chore: add maint to CONTRIBUTING.md 2025-04-29 11:15:55 +07:00
crowdin.yml fix(mac): Specify el.lproj folders 2024-08-07 10:01:42 +07:00
HISTORY.md auto: increment master version to 19.0.124 2025-09-19 14:01:20 -04:00
LICENSE.md maint(linux): fix lintian warnings 2025-05-13 20:07:32 +02:00
package-lock.json maint: fix npm audit issues 2025-08-08 09:04:02 -05:00
package.json maint: update fast-json-parser 2025-05-13 14:46:32 +07:00
README.md docs(common): update README with number of languages and keyboards 2025-05-21 20:36:20 +02:00
TIER.md Update TIER.md 2022-11-14 07:34:26 +11:00
tsconfig.base.json refactor: move langtags to @keymanapp/langtags npm module 2025-01-27 09:59:38 +07:00
tsconfig.json chore: address review comments 2025-01-30 14:00:34 +07:00
VERSION.md auto: increment master version to 19.0.124 2025-09-19 14:01:20 -04:00

Keyman

Keyman makes it possible for you to type in any language on Windows, macOS, Linux, iPhone, iPad, Android tablets and phones, and even instantly in your web browser. Create keyboard layouts with Keyman Developer and share them with the community in the keyboards repository. The Keyman Community have so far contributed well over 1,000 keyboard layouts for over 2,500 languages!

License

Copyright (c) SIL Global.

Keyman is an open source project distributed under the MIT license.

Get Involved

Development Status

Important Links