Zebra EP10 Mobile Devices Developers Guide (en)

MOBILE DEVICES
DEVELOPERS GUIDE
MOBILE DEVICES
DEVELOPERS GUIDE
8000271-001
Rev. A
April 2015
ii Mobile Devices Developers Guide
The software is provided strictly on an “as is” basis. All software, including firmware, furnished to the user is on a licensed basis. Zebra grants to the user a non-transferable and non-exclusive license to use each software or firmware program delivered hereunder (licensed program). Except as noted below, such licens may not be assigned, sublicensed, or otherwise transferred by the user without prior written consent of Zebra. No right to copy a licensed program in whole or in part is granted, except as permitted under copyright law. The user shall not modify, merge, or incorporate any form or portion of a licensed program with other program material, create a derivative work from a licensed program, or use a licensed program in a network without written permission from Zebra. The user agrees to maintain Zebra’s copyright notice on the licensed programs delivered hereunder, and to include the same on any authorized copies it makes, in whole or in part. The user agrees not to decompile, disassemble, decode, or reverse engineer any licensed program delivered to the user or any portion thereof.
Zebra reserves the right to make changes to any software or product to improve reliability, function, or design.
e
Zebra does not assume any product liability any product, circuit, or application described herein.
No license is granted, either expressly or by implication, estoppel, or otherwise under any Zebra, intellectual property products.
rights. An implied license only exists for equipment, circuits, and subsystems contained in Zebra
arising out of, or in connection with, the application or use of
iii
iv Mobile Devices Developers Guide
Revision History
Changes to the original guide are listed below:
Change Date Description
Rev A 4/2012 Initial release. Rev. B 11/2013 Update
-001 Rev
. A
4/2015 Zebra re-branding.
v
vi Mobile Devices Developers Guide

TABLE OF CONTENTS

Table of Conte n ts
About this Guide .............................................................................................................................xix
Text Conventions............................................................................................................................ xx
Command Syntax...........................................................................................................................xxi
Non-Psion Computers..................................................................................................................... xxi
Other Documentation for Application Development........................................................................ xxi
Chapter 1: Backlight
Backlighting.....................................................................................................................................1-3
Omnii and EP10 .............................................................................................................................1-3
Thresholds......................................................................................................................................1-3
Timeouts.........................................................................................................................................1-3
Backlight Configuration Parameters............................................................................................... 1-5
Mobile Devices SDK Version 5.4 and Later...................................................................................1-6
Mobile Devices SDK Version 5.3 and Earlier.................................................................................1-6
Getting Started with Backlights.......................................................................................................1-10
Code Samples for Backlights..........................................................................................................1-10
Backlight API Elements................................................................................................................... 1-10
Chapter 2: Batteries and Power Management
Suspend Timeout............................................................................................................................2-3
Psion Power States.........................................................................................................................2-4
Suspend/resume Cycle..................................................................................................................2-4
Comparison of Power S t ates..........................................................................................................2-4
Fully on ..................................................................................................................................... 2-4
Standby Mode (Unattended Mode)...........................................................................................2-4
Suspend Mode.......................................................................................................................... 2-4
Suspend with Radio Off Mode (Shutdown Mode)..........................................................................2-5
Power Off........................................................................................................................................2-5
Manual Initiation of Standby and Suspend......................................................................................2-5
Wake up from Suspend Mode, or Suspend With Radio Off Mode..................................................2-8
EP10 Power Options Registry Settings ..........................................................................................2-9
viii Mobile Devices Developers Guide
Programmatic Control of the Suspend/resume Cycle..................................................................... 2-10
Initiation of Suspend ................................................................................................................. 2-10
Selection of Wakeup Sources................................................................................................... 2-10
Accelerometer and Gyroscope.......................................................................................................2-11
Wake up that Stops in Standby Mode.......................................................................................2-11
Setting a Time Until Wakeup..........................................................................................................2-11
Getting Started with the Suspend/resume Cycle............................................................................ 2-11
Code Samples for the Suspend/resume Cycle...............................................................................2-11
Suspend API Elements................................................................................................................... 2-11
Power Management........................................................................................................................2-12
Events.......................................................................................................................................2-12
Battery Information ......................................................................................................................... 2-13
Battery Suspend Threshold ......................................................................................................2-13
Main Battery and Backup Battery Lifetimes and Remaining Charge........................................ 2-13
Smart Batteries.........................................................................................................................2-13
Smart Battery Registry Settings......................................................................................................2-14
Getting Started with Power Management and Smart Batteries ...................................................... 2-15
Code Samples for Power Management and Smart Batteries......................................................... 2-15
Power Management and Battery API Elements ............................................................................. 2-15
Chapter 3: Reset
Reset Types and Effects................................................................................................................. 3-3
Manual Initiation of Resets .............................................................................................................3-5
Programmatic Initiation of Resets................................................................................................... 3-11
Controlling Keyboard Resets..........................................................................................................3-12
Detecting and Identifying Resets.............................................................................................. 3-12
Getting Started with Resets............................................................................................................ 3-12
Code Samples for Resets............................................................................................................... 3-12
Reset API Elements........................................................................................................................3-12
Chapter 4: Display
Display............................................................................................................................................ 4-3
Getting Started with the Display .....................................................................................................4-5
Code Samples for the Display........................................................................................................ 4-5
Display API Elements..................................................................................................................... 4-5
Chapter 5: Indicators
Indicators........................................................................................................................................5-3
Using LED Colours......................................................................................................................... 5-3
Controlling Pulses........................................................................................................................... 5-4
Controlling Illumination Patterns..................................................................................................... 5-4
Getting Started with Indicators........................................................................................................5-5
Code Samples for Indicators ..........................................................................................................5-5
Indicator API Elements................................................................................................................... 5-5
Table of Contents ix
Chapter 6: Keyboard and Keyboard Remapping
Keyboard.........................................................................................................................................6-3
Supported Keyboards.....................................................................................................................6-3
Disabling The Keyboard.................................................................................................................6-5
Getting Started with Keyboards................................................................................................ 6-5
Code Samples for Keyboards...................................................................................................6-5
Keyboard API Elements.......................................................................................................... ..6-5
Keyboard Remapping..................................................................................................................... 6-5
ORANGE Key and SYM Key.........................................................................................................6-7
Keyboard Remapping Functions on Psion Computers..................................................................6-7
Unicode Values for Psion Proprietary Keys...................................................................................6-11
Windows Mobile, and Windows CE, Virtual Keys..........................................................................6-15
Windows Mobile Virtual Keys on Psion Computers..................................................................6-15
Getting Started with Key Remapping........................................................................................6-15
Code Samples for Key Remapping...........................................................................................6-16
Keyboard Remapping API Elements .............................................................................................6-16
Key Insertion...................................................................................................................................6-16
Getting Started with Key Insertion ............................................................................................6-17
Code Samples for Key Insertion............................................................................................... 6-17
Key Insertion API Elements............................................................................................................6-17
Chapter 7: Peripherals
Overview.........................................................................................................................................7-3
Definition of Terms..........................................................................................................................7-3
Events............................................................................................................................................. 7-3
Docking Station...............................................................................................................................7-4
Tether Ports..................................................................................................................................... 7-4
Getting Started with Peripherals.....................................................................................................7-5
Code Samples for Peripherals........................................................................................................7-5
Peripheral API Elements in the Mobile Devices SDK..................................................................... 7-5
Peripheral API Elements in the Hardware Development Kits (HDK).............................................. 7-5
Chapter 8: Card Slots
Card Slots.......................................................................................................................................8-3
Controlling Power to the Card Slots................................................................................................ 8-5
Controlling Power Through the GUI..........................................................................................8-5
Controlling Power Through the SDK.........................................................................................8-5
Getting Started with Card Slots....................................................................................................... 8-6
Code Samples for Card Slots .........................................................................................................8-7
Card Slot Control API Elements...................................................................................................... 8-7
Chapter 9: Serial Ports
Overview.........................................................................................................................................9-3
Workabout Pro Serial Port Assignments.........................................................................................9-3
7530, 7535, 8525, and 8530 Serial Port Assignments.................................................................... 9-4
8515 Serial Port Assignments.........................................................................................................9-5
Ikôn Serial Port Assignments..........................................................................................................9-5
x Mobile Devices Developers Guide
NEO Serial Port Assignments.........................................................................................................9-5
Omnii XT10 (7545XV), Omnii XT15 (7545XA), Omnii RT15 (7545XC) Serial Port Assignments... 9-6
EP10 (7515) Serial Port Assignments............................................................................................ 9-7
VH10 Serial Port Assignments .......................................................................................................9-7
Java................................................................................................................................................9-8
Getting Started with Serial Ports.....................................................................................................9-8
Code Samples for Serial Ports .......................................................................................................9-8
Serial Port API Elements................................................................................................................ 9-8
Chapter 10: Permanent Storage
Permanent Storage.........................................................................................................................10-3
Locking Permanent Storage........................................................................................................... 10-3
Getting Started with Permanent Storage........................................................................................ 10-3
Code Samples for Permanent Storage...........................................................................................10-3
Permanent Storage API Elements.................................................................................................. 10-4
Chapter 11: RAS (Remote Access Service)
Overview......................................................................................................................................... 11-3
Support for RAS and Windows Connection Manager on Psion Computers................................... 11-3
RAS Architecture............................................................................................................................ 11-4
RAS on Windows Mobile (Connection Manager) ........................................................................... 11-4
Getting Started with RAS................................................................................................................ 11-5
Code Samples for RAS...................................................................................................................11-5
RAS API Elements..........................................................................................................................11-5
Chapter 12: Scanners
Types Of Scanners......................................................................................................................... 12-3
External Scanners ..........................................................................................................................12-3
Scanner connected to a USB port..................................................................................................12-4
Scanner connected to a serial port.................................................................................................12-4
Scanner Connected to the Tether Port by a Scanner Cable..........................................................12-4
Scanner Connected to the Tether Port by a Tether Cable .............................................................12-5
Querying an External Scanner.......................................................................................................12-6
Internal Scanners............................................................................................................................ 12-6
Symbologies................................................................................................................................... 12-8
Configuring Scanners..................................................................................................................... 12-10
Configuring Through the GUI.........................................................................................................12-10
Configuring Using an SDK Application...........................................................................................12-10
Configuring by Scanning Configuration Bar Codes.......................................................................12-1 1
Configuring Scanners Through the Mobile Devices SDK............................................................... 12-12
Configuring Scanner Properties.....................................................................................................12-14
Code 39 Settings............................................................................................................................12-21
Trioptic Code Settings....................................................................................................................12-24
Code 128 Settings..........................................................................................................................12-25
EAN 13 Settings.............................................................................................................................12-28
EAN 8 Settings...............................................................................................................................12-30
Table of Contents xi
UPC A Settings...............................................................................................................................12-32
UPC E Settings...............................................................................................................................12-35
UPC/EAN Shared Settings.............................................................................................................12-38
Codabar Settings............................................................................................................................12-41
Code 93 Settings............................................................................................................................12-44
Code 1 1 Settings............................................................................................................................12-46
Interleaved 2 of 5 Settings..............................................................................................................12-48
MSI Plessey Settings .....................................................................................................................12-51
Matrix 2 of 5 Settings......................................................................................................................12-53
Discrete 2 of 5 Settings..................................................................................................................12-55
IATA 2 of 5 Settings........................................................................................................................12-57
Telepen Settings.............................................................................................................................12-58
RSS Code Settings & GS1 DataBar Settings................................................................................12-59
PosiCode Settings..........................................................................................................................12-62
Composite Codes...........................................................................................................................12-63
TLC-39 Settings..............................................................................................................................12-65
PDF417 Settings............................................................................................................................12-66
Micro PDF-417 Settings.................................................................................................................12-68
Macro PDF417...............................................................................................................................12-70
Macro Micro PDF417 .....................................................................................................................12-70
Code 16K Settings .........................................................................................................................12-71
Code 49 Settings............................................................................................................................12-71
Codablock Settings ........................................................................................................................12-72
2D Data Matrix Settings .................................................................................................................12-73
2D QR Code Settings.....................................................................................................................12-74
2D MaxiCode Settings....................................................................................................................12-75
2D Aztec Settings...........................................................................................................................12-77
Postal - PlaNET Settings................................................................................................................12-78
Postal - PostNET Settings..............................................................................................................12-79
Postal - Australian Settings............................................................................................................12-80
Postal - Canadian Settings.............................................................................................................12-81
Postal - Japanese Settings.............................................................................................................12-82
Postal - Kix Settings .......................................................................................................................12-83
Postal - Korean Settings.................................................................................................................12-84
Postal - Royal Settings...................................................................................................................12-85
Postal - China Settings...................................................................................................................12-86
Reading Bar Codes.........................................................................................................................12-88
Initiating a Bar Code Scan..............................................................................................................12-88
Controlling a Bar Code Scan..........................................................................................................12-88
Scanner Events............................................................................................................................... 12-90
Chapter 13: Audio
Sound Hardware.............................................................................................................................13-3
Playing Beeps Using the Mobile Devices SDK...............................................................................13-3
xii Mobile Devices Developers Guide
Playing WAV Audio Format Files Using the Mobile Devices SDK.................................................. 13-4
Getting Started with the Beeper and WAV Files ............................................................................. 13-4
Code Samples for the Beeper and WAV Files................................................................................ 13-5
Sound API Elements.......................................................................................................................13-5
Microphone..................................................................................................................................... 13-5
Audio Input...................................................................................................................................... 13-6
Muting the Microphone During Voice Telephone Calls ..................................................................13-6
Controlling Microphone Gain..........................................................................................................13-6
Audio Input API Elements............................................................................................................... 13-6
Chapter 14: System Information
System Information......................................................................................................................... 14-3
Machine Type .................................................................................................................................14-3
Model.............................................................................................................................................. 14-3
Unique Machine Identifier............................................................................................................... 14-4
Psion Build Codes ..........................................................................................................................14-4
Psion Version Numbers.................................................................................................................. 14-4
Setting the Ratio of Program Memory to Storage Memory............................................................. 14-5
Getting Started with System Information........................................................................................ 14-5
Code Samples for System Information........................................................................................... 14-5
System Information API Elements.................................................................................................. 14-6
Chapter 15: Windows Shell
Windows Shell................................................................................................................................ 15-3
Setting Windows Security...............................................................................................................15-3
Enabling and Disabling the Windows Shell .................................................................................... 15-3
Security Level Change Event .........................................................................................................15-4
System Security API Elements....................................................................................................... 15-4
Chapter 16: Trigger Control
Overview......................................................................................................................................... 16-3
Definition Of Terms ......................................................................................................................... 16-3
Trigger Consumer Registration.......................................................................................................16-3
Trigger Source IDs..........................................................................................................................16-3
Virtual Key Codes...........................................................................................................................16-4
Trigger Associations....................................................................................................................... 16-4
Trigger Control Flags......................................................................................................................16-4
Double-Clicks..................................................................................................................................16-5
Events............................................................................................................................................. 16-5
Simulated Events............................................................................................................................16-6
Single-Click Events and Double-Click Events................................................................................16-6
Getting Started with Trigger Control................................................................................................ 16-6
Code Samples for Trigger Control.................................................................................................. 16-6
Trigger Control API Elements......................................................................................................... 16-7
Table of Contents xiii
Chapter 17: Wireless Local-Area Networking
Wireless Local-Area Networking (WLAN)....................................................................................... 17-3
Supplicants ..................................................................................................................................... 17-3
Namespaces...................................................................................................................................17-4
Configuring WLAN Radios..............................................................................................................17-5
Authentication Modes .....................................................................................................................17-6
Extensible Authentication Protocol (EAP).......................................................................................17-6
Extensible Authentication Protocol (EAP) Modes..........................................................................17-6
EAP Authentication - Certificates And Passwords.........................................................................17-7
Encryption for Data Transmission...................................................................................................17-8
Wired Equivalent Privacy (WEP) Keys ..........................................................................................17-8
Encryption Modes...........................................................................................................................17-8
Using WLANEx to Obtain Network Information ..............................................................................17-8
Summit Radio Features..................................................................................................................17-9
Configuring WLAN Through the User Interface..............................................................................17-9
Ad hoc Networks.............................................................................................................................17-10
Getting Started................................................................................................................................17-10
Code Samples ................................................................................................................................ 17-11
WLAN API Elements.......................................................................................................................17-11
Chapter 18: Wireless Wide-Area Networking
Wireless Wide-Area Networking (WWAN)...................................................................................... 18-3
WWAN on Devices Supported by the Mobile Devices SDK ...........................................................18-3
WWAN on Devices not Supported by the Mobile Devices SDK..................................................... 18-4
Supported WWAN Modems............................................................................................................18-4
Multiplexing.....................................................................................................................................18-5
Virtual Serial Port............................................................................................................................18-5
Using the Virtual Serial Port................................................................................................ 18-5
Configuration.......................................................................................................................18-5
AT Commands ....................................................................................................................18-5
Entering AT Commands in Windows CE.............................................................................18-6
Dial-up Data Connections ..............................................................................................................18-6
Dial-up Data in GSM Networks........................................................................................... 18-6
Dial-up Data in UMTS Networks......................................................................................... 18-7
Dial-up Data in CDMA Networks.........................................................................................18-7
Dial-up Data in iDEN Networks........................................................................................... 18-7
Packet Data....................................................................................................................................18-7
Summary Of Modem Differences...................................................................................................18-8
GSM Power Driver .........................................................................................................................18-8
Initializing WWAN ........................................................................................................................... 18-9
Checking the Initialization Status of the WWAN Driver..................................................................18-9
WWAN Driver Status Flags ............................................................................................................18-9
Initializing the WWAN Driver..........................................................................................................18-1 1
Closing WWAN...............................................................................................................................18-15
Connecting to the Internet............................................................................................................... 18-15
Windows Embedded CE 5.0, Windows Embedded CE 6.0, Windows Mobile 2003 SE,
and Windows CE .NET 4.2 ............................................................................................................18-16
xiv Mobile Devices Developers Guide
Windows Mobile and Windows Embedded Hand-Held.................................................................18-18
Disconnecting from Connection Manager........................................................................... 18-19
The DbGprs.csv File.......................................................................................................................18-19
Checking Packet Data S t atus.........................................................................................................18-19
Roaming .........................................................................................................................................18-20
Connecting Manually to a WWAN Network....................................................................................18-20
Selecting an Access Point Name (APN)........................................................................................18-20
Connecting to a VPN......................................................................................................................18-21
Access Flags ..................................................................................................................................18-21
Controlling the Interaction with the GUI .........................................................................................18-22
RSSI (Received Signal Strength Indicator)..................................................................................... 18-23
WWAN API Elements..................................................................................................................... 18-24
Using SMS (Short Message Service)............................................................................................. 18-24
SMS API Elements.........................................................................................................................18-25
WWAN Supplementary Services....................................................................................................18-25
Voice Service States.......................................................................................................................18-25
Voice Calls on a WWAN ................................................................................................................. 18-26
Initializing WWAN...........................................................................................................................18-26
Initializing Voice Over WWAN ........................................................................................................18-26
Closing Voice Over WWAN............................................................................................................18-28
Making a Phone Call ......................................................................................................................18-29
Voice Call States.............................................................................................................................18-30
Receiving a Phone Call..................................................................................................................18-32
Processing Voice Calls...................................................................................................................18-33
Terminating Voice Calls..................................................................................................................18-34
Call Forwarding...............................................................................................................................18-35
Dual-Tone Multifrequency (DTMF).................................................................................................18-35
Blocking Inbound and Outbound Calls...........................................................................................18-35
Blocking Caller ID on Outgoing Calls.............................................................................................18-36
Audio for Voice Over WWAN..........................................................................................................18-36
Voice Over WWAN Events............................................................................................................18-37
Voice Call Status Changed Event...................................................................................... 18-37
Voice Call Manager Incoming Call Event............................................................................ 18-37
Voice Over WWAN API Elements..................................................................................................18-37
Phone Books .................................................................................................................................. 18-37
Data Coding Schemes for Phone Book Entries.............................................................................18-38
Phone Book Types.........................................................................................................................18-39
Phone Book API Elements.............................................................................................................18-40
Resource Materials......................................................................................................................... 18-40
Chapter 19: Registry-based WWAN API
Overview......................................................................................................................................... 19-3
Phone State Registry Settings........................................................................................................ 19-3
General St atus................................................................................................................................19-3
Phone St ate Bitmask in Numerical Order.......................................................................................19-5
Table of Contents xv
Network St atus...............................................................................................................................19-6
Packet Data S t atus.........................................................................................................................19-6
Voice Call Status.............................................................................................................................19-7
Phone State Registry Settings in Alphabetical Order......................................................................19-8
System Properties Registry Settings .............................................................................................. 19-9
Sample Source Code......................................................................................................................19-9
Chapter 20: GPS
Support for GPS on Psion Computers............................................................................................ 20-3
Built-in GPS....................................................................................................................................20-3
End-cap GPS..................................................................................................................................20-3
External GPS..................................................................................................................................20-3
Mobile Devices SDK Support for GPS............................................................................................ 20-3
GPS Configuration.......................................................................................................................... 20-4
Processing GPS Data.....................................................................................................................20-4
Getting Started with GPS................................................................................................................20-4
Code Samples for GPS................................................................................................................... 20-5
GPS API Elements.......................................................................................................................... 20-5
Chapter 21: Sensors
Introduction..................................................................................................................................... 21-3
Accelerometer.................................................................................................................................21-3
Getting Started with the Accelerometer..........................................................................................21-3
Code Samples for the Accelerometer............................................................................................21-3
Accelerometer API Elements.........................................................................................................21-3
Gyroscope....................................................................................................................................... 21-4
Getting Started with the Gyroscope...............................................................................................21-4
Code Samples for the Gyroscope..................................................................................................21-4
Gyroscope API Elements...............................................................................................................21-4
Digital Compass (Magnetometer)...................................................................................................21-4
Getting Started with the Magnetometer.........................................................................................21-5
Code Samples for the Magnetometer............................................................................................21-5
Magnetometer API Elements.........................................................................................................21-5
Light Sensor....................................................................................................................................21-5
Getting Started with the Light Sensor.............................................................................................21-5
Code Samples for the Light Sensor...............................................................................................21-6
Light Sensor API Elements ............................................................................................................21-6
Proximity Sensor.............................................................................................................................21-6
Getting Started with the Proximity Sensor ......................................................................................21-7
Code Samples for the Proximity Sensor........................................................................................21-7
Proximity Sensor API Elements.....................................................................................................21-7
xvi Mobile Devices Developers Guide
Chapter 22: Other Features
Vibration.......................................................................................................................................... 22-3
Getting Started................................................................................................................................22-3
Code Samples................................................................................................................................22-3
Vibration API Elements...................................................................................................................22-3
Disabling Modules and Components on the EP10......................................................................... 22-3
PsionVU.......................................................................................................................................... 22-4
Availability of PsionVU....................................................................................................................22-4
Downloading PsionVU Settings with Total Recall..........................................................................22-4
Downloading only PsionVU Settings..............................................................................................22-4
Appendices
Appendix A: Resources
Manuals and URLs......................................................................................................................... A-1
Appendix B: Registry Keys
Workabout Pro Registry Keys......................................................................................................... B-1
Registry Settings For Serial Ports.............................................................................................B-2
Registry Settings For Psion Device Drivers.............................................................................. B-2
Registry Settings For Non-Psion Device Drivers...................................................................... B-3
Index........................................ ................................................................. .. Index-1
ABOUT THIS GUIDE
ABOUT THIS GUIDE
About this Guide..............................................xix
Text Conventions.............................................xx
Command Syntax........................................xxi
Non-Psion Computers ..........................................xxi
Other Documentation for Application Development...........................xxi

