How Key Values Are Stored In Registry; Change Notification; Advanced Keypad Remapping - Intermec 700 Series User Manual

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

Advertisement

SECTION 7
Programming

How Key Values Are Stored in Registry

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 look-
ing at the registry. Knowing this, we can see that the value that the keypad
driver will pass to the system is a hex 34. Looking 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 representation 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. Remapping 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.

Change Notification

Just changing the registry keys will not immediately change the key mappings.
To notify the keypad driver that the registry has been updated, signal the
"ITC_KEYBOARD_CHANGE" named event using the CreateEvent() API.

Advanced Keypad Remapping

It is also possible to map multiple key presses to one button and to map named
system events to a button. The multiple key press option could be useful to cut
down on the number of keys needed to press in a given situation or to remap
which key behaves like the action key. Mapping events to a button could be use-
ful to change which buttons will fire the scanner, control volume, and allow for
suspending and resuming the device. If you need help performing one of these
advanced topics please contact Intermec Technical Support.
700 Series Color Mobile Computer User's Manual
7-37

Advertisement

Table of Contents
loading

Table of Contents