Re: Support for synaptic touchscreen in HTC dream
From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date: 2009-07-15 15:27:10
Also in:
lkml
Hi Pavel, On Wed, Jul 15, 2009 at 03:48:55PM +0200, Pavel Machek wrote:
On Tue 2009-07-14 10:52:12, Dmitry Torokhov wrote:quoted
On Tue, Jul 14, 2009 at 12:06:34PM +0200, Pavel Machek wrote:quoted
+ input_report_abs(ts->input_dev, ABS_PRESSURE, z); + input_report_abs(ts->input_dev, ABS_TOOL_WIDTH, w); + input_report_key(ts->input_dev, BTN_TOUCH, finger); + finger2_pressed = finger > 1 && finger != 7; + input_report_key(ts->input_dev, BTN_2, finger2_pressed); + if (finger2_pressed) { + input_report_abs(ts->input_dev, ABS_HAT0X, pos[1][0]); + input_report_abs(ts->input_dev, ABS_HAT0Y, pos[1][1]);ABS_HAT is pretty unusual for a touchscreen...It is trying to do something useful for multitouch. People actually use multitouch on HTC dream. I guess I can strip it from version being merged...
What about converting it to emit ABS_MT_* events added specifically for the multitouch protocol?
quoted
quoted
+ ts->input_dev->name = "synaptics-rmi-touchscreen";BUS_I2C, etc.I figured out BUS_I2C. Anything else I need to set?
No, just set what you know. It is purely to help userspace identify the device.
quoted
quoted
+ if (client->irq) { + ret = request_irq(client->irq, synaptics_ts_irq_handler, + 0, client->name, ts);I think threaded IRQ will fit the bill and will take care of IRQ/workqueue shutdown races. Of course you still need to use workqueue if polling.I guess we'll just strip polling version for now?
Well, is it useable in polling mode? Do we forsee any devices using it that way? If no then shure, strip it out. -- Dmitry