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