About this Guide

This manual provides guidance on creating applications for devices running Microsoft Windows® CE, or Windows Mobile, operating systems.
Chapter 1: Backlight
describes how to control the backlights on Psion computers.
Chapter 2: Batteries and Power Management
describes how to control battery and external power supplies.
Chapter 3: Reset
describes how to reset Psion computers.
Chapter 4: Display
describes the processes for obtaining display screen information.
Chapter 5: Indicators
About this Guide xix
describes how to manipulate the LEDs.
Chapter 6: Keyboard and Keyboard Remapping
describes how to disable the keyboard and how to remap scan codes.
Chapter 7: Peripherals
describes how to detect and control tether ports and docking stations.
Chapter 8: Card Slots
describes how to control the power to card slots.
Chapter 9: Serial Ports
describes how to detect serial ports and serial port change events .
Chapter 10: Permanent Storage
describes how to access and use permanent storage.
Chapter 11: RAS (Remote Access Service)
describes how to use the Remote Access Service (RAS).
Chapter 12: Scanners
describes the configuration of scanners and bar code symbologies.
Chapter 13: Audio
describes how to control the beeper and how to play WAV files.
Chapter 14: System Information
describes how to control the Windows security and how to obtain hardware and software information.
xx Mobile Devices Developers Guide
Chapter 15: Windows Shell
describes how to set security levels and control access to the Windows shell.
Chapter 16: Trigger Control
describes how to control the trigger sources on a Psion computer.
Chapter 17: Wireless Local-Area Networking
describes how to implement WLAN.
Chapter 18: Wireless Wide-Area Networking
describes how to implement WWAN.
Chapter 19: Registry-based WWAN API
describes how to query properties of thr WWAN modem and WWAN network.
Chapter 20: GPS
describes how use the GPS.
Chapter 21: Sensors
describes how to use the built-in sensors.
Chapter 22: Other Features
describes the vibration feature and PsionVU.
Appendix A: Resources
lists other documents and web sites where you can find information related to developing with the Mobile Devices SDK.
Appendix B: Registry Keys
lists and describes certain Workab outPro registry keys which may be useful when developing applications on Psion computers.

Text Conventions

The following conventions and syntax are follo wed thr ougho ut this documen t, with the exception of when re fer­encing API commands (see Command Syntax on page xxi):
Instructions to press specific keys on the keypad are indicated with the na me or symbol of the ke y betwee squ
are brackets.
e.g. [SPACE], [TAB], [BLUE], [A], [.], etc.
Instructions to press buttons with dedicated functions are given with the name or function of the button in bold type. e.g. Power, Scan, etc.
n
Instructions to type a specific string of text are given between quotation marks. e.g. Type “exit”, and press [ENTER].
NOTE Notes highlight additional helpful information.
>
IMPORTANT These statements provide important instructions or additional information that is critical
WARNING These statements provide important information that may prevent injury, damage to
An arrow next to field description information (usually in tables) indicates a recommended or suggested configuration setting.

Command Syntax

When commands are described in text the following conventions are used in the manual:
Elements that must be typed exactly as shown in the text are in bold.
Elements that are placeholders are in italic. The general form of a command is as follows:
About this Guide xxi
to the operation of the computer or other equipment.
the equipment, or loss of data.
sample {+r | -r} argument ... [option]
Where:
Element Meaning
sample Indicates the name of the command or utility. { } Surrounds a set of choices from which you must choose one. | Separates two mutually exclusive choices in a syntax line. Type one of these choices, not
the symbol.
argument Specifies a variable name or other information that you must provide, such as a path and
file name.
... Indicates that you can type multiple arguments of the same type. Type only the
information, not the ellipsis (…).
[ ] Indicates one or more optional items. Type only the information within the brackets, not the
brackets themselves.

