This book describes the portions of Palm OS® that receive user input and send it to your application. There are several ways that a user provides input:
- Writing letters, numbers, or symbols in the input area
- Pressing a hardware button on the device
- Tapping the pen (or stylus) on the digitizer
This book covers the Palm OS managers that receive the button presses, pen strokes, and pen taps and translate them into the events that your application receives.
This book focuses on the low-level managers. It does not cover UI controls that receive user input. For information on UI controls, see Exploring Palm OS: User Interface. It also does not cover how an application should respond to textual input. See Exploring Palm OS: Text and Localization for information on receiving text-based input.
IMPORTANT: The Exploring Palm OS series is intended for developers creating native applications for Palm OS Cobalt. If you are interested in developing applications that work through PACE and that also run on earlier Palm OS releases, read the latest versions of the Palm OS Programmer's API Reference and Palm OS Programmer's Companion instead.
Who Should Read This Book
You should read this book if you are a Palm OS software developer and you want to do one of the following:
- Write an application that works on devices that have a dynamic input area (one that the user can collapse and expand) and has some level of control over the input area.
- Write a pinlet, which is an executable that displays its user interface in the dynamic input area. The pinlet's job is to receive pen events in the input area and translate them into character input.
- Write a game or some other application that needs input from the hardware buttons.
- Replace the handwriting recognition engine with one of your own.
You can write a full-featured application without using any of the API described in this book. Beginning Palm OS developers may want to delay reading this book until they gain a better understanding of the fundamentals of Palm OS application development. Instead, consider reading Exploring Palm OS: Programming Basics to gain a good understanding of event management and Exploring Palm OS: User Interface to learn about events generated by standard UI controls. Come back to this book only when you find you need more control than the higher level managers provide.
What This Book Contains
This book contains the following information:
- Part I contains conceptual information and how-to information.
- Chapter 1, "Receiving Input," introduces you to how a Palm Powered™ device receives user input and sends it to your application.
- Chapter 2, "Working with the Dynamic Input Area," explains how an application may interact with the dynamic input area or the pinlet that runs in the dynamic input area.
- Chapter 3, "Customizing the Dynamic Input Area," describes how to create a pinlet that runs in the dynamic input area and how you can replace the handwriting recognition engine if you want to.
- Chapter 4, "Customizing Hardware Input," describes how you might customize the hard keys for your application's use.
- Part II contains reference information organized into the following chapters:
- Chapter 5, "Low-Level Events Reference," describes the lowest level events that an application works with: the key events and the pen events.
- Chapter 6, "Graffiti 2 Reference," describes the function that displays the Graffiti® 2 reference dialog.
- Chapter 7, "Handwriting Recognition Engine," describes the APIs for the handwriting recognition engine.
- Chapter 8, "Hard Keys Reference," describes the APIs that control the hardware buttons.
- Chapter 9, "Keyboard," describes the APIs for the standard keyboard dialog.
- Chapter 10, "Pen Input Manager," describes the APIs for the Pen Input Manager, which controls the pinlet and the dynamic input area.
- Chapter 11, "Pinlet," describes the APIs that you must implement if you write a pinlet.
- Chapter 12, "Shift Indicator," describes the APIs for the shift indicator.
Changes to This Book
- Clarified how to change shift indicator location in
GsiSetLocation()
description.
The Exploring Palm OS Series
This book is a part of the Exploring Palm OS series. Together, the books in this series document and explain how to use the APIs exposed to third-party developers by the fully ARM-native versions of Palm OS, beginning with Palm OS Cobalt. Each of the books in the Exploring Palm OS series explains one aspect of the Palm operating system, and contains both conceptual and reference documentation for the pertinent technology.
As of this writing, the complete Exploring Palm OS series consists of the following titles:
- Exploring Palm OS: Programming Basics
- Exploring Palm OS: Memory, Databases, and Files
- Exploring Palm OS: User Interface
- Exploring Palm OS: User Interface Guidelines (coming soon)
- Exploring Palm OS: System Management
- Exploring Palm OS: Text and Localization
- Exploring Palm OS: Input Services
- Exploring Palm OS: High-Level Communications
- Exploring Palm OS: Low-Level Communications
- Exploring Palm OS: Telephony and SMS
- Exploring Palm OS: Multimedia
- Exploring Palm OS: Security and Cryptography
- Exploring Palm OS: Creating a FEP (coming soon)
- Exploring Palm OS: Porting Applications to Palm OS Cobalt
Additional Resources
- Documentation
PalmSource publishes its latest versions of documents for Palm OS developers at
- Training
PalmSource and its partners host training classes for Palm OS developers. For topics and schedules, check
- Knowledge Base
The Knowledge Base is a fast, web-based database of technical information. Search for frequently asked questions (FAQs), sample code, white papers, and the development documentation at