[RFC v1 0/4] Input: support virtual objects on touchscreens

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Some touchscreens are shipped with a physical layer on top of them where
a number of buttons and a resized touchscreen surface might be available.

In order to generate proper key events by overlay buttons and adjust the
touch events to a clipped surface, these patches offer a documented,
device-tree-based solution by means of helper functions.
An implementation for a specific touchscreen driver is also included.

The functions in ts-virtobj provide a simple workflow to acquire
physical objects from the device tree, map them into the device driver
structures as virtual objects and generate events according to
the object descriptions.

This solution has been tested with a JT240MHQS-E3 display, which uses
the st1624 as a touchscreen and provides two overly buttons and a frame
that clips its effective surface.

Javier Carrasco (4):
  Input: ts-virtobj - Add touchsreen virtual object handling to the core
  dt-bindings: touchscreen: add virtual-touchscreen and virtual-buttons
    properties
  Input: st1232 - add virtual touchscreen and buttons handling
  dt-bindings: input: touchscreen: st1232: add virtual objects to the
    example

 .../input/touchscreen/sitronix,st1232.yaml    |  28 ++
 .../input/touchscreen/touchscreen.yaml        |  54 ++++
 drivers/input/Makefile                        |   1 +
 drivers/input/touchscreen/st1232.c            |  41 ++-
 drivers/input/ts-virtobj.c                    | 305 ++++++++++++++++++
 include/linux/input/ts-virtobj.h              |  59 ++++
 6 files changed, 478 insertions(+), 10 deletions(-)
 create mode 100644 drivers/input/ts-virtobj.c
 create mode 100644 include/linux/input/ts-virtobj.h

-- 
2.37.2




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux