0001 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
0002
0003 .. _touch:
0004
0005 *************
0006 Touch Devices
0007 *************
0008
0009 Touch devices are accessed through character device special files named
0010 ``/dev/v4l-touch0`` to ``/dev/v4l-touch255`` with major number 81 and
0011 dynamically allocated minor numbers 0 to 255.
0012
0013 Overview
0014 ========
0015
0016 Sensors may be Optical, or Projected Capacitive touch (PCT).
0017
0018 Processing is required to analyse the raw data and produce input events. In
0019 some systems, this may be performed on the ASIC and the raw data is purely a
0020 side-channel for diagnostics or tuning. In other systems, the ASIC is a simple
0021 analogue front end device which delivers touch data at high rate, and any touch
0022 processing must be done on the host.
0023
0024 For capacitive touch sensing, the touchscreen is composed of an array of
0025 horizontal and vertical conductors (alternatively called rows/columns, X/Y
0026 lines, or tx/rx). Mutual Capacitance measured is at the nodes where the
0027 conductors cross. Alternatively, Self Capacitance measures the signal from each
0028 column and row independently.
0029
0030 A touch input may be determined by comparing the raw capacitance measurement to
0031 a no-touch reference (or "baseline") measurement:
0032
0033 Delta = Raw - Reference
0034
0035 The reference measurement takes account of variations in the capacitance across
0036 the touch sensor matrix, for example manufacturing irregularities,
0037 environmental or edge effects.
0038
0039 Querying Capabilities
0040 =====================
0041
0042 Devices supporting the touch interface set the ``V4L2_CAP_VIDEO_CAPTURE`` flag
0043 and the ``V4L2_CAP_TOUCH`` flag in the ``capabilities`` field of
0044 :c:type:`v4l2_capability` returned by the
0045 :ref:`VIDIOC_QUERYCAP` ioctl.
0046
0047 At least one of the read/write or streaming I/O methods must be
0048 supported.
0049
0050 The formats supported by touch devices are documented in
0051 :ref:`Touch Formats <tch-formats>`.
0052
0053 Data Format Negotiation
0054 =======================
0055
0056 A touch device may support any I/O method.