2020-03-14 02:02:31 +08:00
|
|
|
.. _kscan_api:
|
2019-10-08 04:48:45 +08:00
|
|
|
|
|
|
|
|
2023-03-28 22:10:21 +08:00
|
|
|
Keyboard Scan
|
|
|
|
#############
|
2019-10-08 04:48:45 +08:00
|
|
|
|
|
|
|
Overview
|
|
|
|
********
|
|
|
|
The kscan driver (keyboard scan matrix) is used for detecting a key press in a
|
|
|
|
connected matrix keyboard or any device with buttons such as joysticks.
|
|
|
|
Typically, matrix keyboards are implemented using a two-dimensional
|
|
|
|
configuration in order to sense several keys. This allows interfacing to
|
|
|
|
many keys through fewer physical pins. Keyboard matrix
|
|
|
|
drivers read the rows while applying power through the columns one at a time
|
|
|
|
with the purpose of detecting key events.
|
|
|
|
There is no correlation between the physical and electrical layout of keys.
|
|
|
|
For, example, the physical layout may be one array of 16 or fewer keys, which
|
|
|
|
may be electrically connected to a 4 x 4 array. In addition, key values are
|
|
|
|
defined by a keymap provided by the keyboard manufacturer.
|
|
|
|
|
|
|
|
Configuration Options
|
|
|
|
*********************
|
|
|
|
|
|
|
|
Related configuration options:
|
|
|
|
|
2022-02-08 00:27:43 +08:00
|
|
|
* :kconfig:option:`CONFIG_KSCAN`
|
2019-10-08 04:48:45 +08:00
|
|
|
|
|
|
|
API Reference
|
|
|
|
*************
|
|
|
|
|
|
|
|
.. doxygengroup:: kscan_interface
|