feat(windows): Install keyboards and registering TIPs identified only by BCP47 tag - proof of concept
- Dominant language
- Pascal
- Stars
- 534
- Forks
- 143
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 113
Description
An upcoming change to Windows 11 improves the way TIPs is registered with both the language and the keyboard ID. This will mean no more issues with LCID and transient IDs for unsupported languages. This feature is available in the insider edition of Windows 11 behind a feature flag.
This issue is to change Keyman to use this update using the `InstallLayoutOrTip`. It does not need to support the current implementation using PowerShell cmd line calls.
- [ ] Remove transient language integration
- [ ] Use InstallLayoutOrTip and not powershell to install (InstallLayoutOrTip accepts BCP-47 tag directly)
- [ ] Handle bcp47-only TIPs (and avoid use of LCIDs entirely)
- [ ] Update Keyman keyboard installs to always use 00000409 base keyboard
- [ ] Investigate - Question: is it possible to register the TIP system-wide as an 'any language' TIP?
- [ ] Document use of VIVETOOL in this issue
This replaces the need for the ticket increasing the Transient language ids to [9422](https://github.com/keymanapp/keyman/issues/9422)
Extra notes:
- input profiles identified by bcp47
- improving installation to prevent arbitrary keyboards from appearing (e.g. kbdus)
- HKL unique per IM, which means changes to HKL encodings
- InstallLayoutOrTip TIPstring extending to support bcp47:{guid}{guid},{base-klid}, plus non-default base keyboard klid, plus hotkey
To turn the featur on use Vivetool /enable /id:34912776
https://www.makeuseof.com/enable-new-keyboard-layouts-windows-11/
Contributor guide
Assessment
This issue has not been assessed yet.