zephyr/samples/drivers/kscan
..
boards
src
CMakeLists.txt
README.rst
prj.conf
sample.yaml

README.rst

.. zephyr:code-sample:: kscan
   :name: KSCAN
   :relevant-api: kscan_interface timer_apis

   Use the KSCAN API to read key presses and releases on a keyboard matrix.

Overview
********

This sample demonstrates how to use the :ref:`KSCAN API <kscan_api>`.
Callbacks are registered that will write to the console indicating KSCAN events.
These events indicate key presses and releases.

Building and Running
********************

The sample can be built and executed on boards supporting a Keyboard Matrix.
It requires a correct fixture setup. Please connect a Keyboard Matrix to
exercise the functionality (you need to obtain the right keymap from the vendor
because they vary across different manufactures).
For the correct execution of that sample in twister, add into boards's
map-file next fixture settings::

      - fixture: fixture_connect_keyboard

Sample output
=============

.. code-block:: console

   KSCAN test with a Keyboard matrix
   Note: You are expected to see several callbacks
   as you press and release keys!