Thread (5 messages) 5 messages, 3 authors, 2010-08-20

RE: Dual touchscreen implementation

From: Murphy, Dan <hidden>
Date: 2010-08-17 14:06:03

Abraham
	My thoughts would be similar to Dmitry's.  We should let the user space figure it out.  Then the application itself can combine and render the touches as a contiguous touch screen or as an independent touch.

But we would probably need a way for the kernel driver to identify which touch controller that the information came from.

For multi touch we may be able to use ABS_MT_TRACKING_ID for passing up the controller ID but there is not really a good code for the standard ABS axes.  Maybe we can make one called ABS_TRACKING_ID to keep with the theme.

This way the user space and use that to know where it came from.

Or Dmitry if you have any patches or thoughts let me know.

Dan

-----Original Message-----
From: linux-input-owner@vger.kernel.org [mailto:linux-input-owner@vger.kernel.org] On Behalf Of Arce, Abraham
Sent: Friday, August 13, 2010 3:40 AM
To: Dmitry Torokhov
Cc: linux-input@vger.kernel.org
Subject: RE: Dual touchscreen implementation

Hi Dmitry,
From: Dmitry Torokhov [mailto:dmitry.torokhov@gmail.com]
quoted
I am working in a board with dual display/touchscreen. I have searched
within drivers/input/touchscreen for some examples on how to implement the
functionality to configure driver and behave as a single touchscreen if 2
sensors are present, no specific example found
quoted
My idea is to create an attribute "virtualized" to enable/disable
virtualization in the second touchscreen
quoted
+ static DEVICE_ATTR(virtualized, S_IRUGO | S_IWUSR,
+ 		   syn_show_attr_virtualized, syn_store_attr_virtualized);


In the function which reports the values to input subsystem we can then
decide to make the second one as an extension of the first touchscreen if
quoted
* virtualized is set to 1
* and touchscreen sensor is the second one


 + if (ts->virtualized && dev_name(&sensor->dev == '2')
 +	data->x = ts->touch_caps.max_x + d->x;
 [..]
 + input_report_abs(idev, ABS_x, data->x);


I'd appreciate any comments on this approach...
Does the kernel have to do that? I'd say it is userspace task to
[re]interpret events.
That was a first thinking however your point makes more sense. I'll explore and get more information on how Ubuntu or Android may implement it and get back with final resolution.

Thanks a lot!

Best Regards
Abraham

--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help