| .. _kscan_api: |
| |
| |
| KSCAN |
| ##### |
| |
| 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: |
| |
| * :kconfig:option:`CONFIG_KSCAN` |
| |
| API Reference |
| ************* |
| |
| .. doxygengroup:: kscan_interface |