-
-
Notifications
You must be signed in to change notification settings - Fork 112
Keyman 15.0 New Functionality
This document is a work-in-progress capturing changes in version 15.0 of Keyman. It will be transferred to help.keyman.com on the release of version 15.0.
-
Don't worry too much about getting the wording totally consistent. The aim here is to capture the knowledge of changes while they are fresh. We will review and tidy up the document before release. (But, the better you do this now, the less work later!)
-
Include only a single dot point for a change, a single sentence (or two at most) that summarizes the change and its impact. Intention is an impacted user can review a linked PR/issue to find out more.
-
If a change may introduce issues for other developers, mark it with BREAKING.
-
This does not necessarily need to document all related Pull Request IDs as in many cases there may be many PRs for one change. You can choose to reference either a PR or an issue here, but please try and find the PR/issue that is going to provide the best overview of the change. You may even decide to create a new issue that summarizes the change and links all related PRs and issues (this would be awesome for big changes).
-
You can make good use of HISTORY.md for populating this initially.
-
We'll also document major new features for all users here: these lists are split into end user and developer sections.
- Added options to control text on spacebar. (#5349)
- Globe key now supports long press and short press for simpler switching. (#5437)
-
BREAKING: Default short press globe key action changed from
GLOBE_KEY_ACTION_SHOW_MENU
toGLOBE_KEY_ACTION_SWITCH_TO_NEXT_KEYBOARD
. Note: when only 1 keyboard installed, this then becomesGLOBE_KEY_ACTION_SHOW_MENU
(#5545) - Added default long press globe key action
GLOBE_KEY_ACTION_SHOW_MENU
-
BREAKING: Default short press globe key action changed from
- Added options to control text on spacebar (#5365)
Anything that other developers should be aware of should be documented here. This set of people includes:
- Keyboard developers
- Developers of websites that use KeymanWeb
- Developers of apps that embed or interface with Keyman Engine (KAB, FieldWorks, etc)
- Tool developers, e.g. .kmn language changes may impact other tools
Include major new functionality that they may need to cater to, and anything that changes the way someone may use Keyman from a development perspective.
- BREAKING Keyman for Android now enforces minimum Chrome version 37.0. (#5017)
- Linux Developer section: consolidated Debian source packages (#5022): instead of three separate source packages, ibus-keyman, keyman-config and keyman-keyboardprocessor, we now have only one source package: keyman.
-
BREAKING KeymanWeb's OSK field (
keyman.osk
) is now only available after the promise returned fromkeyman.init
is fulfilled. (#5412) - KeymanWeb will now look for a
registerEvents
function on UI modules; this function will be called once the OSK is built. (#5412) - The CSS styling patterns for the OSK's layout properties and font-size specification have been made more consistent; desktop and touch now set the same style properties on the same elements within the keyboard. (#5459, #5462)
- Added option flag
userAlerts
which determines when KeymanWeb's alert feedback should be enabled. Default value true (#5302) - Async API methods return a Promise array (#5044)
- Updated kmconvert to support platform targets and included it in the standalone kmcomp.zip deployment for Linux and macOS keyboard developers. (#5082)
- Lexical models compiled with Developer 12 or 13 should be rebuilt with Developer 14 or 15 in order to preserve a user's casing for the currently-typed word if it is also available as a suggestion. (#5429)
-
use()
andmatch
behavior for web now matches desktop platforms, fixing #5440. This requires a keyboard rebuild with the 15.0 compiler, but will affect any rebuilt keyboard, regardless of its target compiler version. (#5525) - Keyman Developer Debugger no longer depends on Keyman for Windows (#5588)
- Keyman Developer Web Debugger no longer requires use of Chrome with mobile emulation to test mobile keyboards (#5723)
- Keyman now supports variable stores together with predictive text in the same keyboard on mobile devices (#5749)
- Keyman Developer and KeymanWeb now support
U_xxxx_yyyy
touch key identifiers (#5894) -
&newLayer
and&oldLayer
stores are now available for tracking layer changes when in a postkeystroke group (#6366). - Improved Character Map integration with Touch Layout Editor (#6435)
- Engine(Web): Added APIs to control text on spacebar. (#5348)
- Engine(Android): Added APIs to control text on spacebar. (#5349)
- Engine(iOS): Added APIs to control text on spacebar. (#5365)
- Core: Added debugger interface. (#5425)
- Core: BREAKING Removed
capsLock
fromKMX_Environment
; use modifier flag instead. (#5432) - Core: BREAKING
km_kbp_process_event
now has an additional parameter,is_key_down
. (#5432) - Core:
KM_KBP_IT_CAPSLOCK
action type: Added new union membercapsLock
tokm_kbp_action_item
. (#5432)
===============
Notes taken from Marc's repo, for consolidation:
- Infrastructure for creating LDML keyboards (coming in 16.0)
- Android: Automatic installation of Keyman + keyboards together, through Play Store
- Android: Improved keyboard switching using globe key
- Android: Adjustable keyboard height
- iOS, Android: Configure text shown on space bar
- iOS, Android: Significant performance improvements
- Web/iOS/Android: predictive text now works with keyboard options
- macOS: Keyman for macOS is now localized into a number of languages
- macOS: Support for M1 processor
- Linux: Improved support for Caps Lock
- Windows: New Keyman Core removes legacy code and improves stability of Keyman
- Windows: Improved compatibility with speech recognition
- Developer: much improved KMX debugger
- Improved stability and performance
- Can now control and view keyboard options
- Can now control and view platform options
- No longer requires "Debug Host" or Keyman Desktop to be installed or running
- Developer: much improved web debugger
- No longer requires Chrome Developer Tools for testing touch (mobile) keyboards
- Now can easily switch between different platforms in the web debugger
- Developer: added support for longer Unicode key identifiers U_xxxx_yyyy_....
- Developer: Keyman Developer no longer requires Keyman Desktop to be same version
- Over 150 additional fixes and improvements!