Non-Psion Computers

The Mobile Devices SDK cannot be used on computers other than those made by Psion. Attempts to load a Psion DLL file on a non-Psion computer fail with an error message.

Other Documentation for Application Development

There are three categories of manuals that should be used when programming Psion computers. This manual, the Developers Guide, provides an overview of the Psio n devices. A single Developers Guide
covers all libraries and devices. This manual is available in Portable Document Format (PDF).
xxii Mobile Devices Developers Guide
API online help is provided for each language library, in a format appropriate to that language. All information specific to the language libraries, including class, method, field, and pr opert y descr iptions, are capture d by the API online help.
In addition to the developer and API documentation, each Psion computer has a dedicated User Manual. You need to obtain an actual device in order to test device-specific features such as bar code scanners. The User Manuals provide valuable help in getting acquainted with the features of these devices.
See Appendix A: “Manuals and URLs” for more information.

CHAPTER 1 BACKLIGHT

BACKLIGHT 1
Backlighting................................................1-3
Omnii and EP10.........................................1-3
Thresholds............................................1-3
Timeouts.............................................1-3
Backlight Configuration Parameters...................................1-5
Mobile Devices SDK Version 5.4 and Later ..........................1-6
Mobile Devices SDK Version 5.3 and Earlier.........................1-6
Getting Started with Backlights.....................................1-10
Code Samples for Backlights......................................1-10
Backlight API Elements.........................................1-10

Backlighting

Full intensity
(on-time)
Half intensity
(dim-time)
Off
Last device activity
Time
The Mobile Devices SDK provides functions that control the display and keyboard backlights. The intensity of the backlight and the conditions under which it is activated can be queried and set using the SDK.
To conserve battery power, you can configure the backlights to switch off, or dim to half intensity, after the computer has been inactive for a selected length of time. The following diagram shows how these times are related:
Backlight 1 - 3
The last device activity is one of the following:
A key is pressed on the keyboard.
The touchscreen is pressed.
The scanner trigger is pressed.
Data is received from the host. If the computer is operating with external power, you can configure the backlights to remain on at all times.

Omnii and EP10

These computers have light sensors. For information see Light Sensor on page 21-5.

Thresholds

On computers with ambient light sensors, the re is a thre sh old valu e that sp ecifies the light level at which the backlights will turn on. The values for the display and keyboard backlight thresholds are configured independently.
Threshold values are integers between 0 (zero) and 100. A value of 0 ensures that the selected backlight is always off. A value of 100 ensures that the backlight can turn on at all lighting levels. Intermediate values control the level of ambient light at which the backlight turns on. The lower the value, the darker it must be before the keyboard backlight can turn on. Regardless of the thr eshold settings, the backlig ht s only come on if there is activity to trigger it, such as a keyboard, or a touch screen, event.

Timeouts

Using the Mobile Devices SDK, the backlight on-times and dim-times can be set to any positive integer within the range of the parameter (typically 0 to 2147483647, measured in milliseconds). However, when setting the values using the GUI, the choices are limited to sever al pr ed e ter m ine d value s pr es en te d in a dr op -d o wn list.
If a backlight timeout is set to one of the selectable values shown in the list, then the GUI applet displays the correct value for that timeout. On the other hand if a backlight timeout is set, using the Mobile Devices SDK, to
1 - 4 Mobile Devices Developers Guide
a value that is not on the list of selectable values, then the GUI applet displays an empty box for that timeout setting.
For all computers that have backlights, the following tables list the on-time, and dim-time, values that are avail­able in the GUI.
Windows CE-based computers
On Windows CE-based computers, the Display, and Keyboard, Backlight On-time values determine how long the display and keyboard backlights remain on. An y user interaction (key press, touch scree n press, scan, etc.) resets both timeout counters back to the beginning. If there has been no user interaction by the end of the keyboard on-time duration, the keyboard backlight turns off. At the end of the display on-time duration, the display backlight dims to half intensity. If there is still no user interaction by the end of the display dim-time duration, then the display backlight turns off completely.
Display
Time (milliseconds)
0 No Ye s No 5000 Yes Ye s Yes 10000 Yes Ye s Yes 15000 Yes Ye s Yes 30000 Yes Ye s Yes 60000 Yes Ye s Yes 120000 Yes Ye s Yes 180000 No No No 240000 No No No 300000 Yes Ye s Yes 360000 No No No 420000 No No No 480000 No No No
Backlight On-time
Display Backlight Dim-time
Keyboard Backlight On-time
540000 No No No 600000 No No No 2147483647 (Always On, maximum value) Ye s No Ye s
Windows Mobile-based computers
On Windows Mobile-based Psion computers, the display, and keyboard, backlight timeouts are not controlled independently: Both are controlled by a single timeout value. However, there are still two timeout values which may be set; one for when the computer is running on battery power, and on e for wh en it is connected to a constant external power source.
Backlight 1 - 5
Time (milliseconds)
0 No No 5000 No No 10000 Yes No 15000 No No 30000 Yes No 60000 Yes Ye s 120000 Yes Ye s 180000 Yes Ye s 240000 Yes Ye s 300000 Yes Ye s 360000 No Ye s 420000 No Ye s 480000 No Ye s
Battery Power Backlight On-time
External Power Backlight On-time
540000 No Ye s 600000 No Ye s 2147483647 (Always On, maximum
value)
1
The setting for Always On is controlled by a checkbox that enables/disables the On-time parameter. If the
checkbox is disabled, the On-time value is ignored and the backlight remains on.

Backlight Configuration Parameters

The following universal methods are available in all development languages for getting and setting backlight configuration values—see the API Reference Manuals for the name of the method in each development environment:
Get a boolean setting.
Get an integer setting
Set a boolean setting.
Set an integer setting
No
1
No
1
1 - 6 Mobile Devices Developers Guide

Mobile Devices SDK Version 5.4 and Later

For all computers the following apply:
Parameter Range Of Values Default Value
Display threshold (% of maximum)
Display intensity (% of maximum)
Display timeout (% of maximum)
Display dimtime (% of maximum)
Display always on for external power (boolean)
Keyboard threshold (% of maximum)
Keyboard intensity (% of maximum)
Keyboard timeout (ms) 0 to 100 50 Keyboard dimtime
(% of maximum) Keyboard always on for
external power (boolean)
0 to 100 50
0 to 100 50
0 to 100 50
0 to 100 50
True / False True
0 to 100 50
0 to 100 50
0 to 100 50
True / False False

Mobile Devices SDK Version 5.3 and Earlier

The following table lists the ranges of values and the default values available for each Psion computer:
Parameter Computer Range Of Values Default Value
Display threshold (%) 753x 0 to 100 71
8515 N/A 8525/8530 N/A Ikôn Windows CE N/A Ikôn Windows Mobile N/A NEO N/A Workabout Pro Windows CE N/A Workabout Pro Windows Mobile
2003 SE
Display intensity 753x 0 to 100 80
N/A
Backlight 1 - 7
Parameter Computer Range Of Values Default Value
7545 1 to 10 7 8515 0 to 100 48 8525/8530 0 to 100 100 Ikôn Windows CE 0 to 100 65 Ikôn Windows Mobile 0 to 100 65 NEO 0 to 100 47 Workabout Pro Windows CE 0 to 100 35 Workabout Pro Windows Mobile
0 to 100 35
2003 SE
Display timeout (ms) 753x 0 to 2147483647 30000
7545 0 to 4294967295 30000 8515 0 to 2147483647 30000 8525/8530 0 to 2147483647 30000 Ikôn Windows CE 0 to 2147483647 30000 Ikôn Windows Mobile 60000 to 600000 30000 NEO 0 to 2147483647 30000 Workabout Pro Windows CE 0 to 2147483647 30000 Workabout Pro Windows Mobile
60000 to 600000 30000
2003 SE
Display dimtime (ms) 753x 0 to 2147483647 30000
7545 0 to 4294967295 30000
1
1
8515 0 to 2147483647 30000 8525/8530 0 to 2147483647 30000 Ikôn Windows CE 0 to 2147483647 30000 Ikôn Windows Mobile N/A NEO 0 to 2147483647 30000 Workabout Pro Windows CE 0 to 2147483647 30000 Workabout Pro Windows Mobile
N/A
2003 SE
1 - 8 Mobile Devices Developers Guide
Parameter Computer Range Of Values Default Value
Display always on for external power (boolean)
Keyboard threshold (%) 753x 0 to 100 0
753x Tru e / F alse True
7545 True / False True 8515 True / False True 8525/8530 Tru e / F alse True Ikôn Windows CE True / False True Ikôn Windows Mobile Tru e / F alse False NEO True / Fal se True Workabout Pro Windows CE True / F alse True Workabout Pro Windows Mobile
2003 SE
7545 N/A 8515 N/A
Tru e / F alse False
8525/8530 N/A Ikôn Windows CE N/A Ikôn Windows Mobile N/A NEO N/A Workabout Pro Windows CE N/A Workabout Pro Windows Mobile
2003 SE
Keyboard intensity 753x 0 to 100 48
7545 1 to 10 3 8515 0 to 100 47 8525/8530 0 to 100 48 Ikôn Windows CE 0 to 100 50 Ikôn Windows Mobile 0 to 100 50 NEO 0 to 100 0
N/A
Workabout Pro Windows CE 0 to 100 40 Workabout Pro Windows Mobile
2003 SE
0 to 100 40
Backlight 1 - 9
Parameter Computer Range Of Values Default Value
Keyboard timeout (ms) 753x 0 to 2147483647 15000
7545 0 to 4294967295 15000 8515 0 to 2147483647 15000 8525/8530 0 to 2147483647 15000 Ikôn Windows CE 0 to 2147483647 15000 Ikôn Windows Mobile 60000 to 600000 30000 NEO 0 to 2147483647 15000 Workabout Pro Windows CE 0 to 2147483647 15000 Workabout Pro Windows Mobile
60000 to 600000 30000
2003 SE
1
1
Keyboard dimtime (ms) 753x 0 to 4294967296 0
7545 0 to 4294967296 0 8525/8530 0 to 4294967296 0 Workabout Pro Windows CE 0 to 4294967296 15000 Workabout Pro Windows Mobile
N/A N/A
2003 SE
Keyboard always on for
753x True / False False external power (boolean)
7545 True / False False
8515 True / False False
8525/8530 True / False False
Ikôn Windows CE True / False False
Ikôn Windows Mobile True / False False
NEO True / False False
Workabout Pro Windows CE True / False False
Workabout Pro Windows Mobile
True / False False
2003 SE
1
On Windows Mobile devices, reading the default value returns the Battery Power Backlight On-time value of
30000. However, when setting the backlight value, it is written to the External Power Backlight On-time value which enforces the range of 60000 - 600000 for that parameter (1 minute to 10 minutes).
1 - 10 Mobile Devices Developers Guide

Getting Started with Backlights

For articles on IngenuityWorking that will guide you in getting started with backlights see:
community.psion.com/tags/backlight/noteDG.

Code Samples for Backlights

For postings on IngenuityWorking that contain code samples that use backlights see:
community.psion.com/tags/backlight/codeDG.

Backlight API Elements

C++: The backlights on all computers are controlled using the PsionTeklogix::Backlight namespace. Java: The backlights on all computers are controlled using the com.teklogix.backlight package. .NET: The backlights on all computers are controlled using the PsionTeklogix.Backlight namespace.
Omnii and EP10
These computers have light sensors.
C: Light sensor hardware on all computers with a light sensor is read, using the AmbientLight group. C: The keyboard backlight and the display backlight on all compute rs with a light sen sor is controlled u sing the
Backlight group.
CHAPTER 2 BATTERIES AND POWER
MANAGEMENT

BATTERIES AND POWER MANAGEMENT 2

Suspend Timeout.............................................2-3
Psion Power States............................................2-4
Fully on..............................................2-4
Standby Mode (Unattended Mode)...............................2-4
Suspend Mode..........................................2-4
Manual Initiation of Standby and Suspend ...............................2-5
Wake up from Suspend Mode, or Suspend With Radio Off Mode. . . . . . . . . . . . . . . . . . .2-8
EP10 Power Options Registry Settings.................................2-9
Programmatic Control of the Suspend/resume Cycle ........................2-10
Initiation of Suspend......................................2-10
Selection of Wakeup Sources.................................2-10
Accelerometer and Gyroscope................................2-11
Wake up that Stops in Standby Mode............................2-11
Setting a Time Until Wakeup.................................2-11
Getting Started with the Suspend/resume Cycle...........................2-11
Code Samples for the Suspend/resume Cycle............................2-11
Suspend API Elements.........................................2-11
Power Management...........................................2-12
Events .............................................2-12
Battery Information.................................... .......2-13
Battery Suspend Threshold..................................2-13
Main Battery and Backup Battery Lifetimes and Remaining Charge. . . . . . . . . . . . 2-13
Smart Batteries.........................................2-13
Smart Battery Registry Settings....................................2-14
Getting Started with Power Management and Smart Batteries...................2-15
Code Samples for Power Management and Smart Batteries....................2-15
Power Management and Battery API Elements............................2-15

Suspend Timeout

