Making On Screen Keyboards Dynamic + Apple Touch Bar


I haven’t used it in a long while but for some reason expected that the On Screen Keyboard would change dynamically as I typed. That is after hitting a keystroke, the keyboard layout updates to show you what could be composed by the next keystroke. Perhaps I’m thinking of another product or just dreaming. Was this ever a feature? Is it something needs to be enable in a keyboard file?

If its not a feature, could it become one in a future release? I could certainly describe this feature better if its not understood. I think it would be helpful particularly for new typist wherever a virtual keyboard is displayed (On Screen, Android, iPhone).

Somewhat related but going a step (or leap) further; I was working on a MacBook recently with the new “Touch Bar” which effectively provides a virtual keyboard via hardware, on a small touch screen that can change with the current application. A Roadmap request would be for Keyman to add support for working with touch bars. Some possibilities would be to display available keyboard language icons for toggling, character selection from menus (from the list sequences in square brackets [ abc… ] ), perhaps also a list of characters that can be composed from the last key struck.

If you have seen this feature, it must have been in some other product. None of the Keyman products (on any platform) have an on-screen keyboard that updates dynamically based on previous key strokes. They do update based on modifier keys pressed (Shift, Ctrl, Alt). perhaps that’s what you were remembering. Although the feature you describe does sound appealing, it would probably only be useful/sensible in a limited number of cases. For example, it could show what a simple combining diacritic mark would look like when added to the preceding character. However, Keyman keyboards can be quite complex - neither the context nor the output is limited to 1 or 2 characters. So it would be quite difficult to display on the on-screen key caps all the possible things that might happen next for each key press. For example, how would you indicate that if an ‘a’ character were pressed, it would add a combining vowel mark to an existing character and move the entire syllable to the position before the exiting preceding syllable? On desktop platforms, the OSK is primarily intended as a quick reference for the base character mappings. For complex keyboards, most users will probably have to take the time to read and understand the documentation that comes with the keyboard. On mobile platforms, we have an even smaller OSK, but we have the advantage of being able to overload keys using a “long press.” Down the road, we hope to be able to enhance Keyman to do predictive text on mobile platforms, and that may well prove even more useful than a dynamic keyboard.
We are aware of the Mac touch bar technology. Eventually we may try to take advantage of it, but until it represents a significant percentage of our users, it probably won’t be worth the investment of development effort. Any task that could be sped up using the touch bar would still need to be able to be accomplished in a reasonable way on hardware that is not equipped with a touch bar, unless we just wanted to leave those users out in the cold.
Thank you for taking the time to share your ideas. It’s creative users like you who keep us striving to continue to improve our software.