Wakeup Keys - Intermec CK30 Service Manual

Hide thumbs Also See for CK30:
Table of Contents

Advertisement

Chapter 4 — Theory of Operation
Typical Keypad Scanning

Wakeup Keys

68
While the keypad is idle, software drives all eight-column lines low and
waits for an interrupt indicating a key press or release. Software then
checks KEY_RET7:0 to identify the row in which a key changed state and
debounces the key change for approximately 8 ms. If the key state is stable,
software polls the keys by driving column lines KEY_DRV7:0 low one at a
time until the key column is identified. The driver then drives all the
column lines low again, re-enables the interrupt, looks up the key scan
codes and sends it to the operating system.
During Suspend, the eight-column drivelines are normally set to their Hi-
Z state. See "Wakeup Keys" on the next page for exceptions.
No diodes are included in the keypad matrix for key chording support or
multiple key rollover detection, so keypad usage is limited to the "sticky
key" model, where modifier keys are pressed and released before pressing
the modified key. This method does not preclude sensing two keys down
simultaneously, but the driver software does currently not support this.
Since the keypad matrix rows are read through the FPGA, the keypad is
not functional at boot or resume time until the FPGA is downloaded,
initialized, and running. However, by routing one keypad row line
(KEY_RET0) straight to PXA255 GPIO1 (as well as to the FPGA), the
CK30 enables a small number of keys to serve as system wakeup keys.
CK30 Handheld Computer Service Manual

Advertisement

Table of Contents
loading

Table of Contents