Enterprise Keyboard Customization

Enterprise Keyboard 1.6


Enterprise Keyboard builds on the stock Android keyboard to provide a more effective means of inputting data into Zebra devices. The Zebra keyboard permits quick switching between languages, can to scan directly from the keyboard to collect data, and can set keys to perform specific tasks. It also implements finger-flicks for typing long-press characters and swiping to switch key layouts.

Enterprise Keyboard uses Android's Personal dictionary feature for spelling suggestions and corrections, giving it the ability to store industry-specific terms to help improve speed and accuracy of keyboard input. Terms can saved and mass-deployed using Zebra's Mobility Extensions (MX) and StageNow tools.

Customizing Keyboard Settings

Enterprise Keyboard Settings are accessed through the Android Settings panel:

1. Open the Settings panel on the device:

2. Tap the "Language and input" control:

3. Tap the Enterprise Keyboard Settings button:

5. Tap the setting(s) to be changed:


By default, Enterprise Keyboard uses the language selected in the "Language and input" part of the Android Settings panel:

Switch from system-selected language to one provided with Enterprise Keyboard:

1. Tap on "Languages" in the Enterprise Keyboard Preferences panel: This version of Enterprise Keyboard includes the following languages:

  • English (UK)
  • English (US)
  • French
  • Italian
  • German
  • Spanish
  • Russian

2. Uncheck "Use system language" checkbox:

With the "Use system language" preference unchecked, language packs become available for selection.

3. Tap one or more languages to select them:


The Preferences section controls keypress feedback, default layout and tab selections, and other aids to productivity. Default settings are shown here:

Set preferences as desired:
  • Auto-capitalization automatically capitalizes the first word of each sentence following a period.

  • Double-space period automatically inserts a period and space after double-tapping the spacebar.

  • Vibration on keypress sets the device to vibrate when a key is pressed. Duration is configurable in Advanced settings.

  • Sound on keypress plays a sound when a key is pressed. Volume is configurable in Advanced settings.

  • Popup on keypress displays a pop-up of the key being pressed.

  • Voice input key displays a key for allowing Enterprise Keyboard to accept spoken input using the mic (on GMS-enabled devices only).

  • Show scan tab displays a tab for switching to the scanner to collect barcode data. Scanning in Enterprise Keyboard requires the DataWedge service to be enabled on the device.

  • Flick enables the alternate (long-press) character of a key to be input by "flicking" the key.

  • Numeric (Telephone) layout appears when the numeric keypad is in focus. When disabled, the Calculator layout is used.

On devices with MX 7.1 and higher only:
  • Navigation controls the means of navigating between keyboard layouts. "Tabs" mode permits switching layouts by swiping across a layout (to bring up the adjacent one) or tapping directly on the desired layout tab. The tab bar will be visible at all times except when next-word suggestions (if enabled) are being displayed. "Keys" mode permits keys to be used for switching layouts. Such keys are typically in the lower-left corner of the layout. See important layout notes below.
  • Tab configuration allows a user or administrator to enable or disable the numeric, alphanumeric, symbol and/or scan key-layout tab(s), hiding them from view and preventing display of the corresponding layout.

  • Select prefer tab causes the selected tab to appear whenever EKB is invoked. This option is controlled from within the Tab configuration panel (shown below).

Tab Bar Notes:

  • If either the tab bar or the suggestion bar are enabled, both will appear.
  • The tab bar will not appear if the Next Word Suggestions bar and the Voice Input Key are both disabled.
  • On GMS devices, if voice is enabled and the next-word suggestions feature is disabled, a blank suggestion bar will appear over the tab bar when words are being suggested.
  • If the TYPE_TEXT_FLAG_NO_SUGGESTIONS input type is enabled, neither the tab bar nor the suggestion bar will appear. More about Android input types.
  • Enabling the Symbol tab disables remapping of the Numeric P3 key.
  • Enabling the Alpha tab disables remapping of the Numeric P4 key.
  • Enabling the Numeric tab disables remapping of the Alphanumeric P1 key.
  • Navigation and Tab configuration features are supported only on devices with MX 7.1 and higher.

Text Correction

Text Correction controls automatic corrections to typed text based the predefined parameters explained below. In addition, the Personal dictionary feature allows a list of custom or industry-specific terms to be stored and presented as spelling suggestions along with those of the selected language(s).

Set preferences as desired:

Block offensive words prevents display of spelling suggestions that might be deemed offensive or insensitive as determined by external standards of decency.

Auto-correction automatically replaces misspelled words with those found in the Add-on and Personal dictionaries (see below). Replacements are executed by pressing the spacebar.

Show correction suggestions displays suggested words while typing but does not replace them when the spacebar is pressed unless Auto-correction is also enabled.

Personalized suggestions learns from communications and typed data to improve suggestions.

Suggest Contact names automatically displays contacts from the contact list when typing names.

Next-word suggestions looks at the word prior to the one being typed and displays words that might come next. This is sometimes referred to as "predictive text."

Personal dictionary

