Enterprise Keyboard Customization

Enterprise Keyboard 3.2


Enterprise Keyboard (EKB) enhances and adds customization features onto the stock Android keyboard to provide a more effective means of inputting data into Zebra devices.

Primary EKB Benefits:

Also see Customizing Keyboard Settings section for details.

Custom Key Layouts

EKB 3.2 (and higher) supports the use of custom key layouts created with Enterprise Keyboard Designer (EKB Designer or EKD), a free GUI tool for Windows-based systems that provides control over fonts, images, key codes, layout transparency and many other layout properties. As many as 20 custom layouts (see below) can be deployed to devices and displayed programmatically using Android intents or DataWedge 7.4.44 (or higher) when specific input situations arise.

Sample layouts made with Enterprise Keyboard Designer. Click image to enlarge, ESC to exit.

To learn more, go to the Enterprise Keyboard Designer Guide.

Customizing Keyboard Settings

This Section Covers:

Other Sections in This Guide:

NOTE: Screen contents and colors vary by Android version.

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. Not supported on VC80x or VC83x devices.

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 is visible at all times except when spelling corrections (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 Alphanumeric tab disables remapping of the Numeric P4 and Symbol P1 keys.
  • 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. This functionality is provided by the Personal Dictionary, which also permits lists of custom or industry-specific terms and shortcuts (abbreviations) to be loaded into a device and presented as substitution 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 industry-specific terms and their abbreviations 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 can be added to the Personal Dictionary one at a time or in bulk.
  • For bulk loading, see StageNow's Personal Dictionary Manager.
  • 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 correction bar.
  • Spelling corrections do not appear with all field types.
  • For mass deployment, the Personal Dictionary must be populated beforehand using Zebra's StageNow tool.
  • Personal Dictionary does not support display of contact names.
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 Correction Bar shares space with the keypad Navigation Tab bar. The nav bar fades out temporarily when corrections are displayed.

For bulk loading, see Personal Dictionary Manager.

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 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 certain keys as user-programmable: one in the alphanumeric layout, four in the numerical layout and one in the symbol key layout. The Remapping panel shows the current character and Unicode mappings for each key. The images below show default settings, including the alphanumeric and symbol P1 keys mapped to the EMOJI panel.

One key can be remapped in the alphanumeric layout.

Four keys can be remapped in the numerical layout.

One key can be remapped in the symbol layout.

The Remapping panel showing current settings of remappable keys; tap to edit.

To remap a key:

1. Tap EKB app > Remapping 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 image to enlarge, ESC to exit.

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.