JavaScript Extension for Keyman Web?

Greetings,

I’m wondering if the KeymanWeb API provides a means to add custom functions to handle key mappings? I’m thinking of a JavaScript analog to IMX DLLs? Apologies if I’ve missed it in the documentation.

thank you,

-Daniel

Yes, it can be done, but it’s not well documented. See https://help.keyman.com/developer/language/reference/kmw_embedjs as a start; https://help.keyman.com/developer/language/reference/call has a little more detail (as well as potentially conflicting information), and https://help.keyman.com/developer/9.0/guides/develop/imx/guide_imx_web is a placeholder that really should be fleshed out.

https://help.keyman.com/developer/language/reference/call gives detail on the published interfaces within KeymanWeb that a keyboard can call, including custom code within the keyboard.

We have 3 custom keyboards which use this type of functionality - albeit doing more than just extra processing:

None of those keyboards support touch devices – they have additional UI elements that don’t take touch into account. Full source for those keyboards is not yet available (in an internal repo, needs work for publication).

So, yes, there is functionality there, but work is needed. There are also unanswered questions on touch compatibility – in theory, it should all work if you use the KeymanWeb interfaces for interaction, but adding any UI elements or manipulating the on screen keyboard would most likely not work and not be supported.