Step 2: Choosing a user interface model
In the Branding Editor, click thetab.
A Keyman Engine-based product can:
Use the Keyman Desktop user interface, customised to whatever degree you wish, or
Use its own application that controls Keyman Engine through the Keyman COM API.
Use the Keyman Desktop user interface when you don't need additional functionality that is not in Keyman Desktop.
Virtually all of the Keyman Desktop user interface is rendered in HTML. We use a technology called XML+XSLT to do a contextual rendering of the user interface. Commands can be sent to Keyman Engine by accessing a link to "keyman:cmd?param/=value/". A reference on each of the screens in Keyman Desktop Configuration is available here.
The Keyman Desktop user interface is also localizable. The file locale.xml contains all the text in the user interface, and it is recommended that you continue to use this file for all your customised strings.
You will find the Localization of Keyman Desktop topic helpful for understanding how to localize your product.
Developing your own user interface is not difficult, but it is outside the scope of this tutorial. A simple example is included in the Samples folder for Keyman Developer. You will notice that when you select to use your own User Interface in the Branding Editor, the Strings and Config UI tabs become disabled, as they are no longer relevant. However, the Icons and Tray Menu tabs are relevant as long as you use keyman.exe as the product controller, which is recommended.
Creating your own product controller is certainly possible, but the major disadvantage is that you lose access to the On Screen Keyboard.