The suspend timeout determines how long the computer will wait after any activity (key press, scan, or touch screen event, or a wireless radio transmission) before it goes into suspend mode.
When the computer wakes, the device returns to the normal powered state. The backlight, the display, and all peripheral devices turn on and the suspend timer begins counting again.
The suspend timeout is configured as an integer variable measured in seconds. Any value between 0 and the maximum value of 2147483647 can be configured, however the GUI Power apple t only allows a small numbe r of predefined values to be set. If you set the suspend timeout using the Mobile Devices SDK to a value not on the predefined list, the GUI Power applet displays the default value for that setting.
The following tables list of predefined GUI Power applet suspend timeouts, and their corresponding integer values in seconds:
Windows CE-based computers
Timeout Int Value Battery Power External Power
Never 0 Yes Yes
Batteries and Power Management 2 - 3
1 min 60 Yes Yes 2 min 120 Yes Yes 3 min 180 Yes No 4 min 240 Yes No 5 min 300 Yes Yes 10 min 600 Ye s Yes 15 min 900 No Ye s 30 min 1800 Ye s Yes
Windows Mobile-based computers
Timeout Int Value Battery Power External Power
Never 0 Yes Ye s 1 min 60 Yes Ye s 2 min 120 Yes Ye s 3 min 180 Yes No 4 min 240 Yes No 5 min 300 Yes Ye s 10 min 600 No Yes 15 min 900 No Yes 30 min 1800 No Yes
2 - 4 Mobile Devices Developers Guide

Psion Power States

Suspend/resume Cycle

On all Psion computers there is an intermediate state between fully on and suspend. The process—referred to as the suspend/resume cycle—is as follows:

Comparison of Power States

Function Fully On Standby Mode Suspend Mode
Applications Executing Executing Not executing Not executing CPU powered
Display On Off Off Off Off Touchscreen Unlocked Locked Locked Locked Off Keyboard Unlocked Locked Locked Locked Off Radios On On On Off Off Backlights On Off Off Off Off

Fully on

Everything is on.

Standby Mode (Unattended Mode)

In standby mode the processor remains on so any running applications continue executing. Standby mode consumes more power than suspend mode.
Suspend with
Radio off Mode
Power Off
Mode
down

Suspend Mode

In suspend mode the computer is in a power-saving state. When the computer is woken from this state, opera­tion resumes within a few seconds continuing from where it stopped on suspend.
Suspend mode may occur automatically after a period of inactivity, or when the battery power reserve drops below a specified threshold. Typically the device goes into suspend mode when the user manually powers down the computer.
In suspend mode, the display, the keyboard and the peripherals are powered down. The operatin g syste m and any running applications are maintained in their current state, until the power source depletes.

Suspend with Radio Off Mode (Shutdown Mode)

In suspend with radio off mode the computer is in a power-saving state. Wh en the computer is wo ken from this state, operation resumes within a few seconds continuing from where it stopped on suspend. On waking, all radios that were powered up, before entering suspend with radio off mode, are again powered up.
Suspend with radio off mode does not occur automatically. The computer enters this mode immediately when this option is selected on the Shutdown menu.
In suspend with radio off mode, the display, the keyboard , the radios, and the peripherals are powered down. The operating system and any running applications are maintained in th eir current state, until the power source depletes.

Power Off

Everything is powered down with the exception of Syscon (the component that detects power up). The computer is woken from this state by pressing the Power button.
Batteries and Power Management 2 - 5

Manual Initiation of Standby and Suspend

Psion
Computer
753x (Windows CE 5.0)
8515 (Windows CE 5.0)
8525 / 8530 (Windows CE 5.0)
Standby Suspend
Not accessible. Press BLUE, then
press ENTER
or
Tap Start > Shut­down > Suspend.
Not accessible. Press BLUE, then
press ENTER
or
Tap Start > Shut­down > Suspend.
Not accessible. Press BLUE, then
press ENTER
or
Suspend with Radio
(menu option hidden
Off
by default)
Not available. Not available.
Not available. Not available.
Not available. Not available.
Power Off
Tap Start > Shut­down > Suspend.
2 - 6 Mobile Devices Developers Guide
Psion
Computer
Workabout P ro (7525) (Windows CE .NET 4.2)
Workabout P ro (7525) (Windows Mobile 2003 SE)
Workabout P ro (7525) (Windows Mobile 5.0)
Workabout P ro G2 (7527) (Windows CE 5.0)
Standby Suspend
Not accessible. Press BLUE, then
press ENTER/ON
or
Tap Start > Shut­down > Suspend.
Not accessible. Press BLUE, then
press ENTER/ON
Not accessible. Press BLUE, then
press ENTER/ON
Press FN/BLUE, then press and hold
ENTER, select Standby, then press ENTER.
Note: Through the
GUI, you can set an option that suspends the device when
FN/BLUE then ENTER is pressed.
Press FN/BLUE, then press ENTER
or
Press FN/BLUE, then press and hold
ENTER, select Sus­pend, then press ENTER.
or
Tap Start > Shut­down > Suspend.
Suspend with Radio
(menu option hidden
Off
by default)
Not available. Not available.
Not available. Not available.
Not available. Not available.
Not available. Not available.
Power Off
Workabout P ro G2 (7527) (Windows Mobile 6.1 Classic and Pro)
Press FN/BLUE, then press and hold
ENTER, select Standby, then press ENTER.
Note: Through the
GUI, you can set an option that suspends the device when
FN/BLUE then ENTER is pressed.
Press FN/BLUE, then press ENTER
or
Press FN/BLUE, then press and hold
ENTER, select Sus­pend, then
press ENTER.
Not available. Not available.
Batteries and Power Management 2 - 7
Psion
Computer
Workabout Pro3 (7527) (Windows CE 5.0)
Workabout P ro3 (7527) (Windows Mobile 6.1 Classic and Pro)
Standby Suspend
Press and hold
POWER, select Standby, then press ENTER.
Note: Through the
GUI, you can set an option that suspends the device when POWER is pressed.
Press and hold
POWER, select Standby, then press ENTER.
Note: Through the
GUI, you can set an option that suspends the device when POWER is pressed.
Suspend with Radio
(menu option hidden
Press POWER.
or
Press and hold
POWER, select Sus­pend, then press ENTER
or
Tap Start > Shut­down > Suspend.
Press POWER. Not available. Not available.
Off
by default)
Not available. Not available.
Power Off
Ikôn (7505) (Windows CE 5.0)
Ikôn (7505) (Windows Mobile 6)
NEO (PX750) (Windows CE 5.0)
NEO (PX750) (Windows Mobile 6.1)
Not accessible. Press POWER
or
Tap Start > Shut­down > Suspend.
Not accessible. Press POWER. Press and hold
Not accessible. Press FN/BLUE,
then press ENTER
or
Tap Start > Shut­down > Suspend.
Not accessible. Press FN/BLUE,
then press ENTER.
Press and hold
POWER
> Shutdown.
POWER.
Not available. Not available.
Not available. Not available.
Not available.
Not available.
2 - 8 Mobile Devices Developers Guide
Psion
Computer
Omnii XT10 (7545XV) Omnii XT15 (7545XA) Omnii RT15 (7545XC) Windows Embedded CE 6.0)
Omnii XT15 (7545XA) Omnii RT15 (7545XC) (Windows Embedded Hand-Held
6.5) EP10 (7515)
(Windows Embedded Hand-Held
6.5)
Suspend with Radio
Standby Suspend
Not accessible. Press FN/BLUE,
then press Power
or
Tap Start > Shut­down > Suspend.
Not accessible. Press FN/BLUE,
then press Power
or
Tap Start > Shut­down > Suspend.
Not accessible. Press POWER. Press and hold
(menu option hidden
POWER
> Suspend With Radio Off.
Off
by default)
Not available. Not available.
Not available. Not available.
Power Off
Press and hold
POWER
> Power Off.
VH10 (Windows Embedded CE 6.0)
Press BLUE, then press ENTER
or
Tap Start > Shut­down > Suspend.

Wake up from Suspend Mode, or Suspend With Radio Off Mode

When one of the following occurs, a computer that is in suspend mode, or suspend with radio off mode, wakes up:
The device is connected to external power.
A USB peripheral is connected.
The battery is inserted.
The battery door is closed.
The touch screen is touched.
Suspend mode only: The WWAN radio receives an incoming voice call, or it receives SMS d
ata packets.
or IP
An expansion port, controlled through the HDK, is connected.
Not all of these wake-up sources are available on all Psion computers. Consult the user manual for your
Value Description
0 Disable
1Enable
Value Description
0 Disable
5000 Duration in ms
Value Description
0 First item on the list
1 Second item on the list
2 Third item on the list
Value Description
0Display
1Hide
Value Description
0Display
1Hide
computer to find out which features are on your device.

EP10 Power Options Registry Settings

The following registry settings on the EP10 control the appearance and behaviour of the Suspend dialog:
HKEY_LOCAL_MACHINE\Drivers\BuiltIn\PMDrv\PBC
Value Name Value Type Default Description
DlgEnabled REG_DWORD 1 Must be enabled to make the rest of the options
DlgShowDelay REG_DWORD Length of time (in milliseconds) that Power must
Batteries and Power Management 2 - 9
available. The following settings are possible:
be held before the Shutdown dialog is displayed (minimum 2000 ms).
DlgShowTimeout REG_DWORD 0 Length of time (in milliseconds) that the
Shutdown dialog is displayed before the highlighted menu item is automatically activated. The following settings are possible:
DlgDefaultAction REG_DWORD 0 Shutdown menu item that is highlighted when
the dialog opens. The following settings are possible:
DlgHideSuspend REG_DWORD 0 Controls display of the Suspend option.
The following settings are possible:
DlgHideSuspendRadiosOff REG_DWORD 1 Controls display of the Suspend with Radios
Off option. The following settings are possible:
2 - 10 Mobile Devices Developers Guide
Value Description
0Display
1Hide
Value Description
0Display
1Hide
Value Description
0 Hide the suspend dialog.
1 Display the suspend dialog. This
prevents a second suspend immediately after resuming.
Value Name Value Type Default Description
DlgHideStandby REG_DWORD 0 Controls display of the Standby option.
DlgHideShutdown REG_DWORD 0 Controls display of the Power Off option.
UseSuspendDialog REG_DWORD 1 Controls the Suspend dialog that is displayed
The following settings are possible:
The following settings are possible:
when Power is pressed very soon after a resume. The following settings are possible:
Warning: The Suspend dialog ensures that the radios have enough time to power up and power down. It is recommended that this setting is not disabled.

Programmatic Control of the Suspend/resume Cycle

Initiation of Suspend

The Mobile Devices SDK includes APIs that can initiate a suspend. The device passes through standby mode before going into suspend mode; however, the Mobile Device s SDK does not cont ain APIs than can specifically place a computer into standby mode.

Selection of Wakeup Sources

Using the Mobile Devices SDK you can select which potential wakeup sources are active on a device. This option is not available through the GUI. The following functions are available:
EnableWakeupSource—selectively enable and disable a potential wake-up source.
IsWakeupSourceEnabled—query the status of a wake-up source.
The first time you enable a wakeup source programmatically, it may not bring the device into the fully on state. The device is in standby mode. For a code sample showing how to deal with this see:
community.psion.com/downloads/developer_sdkhdk/m/sample__demo_code/34578.aspx.
Usually, after Windows is restarted, an enabled wakeup source brings the device out of suspend mode into fully on. For details see Programmatic Initiation of Resets on page 3-11.
Batteries and Power Management 2 - 11

Accelerometer and Gyroscope

The accelerometer and the gyroscope do not wake a computer from suspend mode.

Wake up that Stops in Standby Mode

For some wakeup sources—such as WWAN radio events—the wakeup event raises the device from suspend mode into standby mode, and not to fully on. In this case the application must monitor the transition from suspend mode to reset mode. It can then programmatically bring the device from standby mode to fully on.

Setting a Time Until Wakeup

To suspend a computer for a selected length of time, use the Microsoft APIs.

Getting Started with the Suspend/resume Cycle

For articles on IngenuityWorking that will guide you in getting started with the suspend/resume cycle see:
community.psion.com/tags/wakeup/noteDG.

Code Samples for the Suspend/resume Cycle

For postings on IngenuityWorking that contain code samples that use the suspend/resume cycle see:
community.psion.com/tags/wakeup/codeDG.

Suspend API Elements

You cannot programmatically put a Psion computer into standby mode. C++: Suspend on all computers is controlled using the PsionTeklogix::PowerManagement namespace. For
suspending the computer and setting the time until wake-up use Microsoft Power Management APIs; for details see
http://msdn.microsoft.com/en-us/library/ms895437(v=MSDN.10).aspx.
Java: Suspend on all computers is controlled using the com.teklogix.power package. .NET: Suspend on all computers is controlle d using the PsionTeklogix.Power namespace. Power can also be
controlled by the Windows Power Management Functions; for details see
http://msdn.microsoft.com/en-us/library/ms895437(v=MSDN.10).aspx.
Selection of wakeup sources
C++: Wakeup sources on all computers is con trolled using the PsionTeklogix::PowerManagement namespace.
Java: Wakeup sources on all computers is controlled using the com.teklogix.power package. .NET: Wakeup sources on all computers is controlled using the PsionTeklogix.Power namespace.
2 - 12 Mobile Devices Developers Guide

Power Management

Events

C++
C++ applications must use the Microsoft RequestPowerNotifications and GetSystemPowerStatusEx2 APIs.
Java and .NET
The following power state events are generated by the computer and can be detected by the Mobile Devices SDK. These events are used by Java and .NET applications:
Event States Description
AC Power online AC Power online Battery status change High Fully charged
Low Low charge Critical Needs to be charged immediately Charging Charging NoSystemBattery No battery detected Unknown None of the other states
Power information change On On
Off Full off Critical Critical off Boot Device is booting Idle Idle state Suspend Suspend state Resume Resume state Reset Reset state Preferred Preferred state UserIdle User idle state
Event States Description
Power transition Offline Not on external power

Battery Information

Battery Suspend Threshold

Some computers have only a small backup battery, or no backup battery. On these computers, once the main battery has completely discharged, users have a very short time during which to change the battery before all volatile data is lost. In this situation, it can be desirable to have the device give the low battery warning prema­turely, thus ensuring it gets replaced, or recharged, before data is lost.
Setting the battery suspend threshold forces the computer to suspend when that threshold is reached, before the main battery has fully discharged. The battery suspend threshold is a percentage, between 0 (zero) and 100, of the maximum allowed battery threshold charge. The actual amount of charge, remaining at the selected battery suspend threshold, is calculated based on the type of computer and the type of battery.
Batteries and Power Management 2 - 13
Online On external power BackupPower On backup power Unknown None of the other states

