Re: [PATCH] Input: wm97xx: add BTN_TOUCH event to wm97xx to use it with Android
From: Mike Rapoport <hidden>
Date: 2009-02-17 11:42:23
Mark Brown wrote:
On Tue, Feb 17, 2009 at 11:43:33AM +0200, Mike Rapoport wrote:quoted
Please CC me, I'm not subscribed to linux-inputquoted
Android expects BTN_TOUCH events when pen state changes. Add BTN_TOUCH event reporting to allow use of wm97xx touchscreen controller wiht Android devices.quoted
Signed-off-by: Mike Rapoport <redacted>Hrm. While this is obviously fine from a code point of view it seems like it'd be better to synthesise the BTN_TOUCH events in the input core if we want to do this - that way all drivers will behave consistently.
The difficulty here is to find out when BTN_TOUCH should be generated and what
should be its value. As far as I can see from different drivers, there's no
one-to-one correspondence between ABS_PRESSURE and BTN_TOUCH. For instance,
drivers/input/mouse/synaptics.c has
if (hw.z > 30) input_report_key(dev, BTN_TOUCH, 1);
if (hw.z < 25) input_report_key(dev, BTN_TOUCH, 0);
if (hw.z > 0) {
input_report_abs(dev, ABS_X, hw.x);
input_report_abs(dev, ABS_Y, YMAX_NOMINAL + YMIN_NOMINAL - hw.y);
}
input_report_abs(dev, ABS_PRESSURE, hw.z);
--
Sincerely yours,
Mike.