The Personal dictionary can be used to store terms specific to a particular industry to help improve the speed and accuracy of keyboard input. For example, if configured for a medical device, the acronym "gerd" could be added as a shortcut and replaced with "gastroesophageal reflux disease" whenever it was typed.


  • Terms must be added to the Personal dictionary one at a time.
  • There is no set limit on the length of terms and phrases that can be entered into the Personal dictionary.
  • When displayed, longer terms and phrases might be injected with an ellipsis (...) in the suggestion bar.
  • Spelling suggestions do not appear with all field types.
  • For mass deployment, the Personal dictionary must be populated beforehand using Zebra's StageNow tool.
Add a term to the Personal dictionary:

1. Tap "Personal dictionary" in the Text correction Preference panel:

2. Tap the language with which to associate the personal term(s). Select "For all languages" to display Personal dictionary terms with every language pack:

3. Tap the plus sign (+) to define a new word or phrase:

3. Enter the word or phrase (and shortcut, if desired), then tap the gear icon to save.

4. Repeat Steps 3 and 4 until all terms are added. Words and/or phrases must be added one at a time. After each term is added, the terms list is displayed:

When a shortcut is typed as input, its associated term will appear in a list of spelling corrections: Press the spacebar to accept the highlighted word (which in this case is "Gerd") or tap the desired word or phrase to insert it.

Note: To maximize screen space for apps, the spelling Suggestion Bar shares space with the keypad Navigation Tab bar. The nav bar fades out temporarily when suggestions are available.

Edit or delete a term:

1. Bring up the terms list and tap the term to be edited:

2. Edit the term or tap the trashcan icon to delete:

Add-on dictionaries

Add-on dictionaries contain predefined word corrections and suggested words for each language installed on the device. From this panel, user actions are limited to viewing the list of installed Add-on dictionaries and deleting/reinstalling them. No further actions are permitted.


The Advanced panel allows the setting of keypress feedback parameters for feedback types that are enabled in the Preferences panel. The image below shows sound feedback disabled (by default):

Tap on a setting to bring up a panel for adjusting that setting:

Keypress vibration duration sets the length of time (from 0 to 100ms) the device will vibrate to indicate that a key was pressed (default = 0ms).

Keypress sound volume controls the loudness (from 0 to 100) of the sound that coincides with a keypress (default = System setting).

Key long press delay sets the time (from 100 to 700ms) a key must be held down before being considered a long-press (default = 300ms).

Remapping Keys

Enterprise Keyboard designates five keys as user-programmable: one in the alpha-key layout and four in the numerical layout. The Remapping panel shows the current character and Unicode mappings for each key. The images below show default settings, including the Alpha P1 key mapped to display the EMOJI panel.

One key can be remapped in the alpha-key layout:

Four keys can be remapped in the numerical layout:

Remapping panel shows current settings of remappable keys:

Remap a key:

1. Bring up the Remapping panel and tap on the key to be remapped:

2. Specify a Unicode value or type an alternative character to associate with that key:

3. Tap "OK" to store the setting. Changes take effect immediately.


The scan tab in Enterprise Keyboard uses scanning services provided by DataWedge, Zebra's data acquisition and delivery tool that's included on every Zebra device. DataWedge must be enabled on the device for the Scan tab to be operational.

To enable DataWedge on a device (or confirm that it's enabled):

1. On the device, locate and tap the DataWedge icon:

2. From the DataWedge Profiles screen, tap the "hamburger" menu (see arrow), then Tap "Settings" on the menu:

3. The DataWedge Settings panel appears. Confirm that the "DataWedge enabled" box is checked.

Important: See the Scanner Control section, below.

For more information about scanning with Enterprise Keyboard, see Enterprise Keyboard Setup.

Also refer to the DataWedge User Guide for complete documentation.

Dynamic Input Method

This feature applies to native apps only.

Enterprise Keyboard (1.2 and higher) supports programmatic access to the Input Method Editor (IME), which can dynamically change the input method depending on the selected field. For example, when the cursor enters a field intended for barcode data, the scan tab can be automatically invoked and the device scanner used to populate the field. The keyboard returns when the cursor lands on a text field, and so on.

To set the input method as static:

  • Include the line android:privateImeOptions="scan" in the <EditText> field of the StaticLayout.xml file as shown below:

The EditText parameter of the StaticLayout.xml file, in Android Studio. Click on the image to enlarge.

To set the input method as dynamic:

  • Call the setPrivateImeOptions() method with “scan” as the parameter, as below:
    • editTextTest.setPrivateImeOptions("scan")

This feature applies to native apps only.

Tab-key Navigation

The Tab key is designed to move the cursor or UI focus from one text field or UI component to the next. On apps that are unaware of this context, the Enterprise Keyboard Tab key might input spaces instead of moving the cursor. For HTML apps, Zebra recommends using the Tab key to navigate from field to field. For help with native-app navigation, please refer to Android developer docs for information about Android Tab-key navigation.

Scanner Control

It's important to note that control of a device's barcode scanning hardware is exclusive. When an application that uses the scanner is active (such as one made with EMDK that uses the Barcode API), DataWedge (and hence the Enterprise Keyboard scan tab) will not operate. Likewise, when an app such as Enterprise Keyboard controls the scanning hardware, other apps are prevented from doing so. It is therefore important to understand how to take control of a device's scanner hardware and if necessary, release it to other apps when scanning is complete. For more information, see the section on Disabling DataWedge in the DataWedge User Guide.