This document contains "SmartDocs" capabilities. This will allow you to easily see only the content that is relevant to the Zebra device you are working with.
MX Features will be available on a device based on a combination of factors:
After identifying the version information for your device, simply select them in the SmartDocs bar. Any section that does not apply to your device will be greyed out. You can clear all settings by hitting the SmartDocs button. Clicking the back and next buttons on the SmartDocs bar will navigate to the sections that are relevant to your device.
The KeyMappingMgr allows an app to modify the behavior of a given key, when pressed.
Key Mapping is a capability offered on Zebra Android devices that allows Key Behavior to be defined for a specific Key when that Key is pressed in a given Key State. The Current Key State for a key at any given time is determined by one or more Key State Modifiers that may have been applied as the result of presses of Modifier Keys. For example, a device with a Blue Key may set/clear the Blue Key State Modifier in the Current Key State each time the Blue Key is pressed. Some Zebra devices support multiple Key State Modifiers to set the Current Key State; others do not.
The Key Behavior desired for a particular Key when it is pressed in a particular Key State can be defined by a Key Mapping in the Key Mapping Table. There are Key Mapping Tables associated with specific Key State Modifiers that can be set within the Current Key State. A Key Mapping for a Key that is defined in a given Key Mapping Table will be used only when the Key is pressed while the associated Key Modifier associated with that Key Mapping Table is set in the Current Key State. For example, when a Key is pressed while the Blue Key State Modifier is set in the Current Key State, the Blue Key Mapping Table would be searched to find a Key Mapping for that pressed Key.
Every device has a series of Default Key Mappings that are pre-installed in the Key Mapping Tables supported by that device. These Default Key Mappings define the default Key Behaviors for that device. To change the Default Key Behaviors for a device, new Key Mappings--called Override Key Mappings--can be added to one or more Key Mapping Tables. When a Mapping Table contains a Default Key Mapping and an Override Key Mapping for the same Key, the Override Key Mapping will be used. To revert to Default Key Behaviors, the Override Key Mappings can be removed, thereby restoring use of the Default Key Mappings. Default Key Mappings cannot be modified or removed, only overridden.
Key processing begins by checking the Current Key State at the time the Key was pressed. If multiple Key State Modifiers are set in the Current Key State, the Key Mapping Tables associated with those Key State Modifiers are searched in a fixed priority order based on their associated Key State Modifiers. If a Key Mapping for the pressed Key is found at any time during a search, searching stops and the found Key Mapping will be used to determine the Key Behavior to be performed for the pressed Key.
If all Key Mapping Tables associated with Key State Modifiers are searched without finding a Key Mapping for the pressed Key, the Base Key State Key Mapping Table is searched. If no Key Mapping for the pressed Key can be found, the default Android Key Behavior will be performed for the pressed Key. This will seldom be the case since most devices will have Default Key Mappings for all Keys defined in the Base Key State Mapping Table.
Not all devices support all Key State Modifiers, and hence not all devices will support all Key Mapping Tables. Some devices support multiple Key State Modifiers, and each device will support the Key Mapping Tables associated with all the Key State Modifiers that it supports. All devices support at least the Base Key State Key Mapping Table, even if they support no other Key Mapping Tables. The following Key State Modifiers and associated Key Mapping Tables may be supported by various devices. These Key Mapping Tables will be searched (when supported on a given device) in the order listed below, based on the Key State Modifiers that are set in the Current Key State.
Blue Key State Modifier and Blue Key Mapping Table
This Key Mapping Table is searched when the Blue Key State Modifier is set in the Current Key State at the time a Key is pressed. If a Key Mapping for the pressed Key is found, then that Key Mapping is used to determine the Key Behavior to be performed for the pressed Key. If no Key Mapping for the pressed Key is found, then searching continues with another Key Mapping Table.
Orange Key State Modifier and Orange Key Mapping Table
This Key Mapping Table is searched when the Orange Key State Modifier is set in the Current Key State at the time a Key is pressed. If a Key Mapping for the pressed Key is found, then that Key Mapping is used to determine the Key Behavior to be performed for the pressed Key. If no Key Mapping for the pressed Key is found, then searching continues with another Key Mapping Table.
Grey Key State Modifier and Grey Key Mapping Table
This Key Mapping Table is searched when the Grey Key State Modifier is set in the Current Key State at the time a Key is pressed. If a Key Mapping for the pressed Key is found, then that Key Mapping is used to determine the Key Behavior to be performed for the pressed Key. If no Key Mapping for the pressed Key is found, then searching continues with another Key Mapping Table.
Control Key State Modifier and Control Key Mapping Table
This Key Mapping Table is searched when the Control Key State Modifier is set in the Current Key State at the time a Key is pressed. If a Key Mapping for the pressed Key is found, then that Key Mapping is used to determine the Key Behavior to be performed for the pressed Key. If no Key Mapping for the pressed Key is found, then searching continues with another Key Mapping Table.
Shift Key State Modifier and Shift Key Mapping Table
This Key Mapping Table is searched when the Shift Key State Modifier is set in the Current Key State at the time a Key is pressed. If a Key Mapping for the pressed Key is found, then that Key Mapping is used to determine the Key Behavior to be performed for the pressed Key. If no Key Mapping for the pressed Key is found, then searching continues with another Key Mapping Table.
Base Key State Key Mapping Table
The Base Key State Key Mapping Table is searched if no Key State Modifiers are set in the Current Key State (i.e. default Key State) at the time a Key is pressed. This Key Mapping is also searched if all Key Mapping Tables were searched based on the Key State Modifiers that were set in the Current Key State and no Key Mapping for the pressed Key was found (i.e. fall through). If the Base Key State Key Mapping Table is searched and no Key Mapping for the pressed Key is found, then the standard Android Key Action for the pressed Key will be performed.
Each Key Mapping in each Key Mapping Table defines a specific Key Behavior to be performed for a pressed Key when that Key Mapping Table is determined to be the most applicable one for that Key press. Every Key Mapping requires a specific Key to be identified. A Key is identified in Key Mapping Using a Key Identifier. Key Identifiers are constructed generally according to the rules below.
Text-Labeled Key
For a Key that is physically labeled with text, that label is used to identify the Key. For example, a Key that is physically labeled with the letter "A" would be identified as the "A" Key. In some cases, a Key might be physically labeled with an abbreviated text legend. For example, a Key that is physically labeled "BKSP" would be identified as "BACKSPACE" by the text description.
Graphically Labeled Key
For a Key that is physically labeled with a picture or icon or other graphical legend, a textual description of that graphical legend is used to identify the Key. For example, a Key with an icon of a house would be identified as "HOME" by the text description.
Color-Labeled Key
For a Key that is physically labeled with a color, a textual description of that color is used to identify the Key. For example, a Key that is colored blue would be identified as "BLUE" by the text description.
Unlabeled Key
For a Key that is not physically labeled in a unique manner, a textual description may be used to identify the Key. For example, the second of two Keys used as a trigger physically located on the left side of the device would be identified as "LEFT_TRIGGER_2" by the text description.
Note: Different devices have different numbers and combinations of physical Keys. Not all devices will have Keys that need to be identified using all of the above rules.
Each Key Mapping specifies a single Key Behavior that should be performed for a single Key identified by a specified Key Identifier. The Key Behaviors that can be defined are listed below.
Send key code
This Key Behavior indicates that the Key pressed should produce a standard Android Key Action, but not necessarily the standard Android Key Action for the actual Key that was pressed. Any desired Key Code can be assigned to any Key, and the standard Android Key Action for that Key Code will be performed. It's also possible to specify the Key State in which standard Android Key Action for the Key Code will be performed.
Zebra provides unlimited flexibility to assign literally any desired standard Android Key Action to any Key when pressed in any Key State. For example, the "A" Key can be assigned to perform like the "Shift" Key State and produce the standard Android Key Action normally performed by the "2" Key when pressed in the "Unshifted" Key State.
Send trigger
This Key Behavior indicates that the Key pressed should produce the effect of a physical trigger switch. Most devices have one or more "Trigger" Keys for which this is the Default Key Behavior. Such Keys are most often used to initiate Barcode Scanning, but can be used for anything if the right configuration is applied.
A fixed set of eight (8) Triggers is supported, and are designated as Trigger 1 through Trigger 8. Triggers are most commonly used to provide a low-latency notification so that high priority events can be initiated. Some System applications on a device may register to be notified when various Triggers are sent. For example, the Scanning Subsystem on most devices uses Trigger 1 to initiate Barcode Scanning.
Normal (non-System) applications cannot perform registration for Triggers, and therefore cannot use the "Send trigger" Key Behavior to invoke their application functionality. Such applications should use the "Launch application or "Send Intent" Key Behaviors instead. However, the KeyMappingMgr can be used by a non-System application to determine which Key(s) pressed in which Key State(s) will produce Triggers for which System applications have been registered.
Launch application
This Key Behavior indicates that the Key pressed should launch an application of a specific name as if that application was launched by a device user using its main launcher icon. The same result could be achieved using the "Send Intent" Key Behavior, provided the right information about the Intent required to launch the application is known in advance. The "Launch application" Key Behavior makes launching an application much easier, but only to launch its main activity. If the need is to launch some other app activity or pass custom data to the application to tell it what to do, the "Send Intent" Key Behavior should be used instead.
Send Intent
This Key Behavior indicates that the Key pressed should send an Intent, which can be sent to an application using startActivity or sendBroadcast. Supporting both types of Intents provides the flexibility to launch a variety of applications. In addition, various parameters can be configured for constructing the Intent to match it to the needs of an application. This includes attachment of an extra data value to communicate information about a desired action the application should perform.
Since Intents are extremely flexible, an existing application might require an Intent that cannot be described with the relatively simplistic capabilities of the KeyMappingMgr. While it may be possible to meet the needs of some existing applications, the "Send Intent" Key Behavior is really designed to send Intents that are specifically designed and added to applications for this purpose.
Suppress key
This Key Behavior indicates that the Key pressed should be completely ignored and should produce no result. In essence, this results in essentially identical results as if the Key was never pressed.
Reset to default
This Key Behavior indicates that the Default Key Mapping (if any) for a Key in a specified Key Mapping Table should be restored. This is done by removing any Override Key Mapping for the Key from the specified Key Mapping Table. If there is no Override Key Mapping for the Key in the specified Key Mapping Table, no change will be made.
Controls whether to return Key Mapping to the default state or to add/modify Override Key Mappings for a single Key to one or more Key Mapping Tables.
Note: To configure a device with a prior state that is not known, it may be advisable to begin by returning Key Mapping to the default state. In that way, subsequently added Override Key Mappings will be starting from a known state and are therefore more likely to achieve a desired result. However, if the intention is to define a set of Key Mappings that are required by a specific application, it may be desirable to start from the current state (whatever that state might be) and alter it by adding or modifying selected Override Key Mappings without otherwise altering the state of Key Mapping for the device.
Parm Name: Action
Option | Name | Description | Requires |
---|---|---|---|
1 | Remap a key | Adds or modifies Override Key Mappings for a single Key for one or more Key Mapping Tables. Each Override Key Mapping added or modified alters the Behavior of exactly one Key in one or more Key States. |
MX: 4.4+ |
2 | Default all key mappings | Causes all Override Key Mappings to be removed from all Key Mapping Tables. This sets all Key Mappings to the default for the device. |
MX: 4.4+ |
Used to identify the Key for which Override Key Mapping will be added or modified. To add or modify Override Mappings for a Key, a parm value must be specified that contains a Key Identifier that is listed in the following table.
Note Not all devices support Keys that correspond to every Key Identifier listed in the table. If an attempt is made to add an Override Mapping to a Key Mapping Table for a Key that is not supported on a device, then an error will be returned in the Result XML. Consult the documentation for a specific device for information on the Keys supported on that device. Alternately, query the KeyMappingMgr to acquire a list of all Key Identifiers that are supported on that device.
Shown if: The Action value is "Remap a key"
Parm Name: KeyIdentifier
Option | Name | Description | Requires |
---|---|---|---|
None | No Key Mapping will be added or removed for any Key from any Key Mapping Table. |
MX: 4.4+ |
|
0-9 | Number Keys | Use the number of the number key. For example, use "0" for the "0" key. |
MX: 4.4+ |
A-Z | Alpha Keys | Use the letter of the alpha key. For example, use "A" for the "A" key. |
MX: 4.4+ |
F1-F12 | Function Keys | Use "F" and the number of the function key. For example, use "F10" for the "F10" key. |
MX: 4.4+ |
Enter | ENTER |
MX: 4.4+ |
|
Up | UP |
MX: 4.4+ |
|
Down | DOWN |
MX: 4.4+ |
|
Left | LEFT |
MX: 4.4+ |
|
Right | RIGHT |
MX: 4.4+ |
|
Escape | ESC |
MX: 4.4+ |
|
Backspace | BACKSPACE |
MX: 4.4+ |
|
Period | DOT |
MX: 4.4+ |
|
Star | Star |
MX: 4.4+ |
|
Pound | POUND |
MX: 4.4+ |
|
Space | SPACE |
MX: 4.4+ |
|
Return | RETURN |
MX: 4.4+ |
|
Clear | CLR |
MX: 4.4+ |
|
Field Exit | FIELD_EXIT |
MX: 4.4+ |
|
Alt | ALT |
MX: 4.4+ |
|
Control | CTRL |
MX: 4.4+ |
|
Shift | SHIFT |
MX: 4.4+ |
|
Blue | BLUE |
MX: 4.4+ |
|
Orange | ORANGE |
MX: 4.4+ |
|
Green Dot | GREEN |
MX: 4.4+ |
|
Red Dot | RED |
MX: 4.4+ |
|
Volume Up | VOLUMEUP |
MX: 4.4+ |
|
Volume Down | VOLUMEDOWN |
MX: 4.4+ |
|
Scan | SCAN |
MX: 4.4+ |
|
Grip Trigger | GRIP_TRIGGER |
MX: 4.4+ |
|
Button L1 | LEFT_TRIGGER_1 |
MX: 4.4+ |
|
Button L2 | LEFT_TRIGGER_2 |
MX: 4.4+ |
|
Button R1 | RIGHT_TRIGGER_1 |
MX: 4.4+ |
|
Button R2 | RIGHT_TRIGGER_2 |
MX: 4.4+ |
|
Headset Button | HEADSET_HOOK |
MX: 4.4+ |
|
Back | BACK |
MX: 4.4+ |
|
Home | HOME |
MX: 4.4+ |
|
Menu | MENU |
MX: 4.4+ |
|
Recent | RECENT |
MX: 4.4+ |
|
Search | SEARCH |
MX: 4.4+ |
|
Keyboard Backlight | KEYLIGHT |
MX: 4.4+ |
|
Display Backlight | LAMP |
MX: 4.4+ |
|
Power | POWER |
MX: 4.4+ |
|
P1 | P1 Button |
MX: 5.2+ |
|
P2 | P2 Button |
MX: 5.2+ |
|
P3 | P3 Button |
MX: 5.2+ |
|
LEFT_EXTERNAL_TRIGGER | Left External Trigger |
MX: 5.2+ |
|
RIGHT_EXTERNAL_TRIGGER | Right External Trigger |
MX: 5.2+ |
Used to select the Key Behavior that should be defined in the Base Key State Mapping Table for the Key Mapping for a specified Key.
Shown if: The Action value is "Remap a key" and Choose a key to modify is not "None"
Parm Name: BaseBehavior
Option | Name | Description | Requires |
---|---|---|---|
0 | No change | This value (or the absence of this parm from the XML) will not make any change to the Key Behavior of the specified Key in the Base Key State Mapping Table. |
MX: 4.4+ |
1 | Send trigger | This value will cause the Key Behavior for the specified Key in the Base Key State Mapping Table to be changed such that the Key will act as a one of the pre-defined Triggers and hence will cause whatever applications are registered for the selected Trigger to be notified. |
MX: 4.4+ |
2 | Send key-code | This value will cause the Key Behavior for the specified Key in the Base Key State Mapping Table to be changed such that the Key acts like a different specified Key. |
MX: 4.4+ |
3 | Send Intent | This value will cause the Key Behavior for the Key in the Base Key State Mapping Table to be changed such that the Key will send an Intent with specified attributes. |
MX: 4.4+ |
4 | Launch application | This value will cause the Key Behavior for the Key in the Base Key State Mapping Table to be changed such that the Key will launch a specified application. |
MX: 4.4+ |
5 | Suppress key | This value will cause the Key Behavior for the Key in the Base Key State Mapping Table to be changed such that the Key will be ignored and to act as if the Key was never pressed. |
MX: 4.4+ |
7 | Reset to default | This value will cause the Key Behavior for the Key in the Base Key State Mapping Table to be changed such that the Default Key Behavior is restored. |
MX: 4.4+ |
This parm is the same as the parm "Key behavior" except that instead of defining the Key Behavior for the Base Key State Mapping Table, it defines the Key Behavior for the Blue, Orange, Grey, Shift and Control Key State Mapping Table.
Shown if: The Action value is "Remap a key" and Choose a key to modify is not "None"
Parm Name: BlueBehavior,OrangeBehavior,GreyBehavior,ShiftBehavior,ControlBehavior
Option | Name | Description | Requires |
---|---|---|---|
0 | No change | This value (or the absence of this parm from the XML) will not make any change to the Key Behavior of the specified Key in the Blue, Orange, Grey, Shift and Control Key State Mapping Table. |
MX: 4.4+ |
1 | Send trigger | This value will cause the Key Behavior for the specified Key in the Blue, Orange, Grey, Shift and Control Key State Mapping Table to be changed such that the Key will act as a one of the pre-defined Triggers and hence will cause whatever applications are registered for the selected Trigger to be notified. |
MX: 4.4+ |
2 | Send key-code | This value will cause the Key Behavior for the specified Key in the Blue, Orange, Grey, Shift and Control Key State Mapping Table to be changed such that the Key acts like a different specified Key. |
MX: 4.4+ |
3 | Send Intent | This value will cause the Key Behavior for the Key in the Base Key State Mapping Table to be changed such that the Key will send an Intent with specified attributes. |
MX: 4.4+ |
4 | Launch application | This value will cause the Key Behavior for the Key in the Blue, Orange, Grey, Shift and Control Key State Mapping Table to be changed such that the Key will launch a specified application. |
MX: 4.4+ |
5 | Suppress key | This value will cause the Key Behavior for the Key in the Blue, Orange, Grey, Shift and Control Key State Mapping Table to be changed such that the Key will be ignored and to act as if the Key was never pressed. |
MX: 4.4+ |
7 | Reset to default | This value will cause the Key Behavior for the Key in the Blue, Orange, Grey, Shift and Control Key State Mapping Table to be changed such that the Default Key Behavior is restored. |
MX: 4.4+ |
Used to specify which Key Code will be sent as the Key Behavior for the specified Key in various Key State Mapping Tables. All of these parms use the same values shown in the table of values provided for the Base Key State Mapping Table.
Note: All these parms also allow you to control the Key State(s) in which the Key Code will be sent. The parms used to control that are covered later in the Advanced Sections. If an attempt is made to specify a Key Behavior for a Key Mapping Table that is not supported on a given device, then an error will be returned in the Result XML. Consult the documentation for a specific device for information on the Key Mapping Tables supported on that device. Alternately, you can query the KeyMappingMgr to acquire a list of all Key Mapping Tables that are supported on that device.
Parm names:
Shown if: The Action value is "Remap a key" and Choose a key to modify is not "None" and the Key Behavior is "Send key-code"
Parm Name: BaseKeyCode,BlueKeyCode,OrangeKeyCode,GreyKeyCode,ShiftKeyCode,ControlKeyCode
Option | Name | Description | Requires |
---|---|---|---|
7 | 0 |
MX: 4.4+ |
|
8 | 1 |
MX: 4.4+ |
|
9 | 2 |
MX: 4.4+ |
|
10 | 3 |
MX: 4.4+ |
|
11 | 4 |
MX: 4.4+ |
|
12 | 5 |
MX: 4.4+ |
|
13 | 6 |
MX: 4.4+ |
|
14 | 7 |
MX: 4.4+ |
|
15 | 8 |
MX: 4.4+ |
|
16 | 9 |
MX: 4.4+ |
|
29 | A |
MX: 4.4+ |
|
30 | B |
MX: 4.4+ |
|
31 | C |
MX: 4.4+ |
|
32 | D |
MX: 4.4+ |
|
33 | E |
MX: 4.4+ |
|
34 | F |
MX: 4.4+ |
|
35 | G |
MX: 4.4+ |
|
36 | H |
MX: 4.4+ |
|
37 | I |
MX: 4.4+ |
|
38 | J |
MX: 4.4+ |
|
39 | K |
MX: 4.4+ |
|
40 | L |
MX: 4.4+ |
|
41 | M |
MX: 4.4+ |
|
42 | N |
MX: 4.4+ |
|
43 | O |
MX: 4.4+ |
|
44 | P |
MX: 4.4+ |
|
45 | Q |
MX: 4.4+ |
|
46 | R |
MX: 4.4+ |
|
47 | S |
MX: 4.4+ |
|
48 | T |
MX: 4.4+ |
|
49 | U |
MX: 4.4+ |
|
50 | V |
MX: 4.4+ |
|
51 | W |
MX: 4.4+ |
|
52 | X. |
MX: 4.4+ |
|
53 | Y |
MX: 4.4+ |
|
54 | Z |
MX: 4.4+ |
|
66 | Enter |
MX: 4.4+ |
|
61 | Tab |
MX: 4.4+ |
|
62 | Space |
MX: 4.4+ |
|
111 | Escape |
MX: 4.4+ |
|
67 | Delete |
MX: 4.4+ |
|
131 | F1 |
MX: 4.4+ |
|
132 | F2 |
MX: 4.4+ |
|
133 | F3 |
MX: 4.4+ |
|
134 | F4 |
MX: 4.4+ |
|
135 | F5 |
MX: 4.4+ |
|
136 | F6 |
MX: 4.4+ |
|
137 | F7 |
MX: 4.4+ |
|
138 | F8 |
MX: 4.4+ |
|
139 | F9 |
MX: 4.4+ |
|
140 | F10 |
MX: 4.4+ |
|
141 | F11 |
MX: 4.4+ |
|
142 | F12 |
MX: 4.4+ |
|
144 | NUMPAD 0 |
MX: 4.4+ |
|
145 | NUMPAD 1 |
MX: 4.4+ |
|
146 | NUMPAD 2 |
MX: 4.4+ |
|
147 | NUMPAD 3 |
MX: 4.4+ |
|
148"" | NUMPAD 4 |
MX: 4.4+ |
|
149 | NUMPAD 5 |
MX: 4.4+ |
|
150 | NUMPAD 6 |
MX: 4.4+ |
|
151 | NUMPAD 7 |
MX: 4.4+ |
|
152 | NUMPAD 8 |
MX: 4.4+ |
|
153 | NUMPAD 9 |
MX: 4.4+ |
|
154 | NUMPAD Divide |
MX: 4.4+ |
|
155 | NUMPAD Multiply |
MX: 4.4+ |
|
156 | NUMPAD Subtract |
MX: 4.4+ |
|
157 | NUMPAD Add |
MX: 4.4+ |
|
158 | NUMPAD Period |
MX: 4.4+ |
|
159 | NUMPAD Comma |
MX: 4.4+ |
|
160 | NUMPAD Enter |
MX: 4.4+ |
|
161 | NUMPAD Equals |
MX: 4.4+ |
|
162 | NUMPAD Left Parenthesis |
MX: 4.4+ |
|
163 | NUMPAD Right Parenthesis |
MX: 4.4+ |
|
19 | DPAD Up |
MX: 4.4+ |
|
20 | DPAD Down |
MX: 4.4+ |
|
21 | DPAD Left |
MX: 4.4+ |
|
22 | DPAD Right |
MX: 4.4+ |
|
23 | DPAD Center |
MX: 4.4+ |
|
122 | Move Home |
MX: 4.4+ |
|
123 | Move End |
MX: 4.4+ |
|
92 | Page Up |
MX: 4.4+ |
|
93 | Page Down |
MX: 4.4+ |
|
124 | Insert |
MX: 4.4+ |
|
112 | Forward Delete |
MX: 4.4+ |
|
28 | Clear |
MX: 4.4+ |
|
10027 | Blue |
MX: 4.4+ |
|
10028 | Orange |
MX: 4.4+ |
|
10029 | Grey |
MX: 4.4+ |
|
10030 | Alt |
MX: 4.4+ |
|
10031 | Control |
MX: 4.4+ |
|
10032 | Shift |
MX: 4.4+ |
|
59 | Left Shift |
MX: 4.4+ |
|
60 | Right Shift |
MX: 4.4+ |
|
57 | Left Alt |
MX: 4.4+ |
|
58 | Right Alt |
MX: 4.4+ |
|
113 | Left Control |
MX: 4.4+ |
|
114 | Right Control |
MX: 4.4+ |
|
117 | Meta Left |
MX: 4.4+ |
|
118 | Meta Right |
MX: 4.4+ |
|
115 | Caps Lock |
MX: 4.4+ |
|
143 | Num Lock |
MX: 4.4+ |
|
116 | Scroll Lock |
MX: 4.4+ |
|
120 | SysRq |
MX: 4.4+ |
|
121 | Break |
MX: 4.4+ |
|
119 | Function |
MX: 4.4+ |
|
81 | Plus |
MX: 4.4+ |
|
69 | Minus |
MX: 4.4+ |
|
70 | Equals |
MX: 4.4+ |
|
71 | Left Bracket |
MX: 4.4+ |
|
72 | Right Bracket |
MX: 4.4+ |
|
68 | Grave |
MX: 4.4+ |
|
76 | Slash |
MX: 4.4+ |
|
73 | Backslash |
MX: 4.4+ |
|
74 | Semicolon |
MX: 4.4+ |
|
75 | Apostrophe |
MX: 4.4+ |
|
55 | Comma |
MX: 4.4+ |
|
56 | Period |
MX: 4.4+ |
|
17 | Star |
MX: 4.4+ |
|
18 | Pound |
MX: 4.4+ |
|
77 | At |
MX: 4.4+ |
|
4 | Back |
MX: 4.4+ |
|
125 | Forward |
MX: 4.4+ |
|
3 | Home |
MX: 4.4+ |
|
82 | Menu |
MX: 4.4+ |
|
176 | Settings |
MX: 4.4+ |
|
187 | Application Switch |
MX: 4.4+ |
|
210 | Calculator |
MX: 4.4+ |
|
64 | Explorer |
MX: 4.4+ |
|
65 | Envelope |
MX: 4.4+ |
|
174 | Bookmark |
MX: 4.4+ |
|
209 | Music |
MX: 4.4+ |
|
5 | Call |
MX: 4.4+ |
|
6 | End Call |
MX: 4.4+ |
|
91 | Microphone Mute |
MX: 4.4+ |
|
27 | Camera |
MX: 4.4+ |
|
84 | Search |
MX: 4.4+ |
|
207 | Contacts |
MX: 4.4+ |
|
208 | Calendar |
MX: 4.4+ |
|
24 | Volume Up |
MX: 4.4+ |
|
25 | Volume Down |
MX: 4.4+ |
|
164 | Volume Mute |
MX: 4.4+ |
|
221 | Brightness Up |
MX: 4.4+ |
|
220 | Brightness Down |
MX: 4.4+ |
|
26 | Power |
MX: 4.4+ |
|
223 | Sleep |
MX: 4.4+ |
|
224 | Wakeup |
MX: 4.4+ |
|
79 | Headset |
MX: 4.4+ |
|
228 | Push-to-talk |
MX: 4.4+ |
|
80 | Camera Focus |
MX: 4.4+ |
|
85 | Media Play/Pause |
MX: 4.4+ |
|
86 | Media Stop |
MX: 4.4+ |
|
87 | Media Next |
MX: 4.4+ |
|
88 | Media Previous |
MX: 4.4+ |
|
89 | Media Rewind |
MX: 4.4+ |
|
90 | Media Fast-Forward |
MX: 4.4+ |
|
126 | Media Play |
MX: 4.4+ |
|
127 | Media Pause |
MX: 4.4+ |
|
128 | Media Close |
MX: 4.4+ |
|
129 | Media Eject |
MX: 4.4+ |
|
130 | Media Record |
MX: 4.4+ |
|
102 | Button L1 |
MX: 4.4+ |
|
103 | Button R1 |
MX: 4.4+ |
|
104 | Button L2" |
MX: 4.4+ |
|
105 | Button R2 |
MX: 4.4+ |
|
96 | Button A |
MX: 4.4+ |
|
97 | Button B |
MX: 4.4+ |
|
98 | Button C |
MX: 4.4+ |
|
99 | Button X |
MX: 4.4+ |
|
100 | Button Y |
MX: 4.4+ |
|
101 | Button Z |
MX: 4.4+ |
|
106 | Left Thumb Button |
MX: 4.4+ |
|
107 | Right Thumb Button |
MX: 4.4+ |
|
108 | Start Button |
MX: 4.4+ |
|
109 | Select Button |
MX: 4.4+ |
|
110 | Mode Button |
MX: 4.4+ |
|
188 | Gamepad Button 1 |
MX: 4.4+ |
|
189 | Gamepad Button 2 |
MX: 4.4+ |
|
190 | Gamepad Button 3 |
MX: 4.4+ |
|
191 | Gamepad Button 4 |
MX: 4.4+ |
|
192 | Gamepad Button 5 |
MX: 4.4+ |
|
193 | Gamepad Button 6 |
MX: 4.4+ |
|
194 | Gamepad Button 7 |
MX: 4.4+ |
|
195 | Gamepad Button 8 |
MX: 4.4+ |
|
196 | Gamepad Button 9 |
MX: 4.4+ |
|
197 | Gamepad Button 10 |
MX: 4.4+ |
|
198 | Gamepad Button 11 |
MX: 4.4+ |
|
199 | Gamepad Button 12 |
MX: 4.4+ |
|
200 | Gamepad Button 13 |
MX: 4.4+ |
|
201 | Gamepad Button 14 |
MX: 4.4+ |
|
202 | Gamepad Button 15 |
MX: 4.4+ |
|
203 | Gamepad Button 16 |
MX: 4.4+ |
|
211 | Zenkaku/Hankaku |
MX: 4.4+ |
|
212 | Eisu |
MX: 4.4+ |
|
213 | Muhenkan |
MX: 4.4+ |
|
214 | Henkan |
MX: 4.4+ |
|
215 | Katakana/Hiragana |
MX: 4.4+ |
|
216 | Yen |
MX: 4.4+ |
|
217 | Ro |
MX: 4.4+ |
|
218 | Kana |
MX: 4.4+ |
Controls whether to use the Advanced section for a Key Mapping Table. All Advanced parms use the values shown in the table below.
Each Key State Mapping Table has its own Advanced Section via which can be used to specify Key State Modifiers that will be set into the Current Key State when a Key Code is sent as the Key Behavior for the specified Key in that Key State Mapping Table.
Shown if: The Action value is "Remap a key" and Choose a key to modify is not "None" and the Key Behavior for the Mapping Table is "Send key-code"
Parm Name: BaseKeyCodeAdvanced,BlueKeyCodeAdvanced,OrangeKeyCodeAdvanced,GreyKeyCodeAdvanced,ShiftKeyCodeAdvanced,ControlKeyCodeAdvanced
Option | Name | Description | Requires |
---|---|---|---|
1 | true | This value indicates that Advanced section will be specified. |
MX: 4.4+ |
2 | false | This value (or the absence of this parm from the XML) indicates that the Advanced section will not be specified. |
MX: 4.4+ |
These parms are used to control the Shift Key State Modifier when the Key Code is sent as the Key Behavior for the specified Key in the specified Key State Mapping Table. If an attempt is made to set a Key State Modifier that is not supported on a given device, no error will be returned in the Result XML. When the Key Code is sent, the specified Key State Modifier will be set into the Current Key State. However, since the Key State Modifier is not supported by the device, and hence has no associated Key Mapping Table, there will be no noticeable effect produced by setting that Key State Modifier.
Parm names:
Shown if: The Action value is "Remap a key" and Choose a key to modify is not "None" and the Key Behavior is "Send key-code" and Advanced is "True"
Parm Name: BaseKeyCodeShiftState,BlueKeyCodeShiftState,OrangeKeyCodeShiftState,GreyKeyCodeShiftState,ShiftKeyCodeShiftState,ControlKeyCodeShiftState
Option | Name | Description | Requires |
---|---|---|---|
0 | Use existing state | This value (or the absence of this parm from the XML) will cause the Shift Key State Modifier to be left unchanged, thus making it the same as when the Key was pressed. |
MX: 4.4+ |
1 | Force On | This value will set the Shift Key State Modifier, thus forcing the Key Code sent to be interpreted as Shifted. |
MX: 4.4+ |
2 | Force Off | This value will clear the Shift Key State Modifier, thus forcing the Key Code sent to be interpreted as non-Shifted. |
MX: 4.4+ |
These parms control the ALT Key State Modifier when the Key Code is sent as the Key Behavior for the specified Key in the corresponding Key State Mapping Table. If an attempt is made to set a Key State Modifier that is not supported on a given device, no error will be returned in the Result XML. When the Key Code is sent, the specified Key State Modifier will be set to the Current Key State, but since the Key State Modifier is not supported by the device, and hence has no associated Key Mapping Table, there will be no noticeable effect produced by setting that Key State Modifier.
Parm names:
Shown if: The Action value is "Remap a key" and Choose a key to modify is not "None" and the Key Behavior is "Send key-code" and Advanced is "True"
Parm Name: BaseKeyCodeAltState,BlueKeyCodeAltState,OrangeKeyCodeAltState,GreyKeyCodeAltState,ShiftKeyCodeAltState,ControlKeyCodeAltState
Option | Name | Description | Requires |
---|---|---|---|
0 | Use existing state | This value (or the absence of this parm from the XML) will cause the ALT Key State Modifier to be left unchanged, thus making it the same as when the Key was pressed. |
MX: 4.4+ |
1 | Force On | This value will set the ALT Key State Modifier, thus forcing the Key Code sent to be interpreted as ALT. |
MX: 4.4+ |
2 | Force Off | This value will clear the Shift Key State Modifier, thus forcing the Key Code sent to be interpreted as non-ALT. |
MX: 4.4+ |
Controls the Control Key State Modifier when the Key Code is sent as the Key Behavior for the specified Key in the specified Key State Mapping Table. If an attempt is made to set a Key State Modifier that is not supported on a given device, no error will be returned in the Result XML. When the Key Code is sent, the specified Key State Modifier will be set into the Current Key State, but since the Key State Modifier is not supported by the device, and hence has no associated Key Mapping Table, there will be no noticeable effect produced by setting that Key State Modifier.
Parm names:
Shown if: The Action value is "Remap a key" and Choose a key to modify is not "None" and the Key Behavior is "Send key-code" and Advanced is "True"
Parm Name: BaseKeyCodeCtrlState,BlueKeyCodeCtrlState,OrangeKeyCodeCtrlState,GreyKeyCodeCtrlState,ShiftKeyCodeCtrlState,ControlKeyCodeCtrlState
Option | Name | Description | Requires |
---|---|---|---|
0 | Use existing state | This value (or the absence of this parm from the XML) will cause the Control Key State Modifier to be left unchanged, thus making it the same as when the Key was pressed. |
MX: 4.4+ |
1 | Force On | This value will set the Control Key State Modifier, thus forcing the Key Code sent to be interpreted as Control. |
MX: 4.4+ |
2 | Force Off | This value will clear the Shift Key State Modifier, thus forcing the Key Code sent to be interpreted as non-Control. |
MX: 4.4+ |
These parms allow you to control the Function Key State Modifier when the Key Code is sent as the Key Behavior for the specified Key in the specified Key State Mapping Table. If an attempt is made to set a Key State Modifier that is not supported on a given device, then no error will be returned in the Result XML. When the Key Code is sent, the specified Key State Modifier will be set into the Current Key State, but since the Key State Modifier is not supported by the device, and hence has no associated Key Mapping Table, there will be no noticeable effect produced by setting that Key State Modifier.
Parm names:
Shown if: The Action value is "Remap a key" and Choose a key to modify is not "None" and the Key Behavior is "Send key-code" and Advanced is "True"
Parm Name: BaseKeyCodeFnState,BlueKeyCodeFnState,OrangeKeyCodeFnState,GreyKeyCodeFnState,ShiftKeyCodeFnState,ControlKeyCodeFnState
Option | Name | Description | Requires |
---|---|---|---|
0 | Use existing state | This value (or the absence of this parm from the XML) will cause the Function Key State Modifier to be left unchanged, thus making it the same as when the Key was pressed. |
MX: 4.4+ |
1 | Force On | This value will set the Control Key State Modifier, thus forcing the Key Code sent to be interpreted as Function. |
MX: 4.4+ |
2 | Force Off | This value will clear the Shift Key State Modifier, thus forcing the Key Code sent to be interpreted as non-Function. |
MX: 4.4+ |
These parms are used you to specify which Triggers will be performed as the Key Behavior for the specified Key in various Key State Mapping Tables.
Parm names:
Shown if: The Action value is "Remap a key" and Choose a key to modify is not "None" and the Key Behavior for the corresponding Key Table is "Send trigger"
Parm Name: BaseTrigger,BlueTrigger,OrangeTrigger,GreyTrigger,ShiftTrigger,ControlTrigger
Option | Name | Description | Requires |
---|---|---|---|
10016 | Trigger 1 | This value indicates that the designated Trigger will be sent as the Key Behavior for the specified Key in the specified Key Mapping Table. **Note:** The Trigger designated as Trigger 1 is commonly used by the data acquisition subsystem on devices to initiate Barcode Scanning. |
MX: 4.4+ |
10017 | Trigger 2 | This value indicates that the designated Trigger will be sent as the Key Behavior for the specified Key in the specified Key Mapping Table. **Note:** There is currently no standard usage for this Trigger. Please consult the documentation for a specific device to determine what, if any, standard System applications may register for notification of this Trigger. |
MX: 4.4+ |
10018 | Trigger 3 | This value indicates that the designated Trigger will be sent as the Key Behavior for the specified Key in the specified Key Mapping Table. **Note:** There is currently no standard usage for this Trigger. Please consult the documentation for a specific device to determine what, if any, standard System applications may register for notification of this Trigger. |
MX: 4.4+ |
10019 | Trigger 4 | This value indicates that the designated Trigger will be sent as the Key Behavior for the specified Key in the specified Key Mapping Table. **Note:** There is currently no standard usage for this Trigger. Please consult the documentation for a specific device to determine what, if any, standard System applications may register for notification of this Trigger. |
MX: 4.4+ |
10020 | Trigger 5 | This value indicates that the designated Trigger will be sent as the Key Behavior for the specified Key in the specified Key Mapping Table. **Note:** There is currently no standard usage for this Trigger. Please consult the documentation for a specific device to determine what, if any, standard System applications may register for notification of this Trigger. |
MX: 4.4+ |
10021 | Trigger 6 | This value indicates that the designated Trigger will be sent as the Key Behavior for the specified Key in the specified Key Mapping Table. **Note:** There is currently no standard usage for this Trigger. Please consult the documentation for a specific device to determine what, if any, standard System applications may register for notification of this Trigger. |
MX: 4.4+ |
10022 | Trigger 7 | This value indicates that the designated Trigger will be sent as the Key Behavior for the specified Key in the specified Key Mapping Table. **Note:** There is currently no standard usage for this Trigger. Please consult the documentation for a specific device to determine what, if any, standard System applications may register for notification of this Trigger. |
MX: 4.4+ |
10023 | Trigger 8 | This value indicates that the designated Trigger will be sent as the Key Behavior for the specified Key in the specified Key Mapping Table. **Note:** There is currently no standard usage for this Trigger. Please consult the documentation for a specific device to determine what, if any, standard System applications may register for notification of this Trigger. |
MX: 4.4+ |
These parms are used to specify the attributes of an Intent that will be sent as the Key Behavior for the specified Key in various Key State Mapping Tables.
Parm names:
These parms are used to specify the conditions under which an Intent will be sent as the Key Behavior for the specified Key in the specified Key State Mapping Table.
Parm Option Name | Parm Value | Description |
---|---|---|
On key down | "1" | This value indicates that the specified Intent should be sent only when the Key transitions from unpressed to pressed. |
On key up | "2" | This value indicates that the specified Intent should be sent only when the Key transitions from pressed to unpressed. |
On both key down and up | "3" | This value indicates that the specified Intent should be sent both when the Key transitions from unpressed to pressed and from pressed to unpressed. |
Used to specify how the Intent should be sent as the Key Behavior for the specified Key in the specified Key State Mapping Table.
Settable if: The Action value is "Remap a key" and Choose a key to modify is not "None" and the Key Behavior is "Send intent"
Pivotal parm: Yes
Parm Option Name | Parm Value | Description |
---|---|---|
Start activity | "1" | This value indicates that the Intent should be sent using Start Activity. This should be used when you want to launch an Activity within an application (to present some UI). |
Broadcast | "2" | This value indicates that the Intent should be sent using Send Broadcast. This should be used when you want to notify one or more applications (anyone that registers a suitable Broadcast Receiver) and that may invoke an Activity (to present some UI) or a Service (to perform some background processing). |
Used to specify the Action Name attribute for the Intent that will be sent as the Key Behavior for the specified Key in the specified Key State Mapping Table. The Action Name attribute of an Intent generally tells the receiver of the Intent what to do. Specifying an empty (length of zero) value (or the absence of this parm from the XML) will cause no value for this attribute to be set in the Intent. The requirement of a value for this attribute for a given Intent depends on the Intent being sent and the requirements of the application(s) to which the Intent may be sent.
Settable if: The Action value is "Remap a key" and Choose a key to modify is not "None" and the Key Behavior is "Send intent"
Pivotal parm: No
Parm names:
Parm value input rules:
Used to specify the Category attribute for the Intent that will be sent as the Key Behavior for the specified Key in the specified Key State Mapping Table. The Category attribute of an Intent generally tells the system what types of receivers to send the Intent to. Specifying an empty (length of zero) value (or the absence of this parm from the XML) will cause no value for this attribute to be set in the Intent. The requirement of a value for this attribute for a given Intent depends on the Intent being sent and the requirements of the application(s) to which the Intent may be sent.
Settable if: The Action value is "Remap a key" and Choose a key to modify is not "None" and the Key Behavior is "Send intent"
Pivotal parm: No
Parm names:
Parm value input rules:
Used to specify the Package Name attribute for the Intent that will be sent as the Key Behavior for the specified Key in the specified Key State Mapping Table. The Package Name attribute of an Intent generally tells the system exactly which application to send the Intent to. Specifying an empty (length of zero) value (or the absence of this parm from the XML) will cause no value for this attribute to be set in the Intent. The requirement of a value for this attribute for a given Intent depends on the Intent being sent and the requirements of the application(s) to which the Intent may be sent.
Settable if: The Action value is "Remap a key" and Choose a key to modify is not "None" and the Key Behavior is "Send intent" and the Intent Type is "Start activity"
Pivotal parm: No
Parm names:
Parm value input rules:
Used to specify the Class Name attribute for the Intent that will be sent as the Key Behavior for the specified Key in the specified Key State Mapping Table. The Class Name attribute of an Intent generally tells the system exactly which class within an application to send the Intent to. Specifying an empty (length of zero) value (or the absence of this parm from the XML) will cause no value for this attribute to be set in the Intent. The requirement of a value for this attribute for a given Intent depends on the Intent being sent and the requirements of the application(s) to which the Intent may be sent.
Settable if: The Action value is "Remap a key" and Choose a key to modify is not "None" and the Key Behavior is "Send intent" and the Intent Type is "Start activity"
Pivotal parm: No
Parm names:
Parm value input rules:
Used to specify the Data URI attribute for the Intent that will be sent as the Key Behavior for the specified Key in the specified Key State Mapping Table. The Data URI attribute of an Intent generally provides a reference to the data (if any) that should be processed by the application to which the Intent is sent. Specifying an empty (length of zero) value (or the absence of this parm from the XML) will cause no value for this attribute to be set in the Intent. The requirement of a value for this attribute for a given Intent depends on the Intent being sent and the requirements of the application(s) to which the Intent may be sent.
Settable if: The Action value is "Remap a key" and Choose a key to modify is not "None" and the Key Behavior is "Send intent"
Pivotal parm: No
Parm names:
Parm value input rules:
Used to specify the MIME Type attribute for the Intent that will be sent as the Key Behavior for the specified Key in the specified Key State Mapping Table. The MIME Type attribute of an Intent generally provides information about the type of data referenced by the Data URI attribute (if any) that helps qualify the action that should be taken by the application to which the Intent is sent. Specifying an empty (length of zero) value (or the absence of this parm from the XML) will cause no value for this attribute to be set in the Intent. The requirement for a value for this attribute for a given Intent depends on the Intent being sent and the requirements of the application(s) to which the Intent may be sent.
Settable if: The Action value is "Remap a key" and Choose a key to modify is not "None" and the Key Behavior is "Send intent"
Pivotal parm: No
Parm names:
Parm value input rules:
Used to specify the Name of an Extra Data attribute for the Intent that will be sent as the Key Behavior for the specified Key in the specified Key State Mapping Table. An Extra Data attribute of an Intent generally provides auxiliary information that helps qualify the action that should be taken on the data by the application to which the Intent is sent. An Extra Data attribute must be specified using both an Extra Name and an Extra Value since both are required to add an Extra Data attribute to an Intent. Specifying an empty (length of zero) value (or the absence of this parm from the XML) will cause no Extra Data attribute to be set in the Intent. The requirement for an Extra Data attribute for a given Intent depends on the Intent being sent and the requirements of the application(s) to which the Intent may be sent.
Settable if: The Action value is "Remap a key" and Choose a key to modify is not "None" and the Key Behavior is "Send intent"
Pivotal parm: No
Parm names:
Parm value input rules:
Used to specify the Value of an Extra Data attribute for the Intent that will be sent as the Key Behavior for the specified Key in the specified Key State Mapping Table. An Extra Data attribute of an Intent generally provides auxiliary information that helps qualify the action that should be taken on the data by the application to which the Intent is sent. An Extra Data attribute must be specified using both an Extra Name and an Extra Value since both are required to add an Extra Data attribute to an Intent. Specifying an empty (length of zero) value (or the absence of this parm from the XML) will cause no Extra Data attribute to be set in the Intent. The requirement of an Extra Data attribute for a given Intent depends on the Intent being sent and the requirements of the application(s) to which the Intent may be sent.
Settable if: The Action value is "Remap a key" and Choose a key to modify is not "None" and the Key Behavior is "Send intent"
Pivotal parm: No
Parm names:
Parm value input rules:
Shown if: The Action value is "Remap a key" and Choose a key to modify is not "None" and the Key Behavior is "Send intent"
Parm Name: BaseSendIntent,BlueSendIntent,OrangeSendIntent,GreySendIntent,ShiftSendIntent,ControlSendIntent
Requires:
- MX: 4.4+
These parms control whether the key event should be added to the Intent that will be sent as the Key Behavior for the specified Key in the specified Key State Mapping Table.
Parm names:
Shown if: The Action value is "Remap a key" and Choose a key to modify is not "None" and the Key Behavior is "Send intent"
Parm Name: BaseIntentAddKeyState,BlueIntentAddKeyState,OrangeIntentAddKeyState,GreyIntentAddKeyState,ShiftIntentAddKeyState,ControlIntentAddKeyState
Option | Name | Description | Requires |
---|---|---|---|
0 | true | Causes Key Event that occurred when the Key was pressed or released to be attached to the Intent. This would generally be valuable only when an application was written specifically to receive such an Intent since it would require the application to understand and interpret the data format used to encode a Key Event. |
MX: 4.4+ |
2 | false | Prevents Key Event that occurred when the Key was pressed or released from being attached to the Intent. |
MX: 4.4+ |
Used to specify the Intent Flags that should be included in the Intent that will be sent as the Key Behavior for the specified Key in the specified Key State Mapping Table. Intent Flags specify information about how an Intent should be processed by the Android system and/or by the application to which the Intent is sent. Specifying an empty (length of zero) value (or the absence of this parm from the XML) will cause no value for this attribute to be set in the Intent.
Parm names:
Parm value input rules:
Shown if: The Action value is "Remap a key" and Choose a key to modify is not "None" and the Key Behavior is "Send intent"
Parm Name: BaseIntentIncludeFlags,BlueIntentIncludeFlags,OrangeIntentIncludeFlags,GreyIntentIncludeFlags,ShiftIntentIncludeFlags,ControlIntentIncludeFlags
Requires:
- MX: 4.4+
Used to specify the Application Name of the application whose main Activity should be launched as the Key Behavior for the specified Key in various Key State Mapping Tables. The Application Name of an application is separate from the Package Name, although the two could be set the same by the application developer. More commonly, the Application Name is a human readable name that may be displayed on the application title bar and on the App Info section of the System Settings Menu. Using the Application Name to launch an application is generally simpler and friendlier that using the Package Name and Class Name, as would be required when using a more general Intent to launch an application.
Parm names:
Parm value input rules:
Shown if: The Action value is "Remap a key" and Choose a key to modify is not "None" and the Key Behavior is "Launch application"
Parm Name: BaseLaunchActivityName,BlueLaunchActivityName,OrangeLaunchActivityName,GreyLaunchActivityName,ShiftLaunchActivityName,ControlLaunchActivityName
Requires:
- MX: 4.4+
The first feature of the following Request XML document is used to first reset the keys to their defaults. The following features are used to swap the 7 and 9 keys on the keyboard.
Input
<wap-provisioningdoc>
<characteristic type="KeyMappingMgr" version="4.4" >
<parm name="Action" value="2"/>
</characteristic>
<characteristic type="KeyMappingMgr" version="4.4" >
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="7"/>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="16"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr" version="4.4" >
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="9"/>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="14"/>
</characteristic>
</characteristic>
</characteristic>
</wap-provisioningdoc>
Output
<wap-provisioningdoc>
<characteristic type="KeyMappingMgr" version="4.4">
<parm name="Action" value="2"/>
</characteristic>
<characteristic type="KeyMappingMgr" version="4.4">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="7"/>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="16"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr" version="4.4">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="9"/>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="14"/>
</characteristic>
</characteristic>
</characteristic>
</wap-provisioningdoc>
Input
<wap-provisioningdoc>
<characteristic type="KeyMappingMgr" version="4.4" >
<parm name="Action" value="2"/>
</characteristic>
</wap-provisioningdoc>
Output
<wap-provisioningdoc>
<characteristic type="KeyMappingMgr" version="4.4">
<parm name="Action" value="2"/>
</characteristic>
</wap-provisioningdoc>
Input
<wap-provisioningdoc>
<characteristic type="KeyMappingMgr">
<parm-query name="Version"/>
</characteristic>
</wap-provisioningdoc>
Output
<wap-provisioningdoc>
<characteristic type="KeyMappingMgr" version="4.4">
<parm name="Version" value="4.4.0"/>
</characteristic>
</wap-provisioningdoc>
Input
<wap-provisioningdoc>
<characteristic type="KeyMappingMgr">
<characteristic-query type="QueryAvailableKeys"/>
</characteristic>
</wap-provisioningdoc>
Output
<wap-provisioningdoc>
<characteristic type="KeyMappingMgr" version="4.4">
<characteristic type="QueryAvailableKeys">
<parm name="KeyIdentifier" value="0"/>
<parm name="KeyIdentifier" value="1"/>
<parm name="KeyIdentifier" value="2"/>
<parm name="KeyIdentifier" value="3"/>
<parm name="KeyIdentifier" value="4"/>
<parm name="KeyIdentifier" value="5"/>
<parm name="KeyIdentifier" value="6"/>
<parm name="KeyIdentifier" value="7"/>
<parm name="KeyIdentifier" value="8"/>
<parm name="KeyIdentifier" value="9"/>
<parm name="KeyIdentifier" value="A"/>
<parm name="KeyIdentifier" value="B"/>
<parm name="KeyIdentifier" value="C"/>
<parm name="KeyIdentifier" value="D"/>
<parm name="KeyIdentifier" value="E"/>
<parm name="KeyIdentifier" value="F"/>
<parm name="KeyIdentifier" value="G"/>
<parm name="KeyIdentifier" value="H"/>
<parm name="KeyIdentifier" value="I"/>
<parm name="KeyIdentifier" value="J"/>
<parm name="KeyIdentifier" value="K"/>
<parm name="KeyIdentifier" value="L"/>
<parm name="KeyIdentifier" value="M"/>
<parm name="KeyIdentifier" value="N"/>
<parm name="KeyIdentifier" value="O"/>
<parm name="KeyIdentifier" value="P"/>
<parm name="KeyIdentifier" value="Q"/>
<parm name="KeyIdentifier" value="R"/>
<parm name="KeyIdentifier" value="S"/>
<parm name="KeyIdentifier" value="T"/>
<parm name="KeyIdentifier" value="U"/>
<parm name="KeyIdentifier" value="V"/>
<parm name="KeyIdentifier" value="W"/>
<parm name="KeyIdentifier" value="X"/>
<parm name="KeyIdentifier" value="Y"/>
<parm name="KeyIdentifier" value="Z"/>
<parm name="KeyIdentifier" value="UP"/>
<parm name="KeyIdentifier" value="DOT"/>
<parm name="KeyIdentifier" value="ESC"/>
<parm name="KeyIdentifier" value="RED"/>
<parm name="KeyIdentifier" value="BLUE"/>
<parm name="KeyIdentifier" value="CTRL"/>
<parm name="KeyIdentifier" value="DOWN"/>
<parm name="KeyIdentifier" value="LEFT"/>
<parm name="KeyIdentifier" value="SCAN"/>
<parm name="KeyIdentifier" value="STAR"/>
<parm name="KeyIdentifier" value="ENTER"/>
<parm name="KeyIdentifier" value="GREEN"/>
<parm name="KeyIdentifier" value="RIGHT"/>
<parm name="KeyIdentifier" value="SHIFT"/>
<parm name="KeyIdentifier" value="SPACE"/>
<parm name="KeyIdentifier" value="GRIP_TRIGGER"/>
<parm name="KeyIdentifier" value="BACKSPACE"/>
</characteristic>
</characteristic>
</wap-provisioningdoc>
Input
<wap-provisioningdoc>
<characteristic type="KeyMappingMgr">
<characteristic-query type="QueryAvailableTables"/>
</characteristic>
</wap-provisioningdoc>
Output
<wap-provisioningdoc>
<characteristic type="KeyMappingMgr" version="4.4">
<characteristic type="QueryAvailableTables">
<parm name="TableIdentifier" value="blue"/>
<parm name="TableIdentifier" value="base"/>
</characteristic>
</characteristic>
</wap-provisioningdoc>
Input
<wap-provisioningdoc>
<characteristic type="KeyMappingMgr">
<characteristic-query type="QueryDefaultKeyMapping">
<parm name="QueryDefaultKeyIdentifier" value="0"/>
</characteristic-query>
</characteristic>
</wap-provisioningdoc>
Output
<wap-provisioningdoc>
<characteristic type="KeyMappingMgr" version="4.4">
<characteristic type="QueryDefaultKeyMapping">
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="0"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="140"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="7"/>
</characteristic>
</characteristic>
</characteristic>
</characteristic>
</characteristic>
</wap-provisioningdoc>
Input
<wap-provisioningdoc>
<characteristic type="KeyMappingMgr">
<characteristic-query type="QueryChangedKeyMapping">
<parm name="QueryChangedKeyIdentifier" value="0"/>
</characteristic-query>
</characteristic>
</wap-provisioningdoc>
Error Output
<wap-provisioningdoc>
<characteristic type="KeyMappingMgr" version="4.4">
<characteristic-error type="QueryChangedKeyMapping" desc="No key mappings available"/>
</characteristic>
</wap-provisioningdoc>
Input
<wap-provisioningdoc>
<characteristic type="KeyMappingMgr">
<characteristic-query type="QueryCurrentKeyMapping">
<parm name="QueryCurrentKeyIdentifier" value="0"/>
</characteristic-query>
</characteristic>
</wap-provisioningdoc>
Output
<wap-provisioningdoc>
<characteristic type="KeyMappingMgr" version="4.4">
<characteristic type="QueryCurrentKeyMapping">
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="0"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="140"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="7"/>
</characteristic>
</characteristic>
</characteristic>
</characteristic>
</characteristic>
</wap-provisioningdoc>
Input
<wap-provisioningdoc>
<characteristic type="KeyMappingMgr">
<characteristic-query type="QueryDefaultKeyMappings"/>
</characteristic>
</wap-provisioningdoc>
Output
<wap-provisioningdoc>
<characteristic type="KeyMappingMgr" version="4.4">
<characteristic type="QueryDefaultKeyMappings">
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="0"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="140"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="7"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="1"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="131"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="8"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="2"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="132"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="9"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="3"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="133"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="10"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="4"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="134"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="11"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="5"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="135"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="12"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="6"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="136"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="13"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="7"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="137"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="14"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="8"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="138"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="15"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="9"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="139"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="16"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="A"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="55"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="29"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="B"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="56"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="30"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="C"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="75"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="31"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="D"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="221"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="32"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="E"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="71"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="33"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="F"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="72"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="34"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="G"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="73"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="35"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="H"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="24"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="36"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="I"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="220"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="37"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="J"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="68"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="38"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="K"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="6"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="39"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="L"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="76"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="40"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="M"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="25"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="41"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="N"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="69"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="42"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="O"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="6"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="43"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="P"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="6"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="44"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="Q"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="6"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="45"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="R"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="74"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="46"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="S"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="157"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="47"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="T"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="156"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="48"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="U"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="155"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="49"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="V"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="154"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="50"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="W"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="161"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="51"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="X"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="10025"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="52"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="Y"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="6"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="53"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="Z"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="10024"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="54"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="UP"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="6"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="19"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="DOT"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="6"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="56"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="ESC"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="6"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="111"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="RED"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="6"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="104"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="BLUE"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="6"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="10027"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="CTRL"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="10030"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="10031"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="DOWN"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="6"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="20"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="LEFT"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="6"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="21"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="SCAN"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="6"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="103"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="STAR"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="141"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="17"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="ENTER"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="6"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="66"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="GREEN"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="6"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="102"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="RIGHT"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="6"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="22"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="SHIFT"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="6"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="10032"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="SPACE"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="61"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="62"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="GRIP_TRIGGER"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="6"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="103"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="BACKSPACE"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="6"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="67"/>
</characteristic>
</characteristic>
</characteristic>
</characteristic>
</characteristic>
</wap-provisioningdoc>
Input
<wap-provisioningdoc>
<characteristic type="KeyMappingMgr">
<characteristic-query type="QueryChangedKeyMappings"/>
</characteristic>
</wap-provisioningdoc>
Error Output
<wap-provisioningdoc>
<characteristic type="KeyMappingMgr" version="4.4">
<characteristic-error type="QueryChangedKeyMappings" desc="No key mappings available"/>
</characteristic>
</wap-provisioningdoc>
Input
<wap-provisioningdoc>
<characteristic type="KeyMappingMgr">
<characteristic-query type="QueryCurrentKeyMappings"/>
</characteristic>
</wap-provisioningdoc>
Output
<wap-provisioningdoc>
<characteristic type="KeyMappingMgr" version="4.4">
<characteristic type="QueryDefaultKeyMappings">
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="0"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="140"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="7"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="1"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="131"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="8"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="2"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="132"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="9"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="3"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="133"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="10"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="4"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="134"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="11"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="5"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="135"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="12"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="6"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="136"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="13"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="7"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="137"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="14"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="8"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="138"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="15"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="9"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="139"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="16"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="A"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="55"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="29"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="B"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="56"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="30"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="C"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="75"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="31"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="D"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="221"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="32"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="E"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="71"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="33"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="F"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="72"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="34"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="G"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="73"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="35"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="H"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="24"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="36"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="I"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="220"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="37"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="J"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="68"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="38"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="K"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="6"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="39"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="L"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="76"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="40"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="M"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="25"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="41"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="N"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="69"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="42"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="O"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="6"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="43"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="P"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="6"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="44"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="Q"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="6"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="45"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="R"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="74"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="46"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="S"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="157"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="47"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="T"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="156"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="48"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="U"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="155"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="49"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="V"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="154"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="50"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="W"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="161"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="51"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="X"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="10025"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="52"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="Y"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="6"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="53"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="Z"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="10024"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="54"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="UP"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="6"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="19"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="DOT"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="6"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="56"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="ESC"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="6"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="111"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="RED"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="6"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="104"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="BLUE"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="6"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="10027"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="CTRL"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="10030"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="10031"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="DOWN"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="6"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="20"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="LEFT"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="6"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="21"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="SCAN"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="6"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="103"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="STAR"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="141"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="17"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="ENTER"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="6"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="66"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="GREEN"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="6"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="102"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="RIGHT"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="6"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="22"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="SHIFT"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="6"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="10032"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="SPACE"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="2"/>
<parm name="BlueKeyCode" value="61"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="62"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="GRIP_TRIGGER"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="6"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="103"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="KeyMappingMgr">
<parm name="Action" value="1"/>
<characteristic type="KeyMapping">
<parm name="KeyIdentifier" value="BACKSPACE"/>
<characteristic type="BlueTable">
<parm name="BlueBehavior" value="6"/>
</characteristic>
<characteristic type="BaseTable">
<parm name="BaseBehavior" value="2"/>
<parm name="BaseKeyCode" value="67"/>
</characteristic>
</characteristic>
</characteristic>
</characteristic>
</characteristic>
</wap-provisioningdoc>