WearML Scripting API
WearML directives
When writing a WearML script to modify a compiled application there are many options available. All the available configurable options can be edited to provide a completely customized experience to an application’s users.
Top level elements
WearML scripts begin with a couple of elements which provide information about the package and script to WearHF.
Element |
Description |
Required |
Package |
Used to identify the package that the WearML script belongs to |
Yes |
UniqueIdentifier |
At least one UniqueIdentifier attribute must be specified to identify a component (View) that is unique for that screen across the whole package. |
Yes |
Language |
The language code for the modifications included in the file |
No |
UniqueIdentifier attributes:
At least one of these attributes must be specified to identify a component (View) that is unique for that screen across the whole package.
Attribute |
Description |
id |
A unique ID attribute for an on screen component that is not used on any other screen. |
text |
A unique text attribute for an on screen component that is not used on any other screen. |
content_description |
A unique content_description attribute for an on screen component that is not used on any other screen. |
type |
A unique type attribute for an on screen component that is not used on any other screen. |
View elements attributes
The remainder of the WearML Script is made up of the screen’s views, listed in a hierarchy. Each view can contain the following attributes which instruct WearHF on how to interpret them.
Attributes:
At least one of these attributes MUST be specified to identify the component (View).
Attribute |
Data Type |
Description |
id |
String |
A unique ID attribute to identify the component that is not used on any other component. |
text |
String |
A text attribute to identify the component that is not used on any other component |
content_description |
String |
A unique content_description attribute to identify the component that is not used on any other component |
rect |
Rect (left, top, right, bottom) |
The exact coordinates for the view. |
Each of the following attributes are optional and will change the default behavior of a view. All views in a script can contain any number of the following attributes.
Attribute |
Data Type |
Description |
root |
boolean (yes/no) |
Can only be applied to the top most View element. The root’s attributes are applied to all of its children unless they have their own attributes defined. |
xy |
Point (x,y) |
The screen co-ordinates that the overlay will be displayed. |
speech_command |
String |
Defines the source to use for the speech command for the component. See available options. |
overlay_show_number |
boolean (yes/no) |
Turns the numeric indexing overlays on or off. (default: yes) |
overlay_show_text |
boolean (yes/no) |
Turns the text overlay on or off. (default: no) |
overlay_persists |
boolean (yes/no) |
Sets if the numeric index and/or text overlay will always be shown. (default = no) |
overlay_orientation |
String |
Specifies the orientation of the text overlay relative to the numeric index overlay. See available options. |
overlay_background_color |
String |
Specifies background color (Hex with #) of the overlay. |
overlay_text_color |
String |
Specifies text color (Hex with #) for the overlay. |
overlay_border_color |
String |
Specifies border color (Hex with #) for the overlay. |
overlay_anchor |
Point (x,y) |
Sets the anchor point horizontally and vertically. Each value is specified as a percentage. 0 anchors to top/left edge of the element and 100 anchors to bottom/right edge of the element. |
overlay_offset |
Point (x,y) |
Sets the offset horizontally and vertically for where the overlay will be displayed. |
overlay_show_dot |
boolean (yes/no) |
Specifies that an overlay dot should be displayed to indicate a voice command. (default: no) |
overlay_show_icon |
boolean (yes/no) |
Specifies that an microphone overlay icon should be displayed next to the text overlay to indicate a voice command.. (default: no) |
scroll |
String |
Specifies that head-tracked scrolling should be turned on the the view, and the scrolling activity should be directed at the UI element. See available options. |
text_field |
String |
Characterizes a text-field to tell WearHF what form of data entry should be used. See available options. |
barcode |
String |
Will define which type of barcode is being scanned. Ignored if the text_field isn’t set to barcode. (default: any) See available options. |
global_commands |
boolean (yes/no) |
Sets whether global commands should be enabled (‘show help, navigate back, navigate home’, etc…). |
broadcast_results |
boolean (yes/no) |
Tells WearHF to broadcast ASR results via a SPEECH_EVENT. See Development Example – Speech Recognizer for more details. |
make_clickable |
boolean (yes/no) |
Force the view to be clicked with a mouse click when the speech command is spoken. |
speech_command Options
If speech_command is left blank the voice command will be disabled for the component.
Option |
Description |
text |
Use the string in the text attribute for the speech command. |
content_description |
Use the string in the content_description attribute for the speech command. |
Any other value will set the voice command to the entered value.
overlay_orientation Options
Option |
Description |
top |
Display text overlay on top of the numeric index overlay. |
right |
Display text overlay to the right of the numeric index overlay. |
bottom |
Display text overlay underneath the numeric index overlay. |
left |
Display text overlay to the left of the numeric index overlay. |
scroll Options
Option |
Description |
none |
Disables headtracking. |
horizontal |
Headtracker only works horizontally. |
vertical |
Headtracker only works vertically. |
text_field Options
Option |
Description |
keyboard |
Opens a virtual keyboard allowing the user to enter some text by selecting characters. |
dictation |
Opens a dictation keyboard allowing the user to enter some text by freely speaking text in sentences. |
barcode |
Opens a barcode scanner allowing the user to enter some text by scanning a barcode. |
barcode Options
Option |
Description |
any |
Allow the barcode scanner to scan any supported barcode types. |
qr |
Limit the barcode scanner to only scan QR type barcodes. |
code128 |
Limit the barcode scanner to only scan Code 128 symbology barcodes. |
upc |
Limit the barcode scanner to only scan Universal Product Code symbology barcodes. |
ean |
Limit the barcode scanner to only scan EAN symbology barcodes. |