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