-
-
Notifications
You must be signed in to change notification settings - Fork 111
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.
If a change may introduce issues for other developers, mark it with BREAKING.
This does not necessarily need to correspond to Pull Request IDs as in many cases there may be many PRs for one issue. If you can do this, then good, but don't stress over it.
You can make good use of HISTORY.md for populating this initially.
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.
We'll also document major new features for all users here.
- Added options to control text on spacebar (#5349)
- Globe key now supports long press and short press for simpler switching (#5437)
- Lexical models compiled with Developer 12 or 13 no longer preserve a user's casing for the currently-typed word if it is available as a suggestion.
- This is due to interactions with https://github.com/keymanapp/keyman/issues/5429.
- Added options to control text on spacebar (#5365)
- Lexical models compiled with Developer 12 or 13 no longer preserve a user's casing for the currently-typed word if it is available as a suggestion.
- This is due to interactions with https://github.com/keymanapp/keyman/issues/5429.
- KeymanWeb's OSK field (
keyman.osk
) now only exists after a certain point during initialization.- Note that
keyman.init
returns aPromise
- the OSK will exist once thatPromise
is fulfilled. - This may affect custom desktop UI modules.
- KeymanWeb will now look for a
registerEvents
function on UI modules; this function will be called once the OSK is built.
- KeymanWeb will now look for a
- Note that
- 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.
- 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 no longer preserve a user's casing for the currently-typed word if it is available as a suggestion.
- 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
. When the core needs to enable or disable Caps Lock, it creates aKM_KBP_IT_CAPSLOCK
action withkm_kbp_action_item.capsLock
set to1
to enable Caps Lock or0
to disable.