Lines Matching +full:input +full:- +full:event +full:- +full:codes
3 Input chapter
6 The input subsystem provides an API for dispatching input events from input
9 Input Events
12 The subsystem is built around the :c:struct:`input_event` structure. An input
13 event represents a change in an individual event entity, for example the state
16 The :c:struct:`input_event` structure describes the specific event, and
19 multi-axis device have been reported.
21 Input Devices
24 An input device can report input events directly using :c:func:`input_report`
25 or any related function; for example buttons or other on-off input entities
32 used to indicate which device reported the event and can be used by subscribers
34 associated with the event, it can be set to ``NULL``, in which case only
35 subscribers with no device filter will receive the event.
47 The subsystem can operate synchronously or by using an event queue, depending
48 on the :kconfig:option:`CONFIG_INPUT_MODE` option. If the input thread is used,
49 all the events are added to a queue and executed in a common ``input`` thread.
50 If the thread is not used, the callback are invoked directly in the input
54 footprint, or in a complex application with an existing event model, where the
55 callback is just a wrapper to pipe back the event in a more complex application
56 specific event system.
61 A common use case for input devices is to use them to generate HID reports. For
63 :c:func:`input_to_hid_modifier` functions can be used to map input codes to HID
64 codes and modifiers.
69 Input devices generating X/Y/Touch events can be used in existing applications
72 :dtcompatible:`zephyr,kscan-input` node as a child node of the corresponding
73 input device and pointing the ``zephyr,keyboard-scan`` chosen node to the
76 .. code-block:: devicetree
79 zephyr,keyboard-scan = &kscan_input;
84 kscan_input: kscan-input {
85 compatible = "zephyr,kscan-input";
92 - :dtcompatible:`adc-keys`: for buttons connected to a resistor ladder.
93 - :dtcompatible:`analog-axis`: for absolute position devices connected to an
94 ADC input (thumbsticks, sliders...).
95 - :dtcompatible:`gpio-kbd-matrix`: for GPIO-connected keyboard matrices.
96 - :dtcompatible:`gpio-keys`: for switches directly connected to a GPIO,
98 - :dtcompatible:`gpio-qdec`: for GPIO-connected quadrature encoders.
99 - :dtcompatible:`input-keymap`: maps row/col/touch events from a keyboard
101 - :dtcompatible:`zephyr,input-longpress`: listens for key events, emits events
103 - :dtcompatible:`zephyr,input-double-tap`: listens for key events, emits events
104 for input double taps
105 - :dtcompatible:`zephyr,lvgl-button-input`
106 :dtcompatible:`zephyr,lvgl-encoder-input`
107 :dtcompatible:`zephyr,lvgl-keypad-input`
108 :dtcompatible:`zephyr,lvgl-pointer-input`: listens for input events and
109 translates those to various types of LVGL input devices.
117 gpio-kbd.rst
125 Input Event Definitions