build/dts/api/bindings/input/input-keymap.html · build/dts/api/bindings/input/input-keymap.rst 공식 원문 ↗

Zephyr 3.7.0 · Devicetree · Input · Generic or vendor-independent

Input Row-Column Keymap 바인딩

Keyboard matrix의 row·column event를 Zephyr key code로 mapping를 정의하는 3개 property schema입니다.

Official pathbuild/dts/api/bindings/input/input-keymap.html
Source filebuild/dts/api/bindings/input/input-keymap.rst
Source versionZephyr 3.7.0
TranslationFull · reviewed

본문 기준: Zephyr 3.7.0 LTS3 · 이후 유지보수 패치는 별도입니다.

Part 1

요약·해설

공식 원문 116줄과 property 3행을 전수 대조해 MATRIX_KEY encoding·required row/column geometry·empty base-property boundary 제약을 보존했습니다.

Compatible

input-keymap

Vendor

Generic or vendor-independent

Properties

3 rows

Interface

Parent row-column events → key events

Part 2

접을 수 있는 영어 원문 전체

영어 원문 전체 펼치기
원문 SHA-256 9E034ADC2ED30FD45E5E485DDE7CDE2293EAE12D1D69CE02E08B2D42EAF682CB
:orphan:

.. raw:: html

    <!--
    FIXME: do not limit page width until content uses another representation
    format other than tables
    -->
    <style>.wy-nav-content { max-width: none; !important }</style>

.. dtcompatible:: input-keymap
.. _dtbinding_input_keymap:

input-keymap
############

Vendor: :ref:`Generic or vendor-independent <dt_no_vendor>`

Description
***********



.. code-block:: none

   Row-column to key mapper

   Listens for row-column events from the parent device and reports key events.

   Example configuration:

   #include <zephyr/dt-bindings/input/input-event-codes.h>
   #include <zephyr/dt-bindings/input/keymap.h>

   kbd {
       ...
       keymap {
           compatible = "input-keymap";
           keymap = <
               MATRIX_KEY(0, 0, INPUT_KEY_1)
               MATRIX_KEY(0, 1, INPUT_KEY_2)
               MATRIX_KEY(0, 2, INPUT_KEY_3)
               MATRIX_KEY(1, 0, INPUT_KEY_4)
               MATRIX_KEY(1, 1, INPUT_KEY_5)
               MATRIX_KEY(1, 2, INPUT_KEY_6)
               MATRIX_KEY(2, 0, INPUT_KEY_7)
               MATRIX_KEY(2, 1, INPUT_KEY_8)
               MATRIX_KEY(2, 2, INPUT_KEY_9)
           >;
           row-size = <3>;
           col-size = <3>;
       };
   };

Properties
**********

.. tabs::

   .. group-tab:: Node specific properties

      Properties not inherited from the base binding file.

      .. list-table::
         :widths: 1 1 4
         :header-rows: 1

         * - Name
           - Type
           - Details

         * - ``keymap``
           - ``array``
           - .. code-block:: none

                List of codes, using the MATRIX_KEY() macro.



             This property is **required**.

         * - ``row-size``
           - ``int``
           - .. code-block:: none

                The number of rows in the keymap.



             This property is **required**.

         * - ``col-size``
           - ``int``
           - .. code-block:: none

                The number of columns in the keymap.



             This property is **required**.



   .. group-tab:: Deprecated node specific properties

      Deprecated properties not inherited from the base binding file.

      (None)

   .. group-tab:: Base properties

      Properties inherited from the base binding file, which defines
      common properties that may be set on many nodes. Not all of these
      may apply to the "input-keymap" compatible.

      (None)


Part 3

한국어 전문 번역

input-keymap

Vendor: Generic or vendor-independent

공식 설명

Row-column to key mapper

Listens for row-column events from the parent device and reports key events.

Example configuration:

#include <zephyr/dt-bindings/input/input-event-codes.h>
#include <zephyr/dt-bindings/input/keymap.h>

kbd {
    ...
    keymap {
        compatible = "input-keymap";
        keymap = <
            MATRIX_KEY(0, 0, INPUT_KEY_1)
            MATRIX_KEY(0, 1, INPUT_KEY_2)
            MATRIX_KEY(0, 2, INPUT_KEY_3)
            MATRIX_KEY(1, 0, INPUT_KEY_4)
            MATRIX_KEY(1, 1, INPUT_KEY_5)
            MATRIX_KEY(1, 2, INPUT_KEY_6)
            MATRIX_KEY(2, 0, INPUT_KEY_7)
            MATRIX_KEY(2, 1, INPUT_KEY_8)
            MATRIX_KEY(2, 2, INPUT_KEY_9)
        >;
        row-size = <3>;
        col-size = <3>;
    };
};

Row-column to key mapper

Parent device가 보내는 row-column event를 듣고 key event를 보고합니다. keymap, row-size, col-size 세 property가 모두 필수입니다.

keymap의 각 값은 MATRIX_KEY(row, column, INPUT_KEY_*) macro로 row·column·input code를 encoding합니다. 공식 예는 3×3 matrix를 숫자 key 1~9에 연결합니다.

이 공식 page의 base property 표는 비어 있고 property 총수도 3개입니다. Description 예제에는 compatible = "input-keymap"가 있지만 표에 없는 compatible·reg 행을 번역 표에 새로 만들지 않았습니다.

속성 전체 번역

공식 node-specific 3개 property를 번역했으며 base property 표는 비어 있습니다.

노드 전용 속성 · 3개
이름형식설명과 제약
keymaparrayMATRIX_KEY() macro로 encoding한 row·column·input code 배열입니다.
필수
row-sizeintKeymap 또는 keyboard matrix의 row 수입니다.
필수
col-sizeintKeymap 또는 keyboard matrix의 column 수입니다.
필수

Source

출처

영어 원문에는 문단, 문서 지시문, 표, 코드, 코드 심벌, 경로를 그대로 보존했습니다.