Main Battery and Backup Battery Lifetimes and Remaining Charge

The battery lifetime reported by the Mobile Devices SDK may not be accurate as various system configura­tions, power management settings, and the activity of various peripheral devices all affect the rate that charge is drained from the battery.
It may not be possible to determine the remaining lifetime or the full lifetime of the backup battery while the computer is being powered by an external source, such as an AC adaptor. As a result, these calls may throw an exception if the computer is on external power.
The amount of charge reported as remaining in the battery may not be accurate. Also, this value can vary due to the activity of peripheral devices such as radios.

Smart Batteries

Smart batteries can accurately report their status. The main use of these smart battery functions is to deter­mine when to replace old batteries. All the batteries available for the following Psion computers are smart batteries:
7530
7535
8525
8530
Ikôn
•Omnii
EP10
•VH10
2 - 14 Mobile Devices Developers Guide
The smart battery APIs in the Mobile Devices SDK throw an exception stating Not Supported on devices that do not support smart batteries.
Smart Battery Function Description
GetBatteryCycleCount This is important in determining the health of a battery, and
GetBatterySerialNumber Returns either a string or an integer. GetBatteryManufactureDate This measures how old the battery is. Together with the cycle count,

Smart Battery Registry Settings

HKEY_LOCAL_MACHINE\Services\BatteryStatus
determining when the battery is at the end of its life. A battery charge cycle occurs when the battery has been drained to
0%, and then refilled to 100%, of its maximum capacity. Some batteries have a life span that can be measured in cycle counts (usually from 500 – 1000, but can be more).
this determines whether the battery is wearing out too fast.
Value Name Value Type
Flags REG_DWORD 0 Microsoft-required value for controlling an
CycleThreshUsed REG_DWORD 300 The cycle-count threshold at which a terminal is
CycleThreshOld REG_DWORD 400 The cycle-count threshold at which a terminal is
ShowPopupOnResume REG_DWORD 1 The Battery Quality dialog appears whenever
ShowWhenNew REG_DWORD 4 The amount of time (in sec) that the pop-up stays
ShowWhenUsed REG_DWORD 7 The amount of time (in sec) that the pop-up stays
Default Value
Description
auto-started service. Set to 0: Enable service Set to 4: Disable service.
considered Good. Below this threshold it is considered Excellent.
considered Expired. Below this threshold it is considered Good.
external power is connected or disconnected—the pop-up is limited to once per minute. This flag allows the pop-up to appear on resume as well. To disable this feature, set it to 0.
visible when the green, or Excellent, battery icon is displayed.
visible when the yellow, or Good, battery icon is displayed.
Batteries and Power Management 2 - 15
Value Name Value Type
ShowWhenOld REG_DWORD 10 The amount of time (in sec) that the pop-up stays
ShowWhenUnknown REG_DWORD 0 The amount of time (in sec) that the Unknown
Default Value
Description
visible when the red, or Expired, battery icon is displayed. If you want this pop-up to remain visible until manually dismissed set the value to 99999.
pop-up stays visible when cycle-counting is not supported (for batteries predating the smart battery feature),

Getting Started with Power Management and Smart Batteries

For articles on IngenuityWorking that will guide you in getting started with power management and smart batteries see:
community.psion.com/tags/battery power/noteDG.

Code Samples for Power Management and Smart Batteries

For postings on IngenuityWorking that contain code samples that use power management and smart batteries see:
community.psion.com/tags/battery power/codeDG.

Power Management and Battery API Elements

C++: The power on all computers is controlled using the PsionTeklogix::PowerManagement namespace. Java: The power on all computers is controlled using the com.teklogix.power package. .NET: The power on all computers is controlled using the PsionTeklogix.Power namespace. Power can also
be controlled by the Windows Power Management Functions; for details see
http://msdn.microsoft.com/en-us/library/ms895437(v=MSDN.10).aspx.

CHAPTER 3 RESET

RESET 3
Reset Types and Effects.........................................3-3
Manual Initiation of Resets........................................3-5
Programmatic Initiation of Resets...................................3-11
Controlling Keyboard Resets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-12
Detecting and Identifying Resets...............................3-12
Getting Started with Resets.......................................3-12
Code Samples for Resets........................................3-12
Reset API Elements...........................................3-12

Reset Types and Effects

Reset 3 - 3
Table 3-1
Windows CE 5 RAM RAM Windows Mobile SE 2003 Flash Flash Windows Mobile 5.0 Flash Flash Windows Mobile 6.x Flash Flash Windows Embedded CE 6.0 Flash Flash
Table 3-2
Restarts Windows Yes Yes Yes Restarts all drivers Yes Yes Yes Clears application memory (RAM) Yes Yes Yes
Location of Operating System Files and Application Files
Operating System Operating System Files Application Files
Effects of Resetting Psion Computers
Cold Reset
Feature Warm Reset
or
Hardware
Reset
Clean Start
Clears operating system if stored in RAM Applies to Windows CE 5 only
RAM disk folder is preserved Does not apply to Windows CE 5
Sets registry to factory default No No Yes Sets Windows image to factory default No No Yes Clears addressable persistent storage (flash) No No No Can be invoked with Mobile Devices SDK
API function call
Warm Reset
A warm reset restarts the operating system. Registry settings, installed programs, and data files are preserved. Running applications are halted and
unsaved data is lost. Flash content is preserved. RAM content is not preserved. The RAM Disk folder is preserved on Windows CE 6.x, but it is not preserved on Windows Mobile.
Windows CE 5 Operating System
Yes (Windows CE
No Yes Yes
No No
6.x)
No (Windows
Mobile)
Yes Yes (Windows CE)
No (Windows
Mobile)
No
When you perform a warm reset on a Psion computer running Windows CE 5, the operating system is restarted without reloading the operating system into memory.
3 - 4 Mobile Devices Developers Guide
Windows Mobile SE 2003
On Windows Mobile SE 2003-based computers, a warm reset reloads and rest art s the operating system. RAM memory is cleared and the RAM disk is reinitialized.
Reset
A reset restarts the operating system. This replaces the warm reset available on earlier Psion computers. Registry settings, installed programs, and data files are preserved. Running applications are halted and
unsaved data is lost. Flash content is preserved. RAM content is not preserved. The RAM Disk folder is not preserved.
Reset is available on the following operating systems:
Windows Mobile 5.0
Windows Mobile 6.x
Windows CE 6.0
Cold Reset and Hardware Reset
Cold reset and hardware reset are two names for the same process. They power down, and then power up, all the hardware on a Psion computer. In effect they reinitialize all the hardware. All RAM including the RAM disk is erased. Nonvolatile storage such as the flash disk is preserved. All peripherals are reinitialized.
Clean Start
A clean start resets the computer to its factory settings.

Manual Initiation of Resets

753x (Windows CE 5.0)
8515 (Windows CE 5.0)
Psion Product Name Computer User Manual
Table 3-3
Methods for Resetting Psion Computers Using the Keyboard and Touchscreen
Warm Reset Reset Cold Reset Hardware Reset Clean Start
Tap Start > Shutdown > Warm Reset
or
Press and hold BLUE and ENTER for six seconds.
Tap Start > Shutdown > Warm Reset
or
Press and hold BLUE and ENTER for six seconds.
Tap Start > Shutdown > Cold Reset
or
Press and hold Scan, BLUE and ENTER for
six seconds. At BooSt menu, press &.
Tap Start > Shutdown > Cold Reset
or
Press and hold
SPACE, BLUE and ENTER for
six seconds. At BooSt menu, press &.
Press and hold Scan, BLUE and ENTER for six seconds. At BooSt menu, press !.
Press and hold
SPACE, BLUE and ENTER for
six seconds. At BooSt menu, press !.
8525 / 8530 (Windows CE 5.0)
5
Tap Start > Shutdown > Warm Reset
or
Press and hold BLUE and ENTER seconds.
for six
Tap Start > Shutdown > Cold Reset
or
Press and hold
SPACE, BLUE and ENTER for
six seconds. At BooSt menu, press &.
Press and hold
SPACE, BLUE and ENTER for
six seconds. At BooSt menu, press !.
Manual Initiation of Resets
Chapter 3: Reset
6
Psion Product Name Computer User Manual
Warm Reset Reset Cold Reset Hardware Reset Clean Start
Chapter 3: Reset
Manual Initiation of Resets
Workabout Pro (7525) (Windows CE .NET
4.2)
Workabout Pro (7525) (Windows Mobile 2003 SE)
Workabout Pro (7525) (Windows Mobile
5.0)
Workabout Pro G2 (7527) (Windows CE 5.0)
Tap Start > Shutdown > Warm Reset
or
Press and hold FN/BLUE and ENTER for six seconds.
Press and hold FN/BLUE and ENTER for six seconds.
Tap Start
> Shut
down
> Warm Reset
or
Press and hold FN/BLUE and ENTER for six seconds.
Press and hold FN/BLUE and ENTER for six seconds.
Tap Start > Shutdown > Cold Reset
or
Press and hold ORANGE, FN/BLUE and ENTER for six seconds.
Press and hold ORANGE, FN/BLUE and ENTER for six seconds.
Tap Start > Shutdown > Cold Reset
or
Press and hold ORANGE, FN/BLUE and ENTER for six seconds.
Press and hold Front Left Scan, FN/BLUE and ENTER for six seconds. At BooSt menu:
• For short variant, press FN/BLUE then
1
• For all other mo pre
ss !
dels,
Press and hold Front Left Scan, FN/BLUE and ENTER for six seconds. At BooSt menu, press !
Press and hold Front Left Scan, FN/BLUE and ENTER for six seconds. At BooSt menu, type
.25326 Press and hold Front
Scan, FN/BLUE and ENTER for
six seconds. At BooSt menu:
or unsecured
• F
oSt, press !
Bo
• For secured BooSt, type .25326
Warm Reset Reset Cold Reset Hardware Reset Clean Start
Workabout Pro G2 (7527) (Windows Mobile 6.0, Windows Mobile
6.1)
Workabout Pro3 (7527) (Windows CE 5.0)
Psion Product Name Computer User Manual
Tap Start > Shutdown > Warm Reset
or
Press and hold FN/BLUE and ENTER for six seconds.
or
Press and hold FN/BLUE and Power for six seconds.
Press and hold FN/BLUE and ENTER for six seconds.
Tap Start > Shutdown > Cold Reset
or
Press and hold ORANGE, FN/BLUE and ENTER for six seconds.
or
Press and hold ORANGE, FN/BLUE and Power for six seconds.
Press and hold Front
Scan, FN/BLUE and ENTER for
six seconds. At BooSt menu:
• Alphabetic key­board: Type .clean, then press ENTER
• Numeric keyboard: Type .25326, then press ENTER.
Press and hold Front
Scan, FN/BLUE and ENTER for
six seconds. At BooSt menu:
• Alphabetic key­board: Type .clean, then press ENTER
• Numeric keyboard: Type .25326, then press ENTER
.
7
Manual Initiation of Resets
Chapter 3: Reset
8
Psion Product Name Computer User Manual
Warm Reset Reset Cold Reset Hardware Reset Clean Start
Chapter 3: Reset
Manual Initiation of Resets
Workabout Pro3 (7527) (Windows Mobile
6.1)
Ikôn (7505) (Windows CE 5.0)
Tap Start > Shutdown > Warm Reset
or
Press and hold BLUE and ENTER for six seconds.
Press and hold FN/BLUE and ENTER for six seconds.
or
Press and hold FN/BLUE and Power for six seconds.
Tap Start > Shutdown > Cold Reset
or
Press and hold Power, and ENTER for six seconds.
or
Press and hold Left Scan, BLUE and ENTER for
six seconds. At BooSt menu, press &.
Press and hold Front
Scan, FN/BLUE, and ENTER or Power for
six seconds. At BooSt menu:
• Alphabetic key­board: T ype .clean th
en press ENTER
• Numeric T
ype .25326, then
keyboard:
press ENTER.
Press and hold Left
Scan, BLUE and ENTER for
six seconds. At BooSt menu:
• Alphabetic key­board: T ype .clean th
en press ENTER
• Numeric T
ype .25326
pre
keyboard:
, then
ss ENTER.
,
,
Warm Reset Reset Cold Reset Hardware Reset Clean Start
Ikôn (7505) (Windows Mobile
6)
NEO (PX750) (Windows CE 5.0)
Psion Product Name Computer User Manual
NEO (PX750) (Windows Mobile
6.1)
Tap Start > Shutdown > Warm Reset
or
Press and hold FN/BLUE and ENTER for six seconds.
Press and hold FN/BLUE and ENTER for two seconds.
Press and hold BLUE and ENTER for six seconds.
Press and hold Power, and ENTER for six seconds.
Tap Start > Shutdown > Cold Reset
or
Press and hold
FN/ORANGE, FN/BLUE and ENTER
for six seconds.
or
Press and hold Scan, FN/BLUE and ENTER
for six seconds. At BooSt menu, press 1.
Press and hold Scan, FN/BLUE an
d ENTER for two seconds. At BooSt menu, press 1.
Press and hold Left
Scan, BLUE and ENTER for
six seconds. At BooSt menu:
• Alphabetic key­board: Type .clean
en press ENTER
th
• N
umeric keyboard:
ype .25326, then
T press ENTER.
Press and hold Scan, FN/BLUE and ENTER for six seconds. At BooSt menu, press !.
Press and hold Scan, FN/BLUE and ENTER for two seconds. At BooSt menu, press !.
,
Manual Initiation of Resets
Chapter 3: Reset
9
10
Psion Product Name Computer User Manual
Warm Reset Reset Cold Reset Hardware Reset Clean Start
Chapter 3: Reset
Manual Initiation of Resets
Omnii XT10 (7545XV) Omnii XT15 (7545XA) Omnii RT15 (7545XC) (Windows Embed­ded CE 6.0, Windows Embed­ded Hand-Held 6.5)
EP10 (7515) (Windows Embed­ded Hand-Held
6.5)
VH10 (Windows Embed­ded CE 6.0)
Press and hold FN and Power for four seconds.
Tap Start > Shutdown > Warm Reset
or
Press and hold BLUE and ENTER for six seconds.
Press and hold BLUE/FN and Power for six seconds.
Press and hold SYM, FN and Power for four seconds.
or if no SYM key,
Press and hold WIN­DOWS, FN and Power
for four seconds
Tap
Start > Shutdown
> Cold Reset
or
Press and hold
ORANGE, BLUE and ENTER for
six seconds.
Press and hold
BLUE/FN, SYM, and Power for six seconds.
Press and hold SCAN, FN and Power for
six seconds. At BooSt menu:
• Alphabetic key­board: T ype .clean, then press Power
• Numeric keyboard: Type .25326, then press Power.
Press and hold
BLUE/FN, Power and left SCAN for six sec-
onds. At BooSt menu:
• Alphabetic key­board: T ype .clean, then press Power
• Numeric keyboard: Type .25326, then press Power.
Press and hold BLUE, ENTER and SPACE for six seconds. At BooSt menu:
• Type .clean, then press ENTER, or
• Type .25326, then press ENTER.

