Primary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Benjamin Cabé f6a4217a88 doc: driver: samples: Update driver samples to use new Sphinx extension 2 years ago
..
boards samples: drivers: kscan: Replace prj_<board> files with overlays 2 years ago
src samples, tests, boards: Switch main return type from void to int 2 years ago
CMakeLists.txt cmake: increase minimal required version to 3.20.0 4 years ago
README.rst doc: driver: samples: Update driver samples to use new Sphinx extension 2 years ago
prj.conf samples: drivers: kscan: enable logging, and add RK055HDMIPI4M shield 2 years ago
sample.yaml input: convert gt911 from kscan 2 years ago

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!