SPRUI30H November 2015 – May 2024 DRA745 , DRA746 , DRA750 , DRA756
When running in hardware (default) decoding mode (the KBD_CTRL[1] NSOFTWARE_ MODE bit is set to 1), the keyboard controller offers several functional modes; these modes are summarized in Table 28-7. The keyboard interrupt depends on the configuration in the keyboard controller interrupt-enable register (KBD_IRQENABLE_SET). If the event is enabled (bit 0 is set to 1), an interrupt is generated when the sequencer detects an event. Even if this interrupt is disabled, the flag status of the keyboard controller interrupt-status register (KBD_IRQSTATUS) is updated.
Functional Mode | Associated Interrupt | Associated Timer Value | Description | Control |
---|---|---|---|---|
Keyboard event | Event interrupt | Debouncing value | Occurs when a key is pressed or released Always enabled | KBD_CTRL[8:5] bits must be set to 0 to disable all the other features. |
Long key | Long-key interrupt | Long-key value | Used to detect a key that is pressed for a long time Should be associated with the long-key time-out function or repeat mode | KBD_CTRL[5] LONG_KEY |
Repeat key | Long-key interrupt | Long-key value | Generates an interrupt every long-key delay No time-out can be associated. | KBD_CTRL[8] REPEAT_MODE |
Empty time-out | Time-out interrupt | Empty time-out value | Interrupt generated if no key is pressed during an empty time-out period. | KBD_CTRL[6] TIMEOUT_EMPTY |
Long-key time-out | Time-out interrupt | Long-key time-out value | Associated with the long-key function Generated after a long-key interrupt if no event occurs during a long-key time-out period | KBD_CTRL[7] TIMEOUT_LONG_KEY |
Each mode can be activated/deactivated by setting the corresponding bits (5, 6, 7, and 8) in the KBD_CTRL register with the appropriate values (for more information, see Section 28.6, Keyboard Controller Register Manual).