Programmatic Initiation of Resets

Warm reset, reset, and cold reset
The Mobile Devices SDK includes APIs that can initiate these resets. WarmBoot: Initiates either a warm reset or a reset, whichever is available on the operating system of
the device. ColdBoot: Initiates a cold reset. This is only available on Windows CE systems.
NOTE To restart Windows use WarmBoot.
WARNING ColdBoot reinitializes all the hardware as well as restarting Windows.
Hardware reset
Reset 3 - 11
A hardware reset cannot be initiated programmatically.
Clean start
The Mobile Devices SDK does not support clean start. For an alternative method—which is not supported on all Psion computers—of programmatically initiating a clean start, see PsionCleanStart.cpp at:
community.psion.com/downloads/developer_sdkhdk/m/sample__demo_code/25345.aspx
The API used in this example does the following:
Resets the system hive (registry).
Resets the user hive (user registry, HKEY_CURRENT_USER).
Sets a flag for Total Recall auto-restore.
Formats the root file system, or clears the object store (Windows CE only).
Formats the boot file system.
Resets the real time clock (RTC). This API has a flag that by default selects all of these options, but you can select a subset of them; however, a
true clean start must include all of them: If they are not all selected, then it is not a clean start.
Boot to BooSt
For a method—which is not supported on all Psion computers—of programmatically booting to BooSt see:
community.psion.com/downloads/developer_sdkhdk/m/sample__demo_code/31228.aspx
3 - 12 Mobile Devices Developers Guide

Controlling Keyboard Resets

On each Psion computer there are key combinations that reset the computer. See Manual Initiation of Resets
on page 3-5 for a list. The key combinations can be enabled or disabled using the Mobile Devices SDK. The
following options are available:
Reset Type Description
BoostResetKey Enabled: Boot to BooSt (bootstrap menu) reset key sequence enabled.
Disabled: When the BooSt reset key combination is entered, the device
performs a cold reset.
ColdResetKey Not valid on Windows Mobile-based devices.
Enabled: Cold reset key sequence enabled. Disabled: Cold reset key sequence disabled.
WarmResetKey Enabled: Warm reset key sequence enabled.
Disabled: Warm reset key sequence disabled.

Detecting and Identifying Resets

See the following article for instructions on programmatically identifying warm resets, cold resets, and clean starts after they have occurred:
community.psion.com/knowledge/w/knowledgebase/1071.aspx

Getting Started with Resets

For articles on IngenuityWorking that will guide you in getting started with working with resets see:
community.psion.com/tags/reset/noteDG

Code Samples for Resets

For postings on IngenuityWorking that contain code samples that contain resets see:
community.psion.com/tags/reset/codeDG

Reset API Elements

C++: Reset on all computers is controlled using the PsionTeklogix::PowerManagement namespace. For suspending the computer and setting the time until wake-up use Microsoft Power Management APIs: For details see msdn.microsoft.com/en-us/library/ms895437(v=MSDN.10).aspx.
Java: Reset on all computers is controlled using the com.teklogix.power package. .NET: Reset on all computers is controlled using the PsionTeklogix.Power namespace. Power can also be
controlled by the Windows Power Management Functions; for details see
msdn.microsoft.com/en-us/library/ms895437(v=MSDN.10).aspx.

CHAPTER 4 DISPLAY

DISPLAY 4
Display...................................................4-3
Getting Started with the Display.....................................4-5
Code Samples for the Display......................................4-5
Display API Elements...........................................4-5

Display

The Mobile Devices SDK provides functions that obtain information on the display hardware that cannot be easily obtained using standard features of the development languages. Display features are available as follows:
Display 4 - 3
Psion Computer
7530 • 240 pixels wide
7535 • 240 pixels wide
8515 • 640 pixels wide
8525 • 640 pixels wide
Screen Size
• 320 pixels high
•¼ VGA
• 3.5 in. diagonal
• 320 pixels high
•¼ VGA
• 3.5 in. diagonal
• 480 pixels high
•VGA
• 6.4 in. diagonal
• 240 pixels high
•½ VGA
Number of Colours
65536 Optional Reflective
65536 Optional Reflective
65536 Yes Reflective
65536 Yes Transmissive
Touchscreen Ty p e
• 8.8 in. diagonal
8530 • 800 pixels wide
• 600 pixels high
• SVGA
• 10.4 in diagonal
Ikôn (7505) • 480 pixels wide
• 640 pixels high
•VGA
• 3.7 in. diagonal
NEO (PX750) • 240 pixels wide
• 320 pixels high
•¼ VGA
• 2.7 in. diagonal
65536 Yes Reflective
65536 Yes Reflective
65536 Yes Transmissive
4 - 4 Mobile Devices Developers Guide
Psion Computer
Workabout Pro (7525)
Workabout Pro (7525)
Workabout Pro G2 (7527) & Workabout Pro3 (7527)
Omnii XT10 (7545XV) Omnii XT15 (7545XA) Omnii RT15 (7545XC)
Screen Size
• 240 pixels wide
• 320pixels high
•¼ VGA
• 3.5 in. diagonal
• 240 pixels wide
• 320pixels high
•¼ VGA
• 3.5 in. diagonal
• 480 pixels wide
• 640 pixels high
•VGA
• 3.7 in. diagonal
• 480 pixels wide
• 640 pixels high
•VGA
• 3.7 in. diagonal
Number of Colours
Monochrome Yes Transflective
65536 Yes Transflective
65536 Yes Reflective
65536 Yes Reflective
Touchscreen Ty p e
EP10 (7515) • 480 pixels wide
• 640 pixels high
•VGA
• 3.7 in. diagonal
VH10 (Windows Embedded CE 6.0)
Refer to the user manuals for the computers for more information.
The following display information can be retrieved using the SDK:
Display Hardware Property C++ Java .NET
Colour or monochrome No Yes Yes Display type No Yes Yes Display dimensions in pixels No Yes Yes Display dimensions in millimetres No Yes Yes
• 800 pixels wide
• 480 pixels high
•VGA
• 8.0 in. diagonal
65536 Yes Reflective
65536 Yes Reflective
Display 4 - 5
Display Hardware Property C++ Java .NET
Maximum number of colours, or shades of grey No Yes Yes Touchscreen, or non-touchscreen Yes Yes Yes
The following properties are returned, as name/value pairs, by the Mobile Devices SDK:
Property Name String Value Type Value
Display Type String Transmissive, Reflective, Transreflective,
or Unknown Physical Width Integer Display width in millimetres Physical Height Integer Display height in millimetres Colour Display Boolean True, or False Touch Screen Installed Boolean True, or False Width in Pixels Integer Display width in pixels Height in Pixels Integer Display height in pixels Maximum Colours Integer Number of colours, or shades of

Getting Started with the Display

For articles on IngenuityWorking that will guide you in getting started with working with the display see:
community.psion.com/tags/display/noteDG

Code Samples for the Display

For postings on IngenuityWorking that contain code samples that use the display see:
community.psion.com/tags/display/codeDG

Display API Elements

C++: Information concerning the display on all Psion Windows CE computers is retrieved using the PsionTeklogix::DisplayInformation namespace. Additional display details are obtained using the Windows
CE User Interface Services GDI function GetDeviceCaps ().
grey available
Java Information on the display hardware on all Psion Windows CE computers is retrieved using the com.teklogix.display package.
.NET: Information on the display hardware on all Psion Windows CE computers is retrieved using the System.Windows.Forms namespace in the .NET Compact Framework, or using the PsionTeklogix.SystemPTX.DisplayInformation class.

CHAPTER 5 INDICATORS

INDICATORS 5
Indicators..................................................5-3
Using LED Colours............................................5-3
Controlling Pulses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-4
Controlling Illumination Patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-4
Getting Started with Indicators......................................5-5
Code Samples for Indicators.......................................5-5
Indicator API Elements..........................................5-5

Indicators

Most Psion computers have a LED that can be controlled by applications. Typically, these are used to indicate device activity, data reception, data transmission, error conditions, alerts, and software updates.

Using LED Colours

Each LED emits one or more colours. Some colours are built into the LED. Other colours are created by illumi­nating two or more built-in colours at the same time. The following terms are used to distinguish these colours:
Component colour: This colour is built into the LED. Composite colour: This colour is created by illuminating two or more component colours at the same time on
the LED. Default on colour: A LED is illuminated with the default on colour, when it is illuminated without explicitly
naming an illumination colour. Available colour: This can be either a component colour or a composite colour.
Indicators 5 - 3
Application-controllable LEDs are available on Psion computers as follows:
Number Of
Psion Computer
7530 1 Application Red
7535 1 Application Red
8525/8530 1 Application Red
8515 0 Workabout Pro
(7525) Workabout Pro
G2 (7527) Workabout Pro3
(7527)
LEDs Available For Applications
1 Application Red
1 Application Red
1 Application Red
LED Name
Component Colors
Green
Green
Green
Green
Green
Green
Composite Colours
Yellow Green
Yellow Green
Yellow Green
Yellow Green
Yellow Green
Yellow Green
Default On Colour
Ikôn (7505) 1 Application Yellow Yellow Yellow NEO (PX750) 1 Application Red
Green
Omnii XT10 (7545XV)
Omnii XT15 (7545XA)
1 Application Yellow Yellow Yellow
1 Application Yellow Yellow Yellow
Yellow Green
5 - 4 Mobile Devices Developers Guide
Duration1 Duration2 Delay
Repeat
Duration1 Duration2
Colour1 Colour2
Time
Colour1 Colour2
Number Of
Psion Computer
LEDs Available For Applications
LED Name
Component Colors
Composite Colours
Default On Colour
Omnii RT15 (7545XC)
EP10 (7515) 1 Application Yellow Yellow Yellow VH10 0
1 Application Yellow Yellow Yellow

Controlling Pulses

The following terms are used to describe the behaviour of a pulsing LED: Independent colour: On multi-colour LEDs, if the independent colour flag is set, this pulse can add to the
colour being displayed by the LED. Extend current pulse: This feature only applies when the independent colour flag is also set. If the LED is in
the process of performing a pulse using the same colour, the duration of this new pulse replaces the duration of the existing pulse. This can result in the duration eithe r bein g extended or reduced.
Several overlapping pulses can exist. The effects depend on the settings of the independent colour flag and the extend current pulse flag.

Controlling Illumination Patterns

The Mobile Devices SDK provides the ability to display a two-colour illumination pattern on a LED. The following diagram shows how an illumination pattern is structured:
The two colours, their duration times, the delay between repeat s, and the numb er of repeats can be defined in the application. See the online help for your programming language for information on how to specify these values.

Getting Started with Indicators

For articles on IngenuityWorking that will guide you in getting started with working with indicators see:
community.psion.com/tags/indicators/noteDG

Code Samples for Indicators

For postings on IngenuityWorking that contain code samples that contain indicators see:
community.psion.com/tags/indicators/codeDG

Indicator API Elements

C++: The display on all Psion computers is controlled using the PsionTeklogix::Indicators namespace. Java: The display on all Psion computers is controlled using the com.teklogix.indicators package. .NET: The display on all Psion computers is controlled using the PsionTeklogix.Indicators namespace.
Indicators 5 - 5
CHAPTER 6 KEYBOARD AND KEYBOARD
REMAPPING

KEYBOARD AND KEYBOARD REMAPPING 6

Keyboard..................................................6-3
Supported Keyboards......................................6-3
Disabling The Keyboard.....................................6-5
Getting Started with Keyboards.................................6-5
Code Samples for Keyboards..................................6-5
Keyboard API Elements.....................................6-5
Keyboard Remapping...........................................6-5
ORANGE Key and SYM Key..................................6-7
Keyboard Remapping Functions on Psion Computers....................6-7
Unicode Values for Psion Proprietary Keys.........................6-11
Windows Mobile, and Windows CE, Virtual Keys......................6-15
Windows Mobile Virtual Keys on Psion Computers.....................6-15
Getting Started with Key Remapping.............................6-15
Code Samples for Key Remapping..............................6-16
Keyboard Remapping API Elements.............................6-16
Key Insertion...............................................6-16
Getting Started with Key Insertion..............................6-17
Code Samples for Key Insertion...............................6-17
Key Insertion API Elements..................................6-17

Keyboard

