From: Arce, Abraham <hidden> Date: 2010-08-10 23:16:30
Hi,
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
My idea is to create an attribute "virtualized" to enable/disable virtualization in the second touchscreen
+ 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
* 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...
Best Regards
Abraham
Hi,
On Tue, Aug 10, 2010 at 06:16:27PM -0500, Arce, Abraham wrote:
Hi,
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
My idea is to create an attribute "virtualized" to enable/disable virtualization in the second touchscreen
+ 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
* 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.
--
Dmitry
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
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,
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
Hi Dan,
On Tue, Aug 17, 2010 at 09:06:00AM -0500, Murphy, Dan wrote:
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.
I am confused - you should have 2 device nodes for each pf your
controllers and so you should be able to figure out what device
particular event is coming from. What am I missing here?
Thanks.
--
Dmitry