Intermec 700 Series User Manual page 301

Color mobile computer
Hide thumbs Also See for 700 Series:
Table of Contents

Advertisement

Chapter
7
Programming
Key Values
How Key Values Are Stored in Registry
282
Key values for each plane are stored in the registry. All units ship with a
default key mapping already loaded in the registry. Applications that wish
to change the default mapping need to read the appropriate key from the
registry into an array of Words, modify the values required and then write
the updated values back into the registry. The registry access can be done
with standard Microsoft API calls, such as RegOpenKeyEx(), RegQuery-
ValueEx(), and RegSetValueEx().
S The unshifted plane mapping can be found in the registry at:
HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\KEYBD\Vkey
S The gold plane mapping can be found in the registry at:
HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\KEYBD\VkeyGold
S The alpha plane mapping can be found in the registry at:
HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\KEYBD\VkeyAlpha
To know which fields to update in the registry, you must know what Scan
Codes are assigned to each physical key (see the table below). The Scan
Code is used at the lowest level of the system to let the keypad driver know
which physical key has been pressed. The keypad driver takes that scan
code and looks it up in a table (a copy of the one stored in the registry) to
determine which values to pass on to the operating system.
Each registry key is just an array that describes to the keypad driver what
value needs to be passed for each physical key. The key values are indexed
by the scan code, this is a zero-based index. For example in the unshifted
plane, the [4] key has a scan code of 0x06. This means that the seventh
word under the "Vkey" registry key will have the value for the [4] key.
Taking a sample of the "Vkey" registry key shows the following values:
00,00,0B,05,02,03,C1,07,04,03,BE,00,34,00,00,00,. . .
The value is 34,00. The values are in reverse byte order because that is the
way the processor handles data. When writing an application, nothing
needs to be done to swap the bytes, as this will happen automatically when
the data is read into a byte value. This is something you just need to be
aware of this when looking at the registry. Knowing this, we can see that
the value that the keypad driver will pass to the system is a hex 34. Look-
ing that up on an UNICODE character chart, we see that it maps to a "4".
If you wanted the key, labeled "4", to output the letter "A" instead, you
would need to change the seventh word to "41" (the hexadecimal represen-
tation of "A" from the UNICODE chart), then put the key back into the
registry.
Note: Do not remap scan codes 0x01, 0x41, 0x42, 0x43, 0x44. Remap-
ping these scan codes could render your 700 Series Computer unusable
until a cold-boot is performed.
If you wish to disable a certain key, remap its scan code to 0x00.
700 Series Color Mobile Computer User's Manual

Advertisement

Table of Contents
loading

Table of Contents