Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Skip to content
Commit 6d4d290e authored by Shantanu Jain's avatar Shantanu Jain Committed by Himanshu Aggarwal
Browse files

input: synaptics_dsx: add support for 2D sensor for soft-keys



The touchscreen controllers are field-swappable on both customer
devices and internal reference devices. It is possible to have
multiple Synaptics touch controllers where each controller would
support softkey in a different way. While some touch controllers
support 2-dimensional touch sensor, some others support capacitative
button(0D) sensing. In the former case, the touch sensor reports
native X-Y touch coordinates of the touch sensor in the soft key region.
This is implemented by RMI4 function F11 or F12 and software needs to
translate these coordinates to keycodes. In the latter case, the touch
sensor directly reports the key codes and hence there is no need for
software to do any translation. This is implemented by RMI4 function
F1A or F19.

The current architecture of Synaptics touchscreen driver does not have
support to disambiguate between more than two Synaptics touch controllers
that support 2-dimensional touch sensor for soft keys. To support
this functionality in driver, a device-tree property is defined that
describes the key codes for the soft-key area. The driver calculates
the total soft key area based on the display resolution and touch sensor
dimensions. Based on the total soft-key area and number of keys to be
supported, it calculates the area for each of the soft-keys. It exports
this information to userspace by populating a sysfs file. User-space
programs can then translate the touch coordinates received to key codes.

Change-Id: I99876527660d0be7cef86e88d7583e331159e7eb
Signed-off-by: default avatarHimanshu Aggarwal <haggarwa@codeaurora.org>
Signed-off-by: default avatarShantanu Jain <shjain@codeaurora.org>
parent 03328cdf
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment