Skip to main content

Keyboard Layout

Introduction

To provide text entry with the tablet pen a virtual keyboard is implemented by the Client tray app.

A default UK English keyboard is included in the Client installation and additional keyboard layouts can be applied.

When a text input field is clicked in the document view the virtual keyboard is displayed:

Keyboard Layout

A national flag image identifies the keyboard in use, by clicking the image alternative keyboards which have been uploaded can be selected.

Server-Client messages:

UpdateKeyboardLayoutMessage

Send the message to update the keyboard layout.

Note that KeyboardLayoutConfig.AdditionalLayoutsDir must be set in the Client Config\app_config.json file, and point to a writeable folder.

Message DataDescription
WithNamekeyboard name: the name follows the Locale Internatationalization standards, for example for Italian: "it_IT"
For a comprehensive list see: https://www.oracle.com/java/technologies/javase/locales.html
WithLayoutkeyboard layout JSON data for the keyboard layout, described below
WithPicturenational flag image used to identify the keyboard. A base64 string contains the PNG image.
The 48x32px .PNG image is renamed .PIC

Keyboard layout

A typical set of JSON data is shown for the Italian keyboard. Following the administration information the keys are mapped according to the international keyboard layout. The escape code is used where necessary to comply with the JSON string format, i.e. \\ and \" to represent \ and " respectively.

JSON Keyboard Layout - IT:

{
"name": "it_IT",
"flag": "it_IT.pic",
"desc": "Italian",
"normal": [
"\\1234567890'ì",
"qwertyuiopè+",
"asdfghjklòàù",
"<zxcvbnm,.-"
],
"shift": [
"|!\"£$%&/()=?^",
"QWERTYUIOPé*",
"ASDFGHJKLç°§",
">ZXCVBNM;:_"
],
"alt": [
" ",
" € y []",
" @# ",
" "
],
"altshift": [
" ",
" {}",
" ",
" "
]
}

After a successful UpdateKeyboardLayoutMessage the Client installation is updated, for example:

Wacom Ink SDK for Multi-Display\Resources\Keyboards\it_IT.keyboard.json
Wacom Ink SDK for Multi-Display\Resources\Keyboards\it_IT.pic

The change takes effect when the Client tray app is next restarted.

...

Client-Server messages:

OperationSuccessMessage

OperationFailedMessage