-
-
Notifications
You must be signed in to change notification settings - Fork 112
Keyman 17.0 Release Notes
In version 17.0, the Keyman team has been working hard to improve Keyman and we are excited to introduce the following new features:
- Support for the new LDML Keyboard Standard on desktop computers and laptops.
- Improving gesture support on touch layouts. This includes introducing new gestures such as flicks, and multitap, and improving the usability of existing gestures, such as holding a modifier key while tapping on another key.
- Enhancements to the predictive text suggestion banner, showing more suggestions and handling longer words better.
- In Keyman Developer, an all new keyboard compiler that runs on Windows, macOS, and Linux.
Alongside the new features, there have been many less visible improvements:
- Keyboarding on macOS is now much more reliable with the introduction of Keyman Core into Keyman for macOS.
- Diacritics and other marks can now be more consistently and clearly displayed on the On Screen Keyboard.
- Keyman for Linux now works with Wayland.
There are now several gestures available to interact with some keys on the keyboard. Keys which have gestures available will normally show a hint in the top right of the key:
-
Long press: Press and hold a key, and after a moment a submenu will appear. Slide the finger to the submenu to select a key. Release the finger, and the highlighted key from the submenu will be output.
-
Flick: Press and hold a key, and then slide the finger in various directions on a key to reach alternate outputs. The key will animate to show the expected output when the finger is released. A common flick is to slide down to reach numerals on the top row of the keyboard.
-
Multitap: Some keys can be pressed repeatedly and rapidly to reach alternate outputs. Tapping rapidly twice on Shift will activate Caps Lock on many keyboards.
- Drag the banner horizontally to see more suggestions
- Overly-long suggestions are partially hidden, but expand when a finger is held on them
- Displays up to 8 suggestions
- New project wizard for creating LDML keyboards
- Integrated LDML keyboard test window
- The Windows-only
kmcomp.exe
command-line compiler has been replaced with a cross-platformkmc
tool, with more consistent parameters.kmc
is also up to 100x faster thankmcomp.exe
when batch building keyboards.
The full change log is available here.
- Minimum supported version of Windows is 10.0
-
Minimum supported version of macOS is 10.10 Yosemite.
-
Internals of Keyman Engine for macOS rewritten to use shared Keyman Core, improving reliability and consistency with other platforms #7857
-
Minimum supported version of iOS is 12.2.
-
Multitap and flick gestures are now supported for iOS. #7324
-
Predictive text suggestions are now handled more flexibly on the banner #7934
- Can now display up to 8 suggestions on screen
- Can drag the banner left and right to see more suggestions
- Shortens long suggestions to avoid long words overwhelming the available space.
-
Improves scaling of key caps for some keyboards #10506
-
Minimum supported version of Android is 5.0 (Chrome 37.0)
-
Multitap and flick gestures are now supported for Android. #7324
-
When suggestions aren't enabled, displays a themed banner. This area is for displaying top row key gestures and is also reserved for future enhancements #9696
-
Removes in-app browser #8430
-
Predictive text suggestions are now handled more flexibly on the banner #7934
- Can now display up to 8 suggestions on screen
- Can drag the banner left and right to see more suggestions
- Shortens long suggestions to avoid long words overwhelming the available space.
-
Improves scaling of key caps for some keyboards #10506
-
Keyman for Linux now supports Ubuntu Noble and ends support for Lunar. #10561
-
Works now with Wayland #4273
-
It is now possible to specify an arbitrary language tag when installing a keyboard package from the command line. Previously this only worked for the language tags listed in the keyboard package. #8598
-
Minimum supported version of Chrome is 53.0
-
Now targets ES6 rather than ES5 #10257
-
Updated to Unicode 15.1 #9555
-
BREAKING
kmcomp
is replaced bykmc
#9158 -
kmc is available as an NPM package with
npm install @keymanapp/kmc@beta
#8954 -
Extra fields are available in packages for license file, welcome file, typing examples, related packages (including deprecated packages), additional font files, replacing these metadata fields previously stored in .keyboard_info files. #9485
-
&displayMap
allows keyboard developers to specify a font mapping for the On Screen Keyboard and Touch Layout to resolve diacritic rendering issues. #9032 -
Adds non-printing characters such as spacing, joiner, and marker characters for On Screen Keyboards and Touch Layouts. #9846
-
Keyman Developer now warns if attempting to use virtual keys in output of rules #10062
-
Keyman Developer now includes basic LDML keyboard editing and testing #10459
-
Keyman Developer now supports ngrok v3 #10359
-
Keyman Core on Windows, Linux, and macOS now supports LDML Keyboards
-
Keyman Core on Windows, Linux, and macOS supports full normalization for LDML keyboard output #10390
-
BREAKING header file has been renamed from keyboardprocessor.h to keyman_core_api.h #9723
-
BREAKING API identifiers have been renamed from
km_kbp_
tokm_core_
#9724 -
BREAKING Context APIs have been dramatically simplified, with only 2 APIs to be used by most consumers #10401
-
BREAKING Introduced debug logging API for retrieving context #10644
-
BREAKING Action APIs have now been simplified #10644
-
BREAKING Changes package name from
com.tavultesoft.kmea
tocom.keyman.engine
#7881 -
BREAKING Updates to Java 11 #8543
- BREAKING Now uses the framework weichsel/ZIPFoundation in place of marmelroy/Zip for unzipping Keyman packages. #9958
-
BREAKING Initialization option
setActiveOnRegister
is now a boolean and not a string #8458 -
BREAKING Reworks Keyman Engine for Web internally to use ES modules throughout; this has resulted in significant internal changes. The current API will continue to work without modification, but use of undocumented functionality may break #8560
-
The on-screen-keyboard for Keyman Engine for Web has been modularized in preparation for embedding in other Keyman platforms #8560
-
Multitap and flick gestures are now supported for Web. #7324
- Mon (Burmese script) added for Windows, Android, Linux #9550