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 |
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 topmost 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 coordinates where 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 a 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 in 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 | Defines 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. |