Intermec cn30 User Guide

Page of 196
Chapter 3 — Configuring the CN30
124
CN30 Mobile Computer User’s Manual
Registry Entries
There are three main “shift plane” registry entries which map the keypad 
device scancodes to the windows virtual key values. Each registry entry is an 
array of 128 WORDs (2 byte unsigned int, little endian). Since scan codes 
generated by the keypad device can range in value from 0x00 to 0x7f, the 
driver uses the generated scan code value as an index into one of the shift 
plane entries to determine the virtual key value sent up to the system.
The shift plane registry entry used is determined by the current state of the 
Orange and Green keys. If the Orange key is held down, then the “Orange 
shift plane” array is used. If the Green key is held down, then the “Green 
shift plane” array is used. If neither Orange nor Green key is held down, 
then the “Normal, unshifted plane” array is used.
The name of the three registry entries that define the Normal, Orange, and 
Green shift planes are as follows:
HKLM\HARDWARE\DEVICEMAP\KEYBD\xxxx\Vkey (Normal)
HKLM\HARDWARE\DEVICEMAP\KEYBD\xxxx\VkeyGold (Orange)
HKLM\HARDWARE\DEVICEMAP\KEYBD\xxxx\VkeyAlpha (Green)
Where xxxx is a four-digit keypad ID which identifies the type of keypad 
on your CN30 Computer.
These are the registry entries (which are arrays of 128 WORDs) you need 
to modify to remap your keypad.
Programming the Keypad
Do the following to change a single key on the CN30 keypad. You can 
change more than one key, if desired.
1 Identify your keypad
Read the four bytes of text stored in the registry entry. For this example, 
this value is referred to as <KPID>.
HKEY_LOCAL_MACHINE\Drivers\BuiltIn\KEYPAD\ActiveConfig
2 Read the shift plane mapping
Read each of these key values into a WORD array of size 128. Note that 
not all keypads have entries for VkeyGold and VkeyAlpha.
HKLM\HARDWARE\DEVICEMAP\KEYBD\<KPID>\Vkey (Normal)
HKLM\HARDWARE\DEVICEMAP\KEYBD\<KPID>\VkeyGold (Orange)
HKLM\HARDWARE\DEVICEMAP\KEYBD\<KPID>\VkeyAlpha (Green)
3 Modify the shift plane mapping
Write the desired virtual key value to the scan code offset of the desired 
shift plane.
You can use the scan code diagrams below and on the next page to find 
the scan code for the keys you want to remap. Note that scan code 00h is 
the left scan trigger, scan code 10h is the right scan trigger, and all values are 
hexadecimal.