Microsoft Windows maintains a device-independent keyboard model that enables it to support a variety of keyboards. At the lowest level, each key on the keyboard generates a scan code when the key is pressed and released. The scan code is a hardware-dependent number tha t identifies the physical location of the key on the keyboard. Unlike Windows-based deskto p op er at ing s ystems, Windows CE and Windows Mobile have no standard set of keyboard scan codes. The keyboard driver maps each scan code to a virtual key code. The virtual key code is a hardware-independent number that identifies the key to be sent to the application.
Because keyboard layouts vary between spoken languages, Windows offers only the core set of virtual key codes that are found on all keyboards. This core set includes English characters, numbers, and a few critical keys, such as the function, and arrow, keys.
In addition to mapping, the Windows keyboard driver determines which characte rs the virtual key gen erates. A single virtual key can generate different characters depen ding on the state of the, BLUE, ORANGE, SYM, ALT, CTRL, and SHIFT, modifier keys.
The Mobile Devices SDK provides support for the Psion-specific keys.

Supported Keyboards

Keyboard and Keyboard Remapping 6 - 3
When the keyboard type is queried through the Mobile Devices SDK, the following strings may be returned:
Computer Keyboard Description Strings
36-Key 37-Key
7530 / 7535
8515 / 8525 / 8530
58-Key 63-Key None 68-Key ABC 68-Key Azerty 68-Key Qwerty Unknown None 28-Key WinCE 28-Key WM 28-Key WM Phone
Ikôn (7505)
47-Key 47-key AZERTY Unknown
6 - 4 Mobile Devices Developers Guide
Computer Keyboard Description Strings
26-Key
NEO (PX750)
Workabout Pro G1 (7525)
Workabout Pro G2 (7527) & Workabout Pro G3 (7527)
48-Key Unknown 24 Key Keyboard 52 Key Keyboard
25 key 31 key 48 key 52 key 55 key Unknown
Long, 34 key, Alpha Sequence, Numeric Telephony, 12 Fn Long, 36 Key, Alpha Modified, Numeric Calculator, 12 Fn Long, 36 Key, Alpha Modified, Numeric Calculator, 12 Fn Rev1
Omnii (7545)
EP10 (7515) 30 keys + 6 side buttons
EP10 (7515) 46 keys + 6 side buttons
Long, 36 Key, Alpha Modified, Numeric Calculator, 12 Fn Rev2 Long, 36 Key, Alpha Sequence, Numeric Telephony, 12 Fn Long, 36 Key, Alpha Sequence, Numeric Telephony, 12 Fn Rev1 Long, 36 Key, Alpha Sequence, Numeric Telephony, 12 Fn Rev2 Long, 55 Key, Phone Keys, Alpha ABC, Numeric Telephony Long, 55 Key, Phone Keys, Alpha ABC, Numeric Telephony Rev1 Long, 59 Key, Alpha ABC, Numeric Telephony, 6 Fn Long, 59 Key, Alpha ABC, Numeric Telephony, 6 Fn Rev1 Long, 66 key, Phone, Alpha QWERTY, Numeric T elephony, 6 Fn Long, 66 key, Phone, Alpha QWERTY, Numeric T elephony, 6 Fn
Rev1 36 Key, Numeric
52 Key, Alpha Azerty 52 Key, Alpha Qwerty
Keyboard and Keyboard Remapping 6 - 5
Computer Keyboard Description Strings
69 Key, Qwerty, Numeric Calculator, 12 Fn
VH10

Disabling The Keyboard

The keyboard can be disabled at the hardware level. When disabled, no key presses are reco rded. Disabling the keyboard may be used to prevent user data entry while a program is performing a critical operation, such as a database transaction or a screen refresh, when a key press could cause problems.
IMPORTANT Take great care when disabling the keyboard. If an application terminates while the
keyboard is disabled, there is no easy way to re-enable the keyboard. This can leave the computer in an unusable state; however, if the computer has a touchscreen, the touchscreen is still active.
Some keyboard operations are still available even when the keyboard is disabled, including resets, and placing the computer into suspend mode.

Getting Started with Keyboards

For articles on IngenuityWorking that will guide you in getting started with working with keyboards see:
community.psion.com/tags/keyboard/noteDG
69 Key, Azerty , Numeric Calculator, 12 Fn

Code Samples for Keyboards

For postings on IngenuityWorking that contain code samples that use keyboards see:
community.psion.com/tags/keyboard/codeDG

Keyboard API Elements

C++: The display on all Psion computers is controlled using the PsionTeklogix::Keyboard namespace. Java: The display on all Psion computers is controlled using the com.teklogix.keyboard package. .NET: The display on all Psion computers is controlled using the PsionTeklogix.Keyboard namespace.

Keyboard Remapping

The key stroke information sent to an application whe n a ke y is pres se d ca n be alte re d thr o ug h a pr oc es s of remapping key code values. There are two sets of key codes — scan codes and virtual key codes — which define the associations between a physical key pressed, and the key value that is sent to an application. The default associations of these key code sets characterize the normal behaviour of a particular keyboard. Keyboard remapping overrides the default behaviour of the keyboard keys.
Scan codes
A scan code is an integer value representing a key on a keyboard. Scan codes are keyboard dependent.
6 - 6 Mobile Devices Developers Guide
All Psion computers have non-chorded keyboards. A non-chorded keyboard is a keyboard that does not handle simultaneous key presses. Each key pressed generates a unique scan code which is not modified by the state of other keys on the keyboard.
Modifier keys
Modifier keys are keys that when pressed and released set a mode that can change the behaviour of other keys on the keyboard. The following keys are modifier keys: BLUE, ORANGE, SYM, ALT, CTRL, and SHIFT. These can change the virtual key code value generated by a subsequent scan code.
Virtual key codes
A virtual key code is a device-independent value defined by the keyboard driver. Virtual key codes are passed to applications. Scan codes are mapped to virtual key codes by the keyboard driver. A single scan code can map to multiple virtual key codes, dependent on the current state of the modifier keys.
Some characters do not have virtual key codes, but c an be generated using shif ted-key codes. For example, a
+ character is actually generated by sending a shifted = virtual key code (that is, the scan code is mapped to VK_EQUAL and the function Function.SendShiftedCode). These mappings can be inferred from a standard
PC keyboard. For a list of Windows CE virtual key codes see msdn.microsoft.com/en-us/library/aa926323.aspx. For a list of Windows Mobile virtual key codes see msdn.microsoft.com/en-us/library/bb431750.aspx.
Mapping tables
The mapping between the scan codes and the virtual key codes is defined in a set of tables. There are sepa­rate tables to define the code mappings for normal operation, and for when the SHIFT, ORANGE/ SYM or BLUE modifiers are active. The ORANGE and BLUE tables can be remapped, the SHIFT table cannot be remapped.
There are no mapping table s for the CTRL and ALT modifier keys, so these do not change the virtual key code generated. On receiving a virtual key code, an application can d etect the state of these modifiers, and change its behaviour accordingly.
If two threads or processes attempt to modify the keyboard scan code mappings at the same time, the results are undefined.
Scan code remapping enables applications to perform the following operations:
Create one or more scan code remappings for a scan code table.
Remove a scan code remapping from a scan code table.
Remove all scan code remappings from a scan code table.
Check to see if a particular scan code has been remapped.
Convert the table to a printable string. There are three tables where scan codes can be remapped:
Normal—remappings for all scan codes when neither the BLUE nor the ORANGE / SYM ar
e pressed.
Blue—remappings for when the BLUE key is pressed.
Orange—remappings for when the ORANGE, or the
If both the BLUE and ORANGE / SYM keys have been pressed (they are both in eithe r the one-sho t or locked state), the remapping for the BLUE key has precede nce.
key is pressed.
SYM,
keys
Keyboard and Keyboard Remapping 6 - 7
Functions
A function in keyboard remapping te rminology is an operation tha t is performed on a scan code . This operation may modify the virtual key code generated, or cause some other effect such as changing the backlight inten­sity. The following types of functions are available:
Macro—maps a scan code to a macro key, which is then mapped into a sequence of one of more virtual
key codes. No virtual key code is generated (other than those defined in the macro sequence).
Operation only—maps a scan code to some specific behaviour (e.g. backlight intensity). No virtual key
code is generated.
Modifier key mapping—causes a scan code to simulate the pressing of a modifier key, in order to correctly
update the modifier key state. Normal sequence for modifier keys is: off -> one shot -> locked -> off).
Virtual key (+modifier)—maps a scan code to a virtual key code, and may simulate the pressing of one or
more modifier keys.
Direct Unicode mapping—maps a scan code directly to a Unicode character. This enables characters to be
generated which have no virtual key equivalents, such as accented characters.
Null mapping—causes a scan code to be ignored. A scan code mapping can involve all of these elements. A scan code can be mapped to a function, and
possibly also to a virtual key, a macro, or a Unicode character value.

ORANGE Key and SYM Key

All Psion computers have either an ORANGE/FN key or a SYM key. The SYM key appears on the following:
•Omnii
EP10 When used as a modifier key, the two keys are identical. There is a difference when data is typed on the keyboard.
ORANGE/FN key: This gives access to additional keys and system functions. These functions are colour
coded in orange print on the keyboard or on the keycaps.
SYM key: This gives access to additional keys and system functions. When the SYM key is pressed, the
soft input panel (SIP) onscreen keyboard is displayed. This has the same key layout as the actual key­board. You can select a key either by pressing the corresponding keyboard key, or tapping the onscreen symbol.
Hiding the Psion soft input panel (SIP)
Normally , each time SYM is pressed the SIP is displayed. This can be inconvenient if SYM has been used as a modifier with a remapped key.
Use the HKEY_LOCAL_MACHINE\Init key registry setting to disable the Psion soft input panel.

Keyboard Remapping Functions on Psion Computers

A function in keyboard remapping terminology is an ope ration that is performed when a particular scan code is generated by a key press. This operation may modify the virtual key code generated, or cause some other effect such as changing the backlight intensity. The following types of functions are available:
6 - 8 Mobile Devices Developers Guide
Function Description
Skip The remapped scan key is ignored.
The virtual key is ignored.
Blue The remapped scan key behaves like the BLUE key in one shot mode.
The virtual key is ignored.
Orange The remapped scan key behaves like the ORANGE key in one shot mode.
The virtual key is ignored.
Shift The remapped scan key behaves like the SHIFT key in one shot mode.
The virtual key is ignored.
Control The remapped scan key behaves the same as the CTRL key.
The virtual key is ignored.
Alt The remapped scan key behaves the same as the ALT key.
The virtual key is ignored.
SendUnshiftedCode The remapped scan key is replaced by a selected unshifted scan key. This
function is keyboard dependent. It also releases all one-shot s that are set for the modifier keys.
This function is equivalent to selecting the Force Unshifted radio button on the Remap Scancode screen.
If A is mapped to B using Function = SendUnshiftedCode, typing ABC results in:
• With the SHIFT modifier key set: bBC
• Without the SHIFT modifier key set: bbc
SendShiftedCode The remapped scan key is replaced by a selected shifted scan key . This
function is keyboard dependent. It also releases all one-shot s that are set for the modifier keys.
This function is equivalent to selecting the Force Shifted radio button on the Remap Scancode screen.
If A is mapped to B using Function = SendShiftedCode, typing ABC results in:
• With the SHIFT modifier key set: BBC
• Without the SHIFT modifier key set: Bbc
Keyboard and Keyboard Remapping 6 - 9
Function Description
SendCode The remapped scan key is associated with a selected virtual key. This
function is keyboard dependent. It also releases all one-shot s that are set for the modifier keys.
This function is equivalent to selecting the Virtual Key radio button on the Remap Scancode screen.
The modifier key states change the outcome of this function. If A is mapped to VK_B using Function = SendCode, typing ABC results in:
• With the SHIFT modifier key set: BBC
• Without the SHIFT modifier key set: bbc
ContrastUp Each press of the remapped scan key increases the screen contrast. This
function also releases all one-shots that are set for the modifier keys. The virtual key is ignored.
ContrastDown Each press of the remapped scan key decreases the screen contrast. This
function also releases all one-shots that are set for the modifier keys. The virtual key is ignored.
VolumeUp Each press of the remapped scan key increases the volume of the
beeper/WAV device. This function also releases all one-shots that are set for the modifier keys.
The virtual key is ignored.
VolumeDown Each press of the remapped scan key decreases the volume of the
beeper/WAV device. This function also releases all one-shots that are set for the modifier keys.
The virtual key is ignored.
ScannerOn While the remapped scan key is depressed, the scanner is active.
The virtual key is ignored.
TerminalOff Each press of the remapped scan key puts the mobile device into suspend
mode. This function also releases all one-shots that are set for the modifier keys.
The virtual key is ignored.
BacklightCycleUp Each press of the remapped scan key increases the intensity of the display
backlight. When the maximum intensity is reached, the intensity drops to its lowest level, and it is increased again by each succeeding key press. This function also releases all one-shots that are set for the modifier keys.
The virtual key is ignored.
Macro The remapped scan key is associated with a selected macro. This function
also releases all one-shots that are set for the modifier keys. This function is equivalent to selecting the Macro radio button on the
Remap Scancode screen.
SendUnicode The remapped scan key is associated with a Unicode character.
6 - 10 Mobile Devices Developers Guide
Function Description
BacklightBrighter Each press of the remapped scan key increases the intensity of the display
backlight. This function also releases all one-shots that are set for the modifier keys.
The virtual key is ignored.
BacklightDimmer Each press of the remapped scan key decrease s the intensity of the display
backlight. This function also releases all one-shots that are set for the modifier keys.
The virtual key is ignored.
BacklightCycleDown Each press of the remapped scan key decreases the intensity of the display
backlight. When the maximum intensity is reached, the intensity is reset to its highest level, and it is decreased again by each succeeding key press. This function also releases all one-shots that are set for the modifier keys.
The virtual key is ignored.
SystemPowerState Each press of the remapped scan key suspends the computer.
The virtual key is ignored.
FunctionSendDPadCode The remapped scan key behaves like ENTER or one of the arrow keys on a
PocketPC DPad.
FunctionTrigger The remapped scan key is associated with a trigger source (see the
TriggerControl class). The value supplied with function is the trigger source ID value.
FunctionWindowsMobileKey The remapped scan key is associated with one of the following Windows
Mobile virtual keys:
• VK_APP1
• VK_APP2
• VK_APP3
• VK_APP4
• VK_APP5
• VK_APP6
• VK_DONE
Keyboard and Keyboard Remapping 6 - 11
Device Orientation Generates the virtual key code corresponding to…
Upright ARROW UP Rotated 90° clockwise ARROW RIGHT Rotated 180° ARROW DOWN Rotated 90°
counter-clockwise
ARROW LEFT
Function Description
SendArrowKey When this function is selected, each press of an arrow key generates a
virtual key code that depends on the orientation of the device in the vertical plane.
For example: When this feature is selected, pressing the ARROW UP key gives the following results:
FunctionUnknown

