1.. _kscan_api: 2 3 4Keyboard Scan 5############# 6 7Overview 8******** 9The kscan driver (keyboard scan matrix) is used for detecting a key press in a 10connected matrix keyboard or any device with buttons such as joysticks. 11Typically, matrix keyboards are implemented using a two-dimensional 12configuration in order to sense several keys. This allows interfacing to 13many keys through fewer physical pins. Keyboard matrix 14drivers read the rows while applying power through the columns one at a time 15with the purpose of detecting key events. 16There is no correlation between the physical and electrical layout of keys. 17For, example, the physical layout may be one array of 16 or fewer keys, which 18may be electrically connected to a 4 x 4 array. In addition, key values are 19defined by a keymap provided by the keyboard manufacturer. 20 21Configuration Options 22********************* 23 24Related configuration options: 25 26* :kconfig:option:`CONFIG_KSCAN` 27 28API Reference 29************* 30 31.. doxygengroup:: kscan_interface 32