User's Manual
Table Of Contents
- Title
- Contents
- Before You Begin
- Chapter 1: Introduction
- Chapter 2: Pocket PC 2002
- Introduction
- Premium versus Professional Editions
- Where to Find Information
- Basic Skills
- Microsoft ActiveSync
- Microsoft Pocket Outlook
- Companion Programs
- Pocket Internet Explorer
- Getting Connected
- Chapter 3: Installing Applications
- Chapter 4: Network Support
- CORE
- Network Adapters
- Ethernet Communications
- 802.11b Communications
- Profiles
- Basic
- Security
- Advanced
- Certificates
- Import/Export
- Scan List
- Network Selection APIs
- Function Summary
- RadioConnect()
- RadioDisconnect()
- GetMac()
- GetBSSID()
- GetSSID()
- GetLinkSpeed()
- GetNetworkType()
- GetTXPower()
- GetNetworkMode()
- SetNetworkMode()
- AddWep()
- GetRSSI()
- GetAssociationStatus()
- GetWepStatus()
- GetAuthenticationMode()
- SetAuthenticationMode()
- SetChannel()
- EnableWep()
- GetPowerMode()
- SetSSID()
- isOrinoco()
- EncryptWepKeyForRegistry()
- SetRTSThreshold()
- GetRTSThreshold()
- ConfigureProfile()
- StartScanList()
- 802.11b Radio CORE Module
- WWAN Radio Options
- WAN Radio CORE Module
- Wireless Printing
- AutoIP/DHCP
- SNMP Configuration
- Chapter 5: Printer Support
- Chapter 6: Scanner Support
- Scanner Control and Data Transfer
- Automatic Data Collection COM Interfaces
- Multiple ADC COM Object Support
- How to Create and Use the ADC COM Interfaces
- 2D Imager Overview
- Create and Delete ADC COM Object Functions
- IADC Functions
- IBarCodeReaderControl Functions
- IS9CConfig Functions
- IS9CConfig::GetCodabar
- IS9CConfig::SetCodabar
- Codabar Default Settings
- Codabar Enumerations
- IS9CConfig::GetCode39
- IS9CConfig::SetCode39
- Code 39 Default Settings
- Code 39 Enumerations
- IS9CConfig::GetCode93
- IS9CConfig::SetCode93
- Code 93 Default Settings
- Code 93 Enumerations
- IS9CConfig::GetCode128
- IS9CConfig::SetCode128
- Code 128/EAN 128 Default Settings
- Code 128 Enumerations
- IS9CConfig::GetI2of5
- IS9CConfig::SetI2of5
- Interleaved 2 of 5 Default Settings
- Interleaved 2 of 5 Enumerations
- IS9CConfig::GetMatrix2of5
- IS9CConfig::SetMatrix2of5
- Matrix 2 of 5 Default Settings
- Matrix 2 of 5 Enumerations
- IS9CConfig::GetMSI
- IS9CConfig::SetMSI
- MSI Default Settings
- MSI Enumerations
- IS9CConfig::GetPDF417
- IS9CConfig::SetPDF417
- PDF 417 Default Settings
- PDF 417 Enumerations
- IS9CConfig::GetPlessey
- IS9CConfig::SetPlessey
- Plessey Default Settings
- Plessey Enumerations
- IS9CConfig::GetStandard2of5
- IS9CConfig::SetStandard2of5
- Standard 2 of 5 Default Settings
- Standard 2 of 5 Enumerations
- IS9CConfig::GetTelepen
- IS9CConfig::SetTelepen
- Telepen Default Settings
- Telepen Enumerations
- IS9CConfig::GetUpcEan
- IS9CConfig::SetUpcEan
- UPC/EAN Default Settings
- UPC/EAN Enumerations
- IS9CConfig2 Functions
- IS9CConfig2::GetCode11
- IS9CConfig2::SetCode11
- Code 11 Default Settings
- Code 11 Enumerations
- IS9CConfig2::GetCustomSymIds
- IS9CConfig2::SetCustomSymIds
- Custom Identifier Assignments
- Custom Identifier Default Settings
- Custom Identifier Example
- IS9CConfig2::GetGlobalAmble
- IS9CConfig2::SetGlobalAmble
- Postamble and Preamble Defaults
- IS9CConfig2::GetPDF417Ext
- IS9CConfig2::SetPDF417Ext
- PDF 417 Extended: Micro PDF 417 Default Settings
- IS9CConfig2::GetSymIdXmit
- IS9CConfig2::SetSymIdXmit
- Symbology ID Transmission Option
- IS9CConfig3 Functions
- AIM Symbology ID Defaults
- IImage Interface
- Data Collection Configuration
- Tethered Scanner
- Chapter 7: Programming
- Creating CAB Files
- FTP Server
- Full Screen
- Kernel I/O Controls
- Reboot Functions
- Remapping the Keypad
- Appendix A: Control Panel Applets
- Appendix B: Unit Manager
- Appendix C: Bar Codes
- Index
ProgrammingChapter —7
282 700 Series Color Mobile Computer User’s Manual
Key Values
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 registr y. 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
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 a re 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 s eventh
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.