Unicode Values for Psion Proprietary Keys

Psion Key Unicode Value (Hexadecimal)
F0 E000
F1 E001
F2 E002
F3 E003
F4 E004
F5 E005
F6 E006
F7 E007
F8 E008
F9 E009
F10 E00A
F11 E00B
F12 E00C
F13 E00D
F14 E00E
F15 E00F
F16 E010
6 - 12 Mobile Devices Developers Guide
Psion Key Unicode Value (Hexadecimal)
F17 E011
F18 E012
F19 E013
F20 E014
F21 E015
F22 E016
F23 E017
F24 E018
F25 E019
F26 E01A
F27 E01B
F28 E01C
F29 E01D
F30 E01E
... ...
F64 E040
Menu Mode E041
View Mode E042
Split Screen E043
Decrement View E044
Increment View E045
Select First App E046
Toggle Split Screen E047
Accent Mode (Custom Characters) E048
Literal Mode E049
Reserved E04A
Pan Left E04B
Pan Right E04C
Pan Up E04D
Psion Key Unicode Value (Hexadecimal)
Pan Down E04E
Reserved (Legacy 7030 or Internal use) E04F
Reserved (Legacy 7030 or Internal use) E050
Reserved (Legacy 7030 or Internal use) E051
Reserved (Legacy 7030 or Internal use) E052
Reserved (Legacy 7030 or Internal use) E053
Reserved (Legacy 7030 or Internal use) E054
Macro 1 E055
Macro 2 E056
Macro 3 E057
Keyboard and Keyboard Remapping 6 - 13
Macro 4 E058
Macro 5 E059
Macro 6 E05A
Macro 7 E05B
Macro 8 E05C
Macro 9 E05D
Macro 10 E05E
... ...
Macro 30 E072
Left Arrow E073
Right Arrow E074
Up Arrow E075
Down Arrow E076
Shift Left Arrow E077
Shift Right Arrow E078
Shift Up Arrow E079
Shift Down Arrow E07A
Clear E07B
Reserved (Legacy 7030 or Internal use) E07C
6 - 14 Mobile Devices Developers Guide
Psion Key Unicode Value (Hexadecimal)
Calculator E07D
Keyboard Remap Toggle E07E
Pop-up Toolbar E07F
Reserved (Legacy 7030 or Internal use) E080
Reserved (Legacy 7030 or Internal use) E081
Reserved (Legacy 7030 or Internal use) E082
Reserved (Legacy 7030 or Internal use) E083
Reserved (Legacy 7030 or Internal use) E084
Reserved (Legacy 7030 or Internal use) E085
Reserved (Legacy 7030 or Internal use) E086
ANSI Smart Echo Suspend E087
TESS Reset E088
TESS Attention E089
TESS System Request E08A
TESS Rollup E08B
TESS Rolldown E08C
TESS Help E08D
TESS Print E08E
TESS RBS E08F
TESS PA1 E090
TESS PA2 E091
TESS PA3 E092
TESS Clear E093
TESS Test Request E094
TESS Session E095
TESS Host Reset E096
TESS Field Advance E097
TESS Field Backspace E098
TESS Field Exit E099
Psion Key Unicode Value (Hexadecimal)
TESS Field Minus E09A
TESS Home E09B
TESS Newline E09C
TESS Erase Input E09D
Reserved (Legacy 7030 or Internal use) E09E
Tab keypress (not ASCII Tab 0009) E09F
Select 2nd App E0A0
Select 3rd App E0A1
Select 4th App E0A2
Select 5th App E0A3
Keyboard and Keyboard Remapping 6 - 15
Select 6th App E0A4
Select 7th App E0A5
Select 8th App E0A6
Select 9th App E0A7

Windows Mobile, and Windows CE, Virtual Keys

For information on virtual key codes on Windows Mobile, and Windows CE, systems see msdn.micro-
soft.com/en-us/library/bb431750.aspx

Windows Mobile Virtual Keys on Psion Computers

Some virtual keys, that are available to applications running under Windows CE, are not passed onto applica­tions by Windows Mobile systems. These virtual keys are captured, and interpreted, by the Windows Mobile operating system.
Function keys
All the function keys, FN1 to FN64, are captured by Windows Mobile systems. On Psion computers the virtual key codes for the function keys are converted to private Unicode characters. See Unicode V alues for Psion
Proprietary Keys on page 6-11 for a list of these Unicode characters.
For example, when FN1 is pressed, the U+E001 character is passed to the application. This is 57345 in decimal. This results in the following string being passed to the application:
[ALT][0][5][7][3][4][5][ALT]

Getting Started with Key Remapping

For articles on IngenuityWorking that will guide you in getting started with key remapping see:
community.psion.com/tags/keyboard/noteDG
6 - 16 Mobile Devices Developers Guide

Code Samples for Key Remapping

For postings on IngenuityWorking that contain code samples that contain key remapping see:
community.psion.com/tags/keyboard/codeDG

Keyboard Remapping API Elements

C++: The keyboard remapping on all Psion computers is controlled using the PsionTeklogix::Keyboard::KeyRemapper class.
Java: The keyboard remapping on all Psion computers is controlled using the com.teklogix.keyboard.KeyRemapper class.
.NET: The keyboard remapping on all Psion computers is controlled using the PsionTeklogix.Keyboard.KeyRemapper class.

Key Insertion

Key insertion permits a command ke y or a modifi er key, with another optional related key, to be inserted into an input field. The following command keys and modifier keys can be inserted:
•Blue
•Orange
•Shift
Control
•Alt
Send unshifted code
Send shifted code
Contrast up
Before this feature is invoked, the focus must be on the relevant input field. This feature is typically used for the following, described in further detail below:
In application lock-down mode, displaying key presses in alpha mode.
Reversing an accidental press of the [BLUE] key or the [ORANGE] key.
As a keyboard wedge.
Application Lock-Down Mode
When an application is operating in lock-down mode, the Windows task bar is not visible. Normally, when a user is entering alpha characters on a computer with a numeric keyboard ([2ABC], [3DEF], etc.), the interme­diate characters are displayed on the Windows task bar until the desired character is selected. Key insertion allows an application to display the intermediate alphabetic characters directly in the input field.
Contrast down
Volume up
Volume down
Scanner on
Terminal off
Backlight cycle up
•Macro
Send unicode
Backlight brighter
Backlight dimmer
Backlight cycle down
System power state
Send DPad code
Trigger
Reversing Accidental Key Presses
If the [BLUE] or [ORANGE] key is accidently pressed by an operator duri ng dat a entry, the results can be unex­pected and can cause an input error. Detecting the accidental modifier key press, and reversing it within the application, ensures that the intended data is entered.
The Mobile Devices SDK provides functions that allow the [BLUE] key and the [ORANGE] key presses to be intercepted. The key insertion feature allows the application to reverse the setting of the key.
Keyboard Wedge
A keyboard wedge inserts characters into a field that is in focus. A single virtual key can be inserted into an input field by each call to the key insertion function. A command key, such as Send unshifted code accompa­nied by a virtual key code, wedges the associated virtual key into the input field.

Getting Started with Key Insertion

For articles on IngenuityWorking that will guide you in getting started with key insertion see:
community.psion.com/tags/keyboard/noteDG

Code Samples for Key Insertion

For postings on IngenuityWorking that contain code samples that contain key insertion see:
community.psion.com/tags/keyboard/codeDG

Key Insertion API Elements

Keyboard and Keyboard Remapping 6 - 17
C++: Key insertion on all Psion Windows computers is controlled using the PsionTeklogix::Keyboard namespace.
Java: Key insertion on all Psion Windows computers is controlled using the Keyboard class in the com.teklogix.keyboard package.
.NET: Key insertion on all Psion Windows computers is controlled using the Keyboard class in the PsionTeklogix.Keyboard namespace.

CHAPTER 7 PERIPHERALS

PERIPHERALS 7
Overview..................................................7-3
Definition of Terms ............................................7-3
Events...................................................7-3
Docking Station..............................................7-4
Tether Ports................................................7-4
Getting Started with Peripherals.....................................7-5
Code Samples for Peripherals......................................7-5
Peripheral API Elements in the Mobile Devices SDK..........................7-5
Peripheral API Elements in the Hardware Development Kits (HDK).................7-5

Overview

The Mobile Devices SDK enables applications to detect and control peripherals—such as docking stations, tethered devices, and cards inserted in card slots—attached to the following Psion computers:
753x
8515
8525 / 8530
Workabout Pro (7525)
Workabout Pro G2 (7527)
Workabout Pro3 (7527)
Ikôn (7505)
NEO (PX750) Docking stations and card slots for the following Psion computers are controlled through the
corresponding HDKs:
Peripherals 7 - 3
Omnii XT10 (7545XV)
Omnii XT15 (7545XA)
Omnii RT15 (7545XC)
EP10 (7515)

Definition of Terms

Some terms used in the chapter have precise definitions. They are defined in this section. Adaptor: This is a hardware component that supports the connection of the computer to a network or a periph-
eral device. An adaptor can be a printed circuit board, a PC card, or circuitry that is part of the mother board. Device driver: This is a soft ware component that per mits a co mputer system to communicate with a device. In
most cases, the driver also manipulates the hardware in order to transmit the data to the device. Peripheral or peripheral device: A device, such as a hard drive, printer, radio or modem, that is connected to
a computer and is controlled by the computer’s microprocessor.

Events

The following peripheral event types are detected by the Mobile Devices SDK:
Adaptor event
Docking station event
Interface event
Tether port event
Adaptor event: Occurs when the adaptor is connected to or removed from the slot. Docking station event: Occurs when the device is inserted into or removed from the docking station.
7 - 4 Mobile Devices Developers Guide
Interface event: Occurs when the device is connected to or removed from the slot/port. Tether port event: Occurs when the device is connected to or removed from the tether port.

Docking Station

The Mobile Devices SDK can detect the type of docking station the Psion computer is currently resting in. A docking station is an external hardware component. It can be one of the following:
Portable docking module
Battery charger
•Cradle
A docking station can include one or more additional serial ports, and USB ports.

Tether Ports

The Mobile Devices SDK can detect the type of peripheral device that is attached to the computer via an external tether port. It can also detect the attachment and removal of a tether port device.
Tether ports are available as follows:
Psion Computer Has A Tether Port
753x Yes 7535 Optional 8515 Yes 8525/8530 Yes Workabout Pro (7525) Yes Workabout Pro G2 (7527) Yes Workabout Pro3 (7527) Yes Ikôn (7505) Yes NEO (PX750) Yes Omnii XT10 (7545XV) No Omnii XT15 (7545XA) No Omnii RT15 (7545XC) No EP10 (7515) No VH10 No
The following types of device can be attached to a tether port:
Scanners
RFID readers
•Imagers

Getting Started with Peripherals

For articles on IngenuityWorking that will guide you in getting started with working with docking stations see:
community.psion.com/tags/docking station/noteDG
For articles on IngenuityWorking that will guide you in getting started with working with tether ports see:
community.psion.com/tags/tether port/noteDG

Code Samples for Peripherals

For postings on IngenuityWorking that contain code samples that use docking stations see:
community.psion.com/tags/docking station/codeDG
Peripherals 7 - 5
For postings on IngenuityWorking that contain code samples that use tether ports see:
community.psion.com/tags/tether port/codeDG

Peripheral API Elements in the Mobile Devices SDK

For the following Psion computers the peripherals are controlled through the Mobile Devices SDK:
753x
8515
8525 / 8530
Workabout Pro (7525)
Workabout Pro G2 (7527)
Workabout Pro3 (7527)
Ikôn (7505)
NEO (PX750)
C++: The peripherals are controlled using the PsionTeklogix::System::Peripherals namespace. Java: The peripherals are controlled using the com.teklogix.system package. .NET: The peripherals are controlled using the PsionTeklogix.Peripherals namespace.

Peripheral API Elements in the Hardware Development Kits (HDK)

For the following Psion computers the peripherals are controlled through software included in the Hardware Development Kits:
Omnii XT10 (7545XV)
Omnii XT15 (7545XA)
7 - 6 Mobile Devices Developers Guide
Omnii RT15 (7545XC)
EP10 (7515)
For information, on IngenuityWorking see:
Omnii HDK User Manual
EP10 Hand-Held Computer HDK User Manual

CHAPTER 8 CARD SLOTS

CARD SLOTS 8
Card Slots.................................................8-3
Controlling Power to the Card Slots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-5
Controlling Power Through the GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-5
Controlling Power Through the SDK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-5
Getting Started with Card Slots......................................8-6
Code Samples for Card Slots.......................................8-7
Card Slot Control API Elements.....................................8-7
Loading...