On 11/13/19 3:15 PM, Hans Verkuil wrote: > Hi Vandana, > > I've been doing some testing with the Synaptics rmi4 driver that supports > the touch API. I finally got a result, but it requires a bit of work in the > vivid driver (and v4l2-ctl) because it means that vivid should use a different > touch format to match what this driver returns. > > Some background (based on what I understood from the driver): the Synaptics > driver is used for touchpads on laptops. The touch API itself is meant for > diagnostics only, and not for regular use. It 'captures' 21x12 points ('pixels') > as an image containing the capacitance measurements. > > It looks as if typically not all measuring points are available, instead only a > subset is actually returning valid values in this diagnostic module. > > Which points are available is reported in 'Function 55', which my Synaptics > touchpad does not support, so instead the touch API falls back to the default > of 21x12. Looking at the values I receive it appears that on my laptop only > part of the bottom set of points in the touchpad is made available (16x1). > Alternatively, this could be just a driver bug (I really do not trust the driver, > I doubt it sees much testing so it could very well be a regression). Yes, it is a regression. I am now able to get a proper 'picture' out of the driver: 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 -1 0 -1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 8 9 3 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 11 131 132 14 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 36 190 201 65 6 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 2 41 189 200 76 1 0 0 2 0 0 1 1 1 0 0 0 0 0 0 0 0 7 65 76 10 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 -1 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 -1 0 0 0 0 0 -1 0 0 0 0 0 This is my finger resting in the middle of the touchpad. Regards, Hans