From: Benjamin Tissoires <hidden> Date: 2011-11-23 10:01:32
Hi Guys,
Here are some multitouch updates.
Jiri, the first one is already in your upstream-fixes branch, but not in
your for-next branch...
Patch 0002 will help end-users to test their device without recompiling the
hid-multitouch between each test.
Patches 0003-0008 are focused on eGalax:
* I made some cleanup in the #defines for the PIDS.
* I removed the MT_QUIRK_EGALAX_XYZ_FIXUP as I understood why it was needed
* I also removed the .maxcontact field in EGALAX as it is not necessary
(it was tested on 3 devices: Acer Iconia W500 by Marek, 0xa001 by Cedric,
and Windpad 110W by me)
* I added a few new devices (I included the one reported by Marek and I kept
his "From")
* I included the new protocol for a001 devices (reported by Cedric)
Cheers,
Benjamin
From: Benjamin Tissoires <hidden> Date: 2011-11-23 10:01:29
From: Marek Vasut <redacted>
This patch adds USB ID for the touchpanel in Acer Iconia W500. The panel
supports up to five fingers, therefore the need for a new addition of panel
types.
originally Signed-off-by: Marek Vasut [off-list ref]
CC: Marek Vasut <redacted>
Signed-off-by: Benjamin Tissoires <redacted>
---
drivers/hid/hid-core.c | 1 +
drivers/hid/hid-ids.h | 1 +
drivers/hid/hid-multitouch.c | 3 +++
3 files changed, 5 insertions(+), 0 deletions(-)
From: Marek Vasut <hidden> Date: 2011-11-23 10:46:55
quoted hunk
From: Marek Vasut <redacted>
This patch adds USB ID for the touchpanel in Acer Iconia W500. The panel
supports up to five fingers, therefore the need for a new addition of panel
types.
originally Signed-off-by: Marek Vasut [off-list ref]
CC: Marek Vasut <redacted>
Signed-off-by: Benjamin Tissoires <redacted>
---
drivers/hid/hid-core.c | 1 +
drivers/hid/hid-ids.h | 1 +
drivers/hid/hid-multitouch.c | 3 +++
3 files changed, 5 insertions(+), 0 deletions(-)
From: Benjamin Tissoires <hidden> Date: 2011-11-23 11:32:54
On Wed, Nov 23, 2011 at 11:46, Marek Vasut [off-list ref] wrote:
quoted
From: Marek Vasut <redacted>
This patch adds USB ID for the touchpanel in Acer Iconia W500. The panel
supports up to five fingers, therefore the need for a new addition of panel
types.
originally Signed-off-by: Marek Vasut [off-list ref]
CC: Marek Vasut <redacted>
Signed-off-by: Benjamin Tissoires <redacted>
---
drivers/hid/hid-core.c | 1 +
drivers/hid/hid-ids.h | 1 +
drivers/hid/hid-multitouch.c | 3 +++
3 files changed, 5 insertions(+), 0 deletions(-)
It seems good, but how do you detect the number of fingers the panel can handle?
That's autodetected now?
Yes, I removed the .maxcontact field it in patch 4/8 in the series.
Cheers,
Benjamin
M
--
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
--
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
From: Marek Vasut <redacted>
This patch adds USB ID for the touchpanel in Acer Iconia W500. The panel
supports up to five fingers, therefore the need for a new addition of panel
types.
originally Signed-off-by: Marek Vasut [off-list ref]
Before taking this, I'd like to have the credits / signoffs for this patch
clarified.
Thanks,
--
Jiri Kosina
SUSE Labs
From: Benjamin Tissoires <hidden> Date: 2011-11-23 11:36:18
On Wed, Nov 23, 2011 at 12:28, Jiri Kosina [off-list ref] wrote:
On Wed, 23 Nov 2011, Benjamin Tissoires wrote:
quoted
From: Marek Vasut <redacted>
This patch adds USB ID for the touchpanel in Acer Iconia W500. The panel
supports up to five fingers, therefore the need for a new addition of panel
types.
originally Signed-off-by: Marek Vasut [off-list ref]
Before taking this, I'd like to have the credits / signoffs for this patch
clarified.
Sorry for that,
I cherry-picked Marek's patch and do some modifications.
I wanted to keep his "from" as he already sent 2 patches that were
lost in the LKML (mostly because of my fault).
So, in this one, you have at least my Signed-off-by.
Marek, will you just answer to this mail with your signed-off-by?
Cheers,
Benjamin
Thanks,
--
Jiri Kosina
SUSE Labs
--
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
--
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
From: Marek Vasut <hidden> Date: 2011-11-23 12:10:36
On Wed, Nov 23, 2011 at 12:28, Jiri Kosina [off-list ref] wrote:
quoted
On Wed, 23 Nov 2011, Benjamin Tissoires wrote:
quoted
From: Marek Vasut <redacted>
This patch adds USB ID for the touchpanel in Acer Iconia W500. The panel
supports up to five fingers, therefore the need for a new addition of
panel types.
originally Signed-off-by: Marek Vasut [off-list ref]
Before taking this, I'd like to have the credits / signoffs for this
patch clarified.
Sorry for that,
I cherry-picked Marek's patch and do some modifications.
I wanted to keep his "from" as he already sent 2 patches that were
lost in the LKML (mostly because of my fault).
So, in this one, you have at least my Signed-off-by.
Marek, will you just answer to this mail with your signed-off-by?
Cheers,
Benjamin
I don't really care about who should be the author here, so here you have my SoB
line.
Signed-off-by: Marek Vasut <redacted>
From: Benjamin Tissoires <hidden> Date: 2011-11-23 10:01:31
Some eGalax devices are 4 or 5 fingers touches, wereas others are 2.
This patch removes the limit in which all eGalax presents 2 touches.
Signed-off-by: Benjamin Tissoires <redacted>
---
drivers/hid/hid-multitouch.c | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)
From: Benjamin Tissoires <hidden> Date: 2011-11-23 10:01:59
This is just a renaming of USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH{N}
to USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_{PID} to handle more eGalax
devices.
Signed-off-by: Benjamin Tissoires <redacted>
---
drivers/hid/hid-core.c | 12 ++++++------
drivers/hid/hid-ids.h | 12 ++++++------
drivers/hid/hid-multitouch.c | 24 ++++++++++++------------
3 files changed, 24 insertions(+), 24 deletions(-)
From: Benjamin Tissoires <hidden> Date: 2011-11-23 10:02:19
The previous implementation of eGalax protocol was not satisfying as
we had to manually set x/y ranges as they were corrupted after reading
the report descriptor.
Indeed, the report descriptor provided a stylus input interface which
override the correct values.
This patch omits this input, thus leaving the correct value untouched,
and the MT_QUIRK_EGALAX_XYZ_FIXUP not required anymore.
Signed-off-by: Benjamin Tissoires <redacted>
---
drivers/hid/hid-multitouch.c | 17 +++++++----------
1 files changed, 7 insertions(+), 10 deletions(-)
@@ -253,7 +251,6 @@ static int mt_input_mapping(struct hid_device *hdev, struct hid_input *hi,{structmt_device*td=hid_get_drvdata(hdev);structmt_class*cls=&td->mtclass;-__s32quirks=cls->quirks;/* Only map fields from TouchScreen or TouchPad collections.*Weneedtoignorefieldsthatbelongtoothercollections
@@ -265,13 +262,17 @@ static int mt_input_mapping(struct hid_device *hdev, struct hid_input *hi,elsereturn0;+/* eGalax devices provide a Digitizer.Stylus input which overrides+*thecorrectDigitizers.FingerX/Yranges.+*Let'sjustignorethisinput.*/+if(field->physical==HID_DG_STYLUS)+return-1;+switch(usage->hid&HID_USAGE_PAGE){caseHID_UP_GENDESK:switch(usage->hid){caseHID_GD_X:-if(quirks&MT_QUIRK_EGALAX_XYZ_FIXUP)-field->logical_maximum=32760;hid_map_usage(hi,usage,bit,max,EV_ABS,ABS_MT_POSITION_X);set_abs(hi->input,ABS_MT_POSITION_X,field,
@@ -0,0 +1,9 @@+What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/quirks+Date: November 2011+Contact: Benjamin Tissoires <benjamin.tissoires@gmail.com>+Description: The integer value of this attribute corresponds to the+ quirks actually in place to handle the device's protocol.+ When read, this attribute returns the current settings (see+ MT_QUIRKS_* in hid-multitouch.c).+ When written this attribute change on the fly the quirks, then+ the protocol to handle the device.
@@ -60,9 +60,19 @@ struct mt_slot {boolseen_in_this_frame;/* has this slot been updated */};+structmt_class{+__s32name;/* MT_CLS */+__s32quirks;+__s32sn_move;/* Signal/noise ratio for move events */+__s32sn_width;/* Signal/noise ratio for width events */+__s32sn_height;/* Signal/noise ratio for height events */+__s32sn_pressure;/* Signal/noise ratio for pressure events */+__u8maxcontacts;+};+structmt_device{structmt_slotcurdata;/* placeholder of incoming data */-structmt_class*mtclass;/* our mt device class */+structmt_classmtclass;/* our mt device class */unsignedlast_field_index;/* last field index of the report */unsignedlast_slot_field;/* the last field of a slot */intlast_mt_collection;/* last known mt-related collection */
@@ -74,16 +84,6 @@ struct mt_device {structmt_slot*slots;};-structmt_class{-__s32name;/* MT_CLS */-__s32quirks;-__s32sn_move;/* Signal/noise ratio for move events */-__s32sn_width;/* Signal/noise ratio for width events */-__s32sn_height;/* Signal/noise ratio for height events */-__s32sn_pressure;/* Signal/noise ratio for pressure events */-__u8maxcontacts;-};-/* classes of device behavior */#define MT_CLS_DEFAULT 0x0001
@@ -192,9 +230,9 @@ static void mt_feature_mapping(struct hid_device *hdev,break;caseHID_DG_CONTACTMAX:td->maxcontacts=field->value[0];-if(td->mtclass->maxcontacts)+if(td->mtclass.maxcontacts)/* check if the maxcontacts is given by the class */-td->maxcontacts=td->mtclass->maxcontacts;+td->maxcontacts=td->mtclass.maxcontacts;break;}
@@ -214,7 +252,7 @@ static int mt_input_mapping(struct hid_device *hdev, struct hid_input *hi,unsignedlong**bit,int*max){structmt_device*td=hid_get_drvdata(hdev);-structmt_class*cls=td->mtclass;+structmt_class*cls=&td->mtclass;__s32quirks=cls->quirks;/* Only map fields from TouchScreen or TouchPad collections.
From: Benjamin Tissoires <hidden> Date: 2011-11-23 10:06:28
Just another eGalax device.
Please note that adding this device to have_special_driver
in hid-core.c is not required anymore.
Signed-off-by: Benjamin Tissoires <redacted>
---
drivers/hid/hid-ids.h | 1 +
drivers/hid/hid-multitouch.c | 3 +++
2 files changed, 4 insertions(+), 0 deletions(-)
From: Benjamin Tissoires <hidden> Date: 2011-11-23 10:06:29
From: Benjamin Tissoires <redacted>
This device use another protocol while sending the events.
It's the same as the one described as "serial" by Microsoft.
We are keeping here the sn_move and sn_pressure parameters for
egalax devices.
CC: Cedric Sodhi <redacted>
CC: Chris Bagwell <redacted>
Signed-off-by: Benjamin Tissoires <redacted>
---
drivers/hid/hid-multitouch.c | 9 ++++++++-
1 files changed, 8 insertions(+), 1 deletions(-)
From: Chris Bagwell <hidden> Date: 2011-11-23 18:20:25
On Wed, Nov 23, 2011 at 3:54 AM, Benjamin Tissoires
[off-list ref] wrote:
From: Benjamin Tissoires <redacted>
This device use another protocol while sending the events.
It's the same as the one described as "serial" by Microsoft.
We are keeping here the sn_move and sn_pressure parameters for
egalax devices.
CC: Cedric Sodhi <redacted>
CC: Chris Bagwell <redacted>
Signed-off-by: Benjamin Tissoires <redacted>
---
Thanks for sending this patch. If you like, you can add this for all
the patches except #2. I'm not the best for reviewing sysfs code.
Reviewed-by: Chris Bagwell <redacted>
3-5 are nice cleanups to have.
Chris
--
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
Here are some multitouch updates.
Jiri, the first one is already in your upstream-fixes branch, but not in
your for-next branch...
Hi Benjamin,
yes, that is intentional. 'upstream-fixes' branch is what is scheduled to
be sent to Linus still during this development cycle (and therefore is not
for linux-next).
Other branches get merged into linux-next, as they are scheduled for next
merge window.
Patch 0002 will help end-users to test their device without recompiling the
hid-multitouch between each test.
Patches 0003-0008 are focused on eGalax:
* I made some cleanup in the #defines for the PIDS.
* I removed the MT_QUIRK_EGALAX_XYZ_FIXUP as I understood why it was needed
* I also removed the .maxcontact field in EGALAX as it is not necessary
(it was tested on 3 devices: Acer Iconia W500 by Marek, 0xa001 by Cedric,
and Windpad 110W by me)
* I added a few new devices (I included the one reported by Marek and I kept
his "From")
* I included the new protocol for a001 devices (reported by Cedric)
I will be queueing all those for 3.3, okay?
Thanks,
--
Jiri Kosina
SUSE Labs
From: Benjamin Tissoires <hidden> Date: 2011-11-23 13:14:07
On Wed, Nov 23, 2011 at 13:49, Jiri Kosina [off-list ref] wrote:
On Wed, 23 Nov 2011, Benjamin Tissoires wrote:
quoted
Here are some multitouch updates.
Jiri, the first one is already in your upstream-fixes branch, but not in
your for-next branch...
Hi Benjamin,
yes, that is intentional. 'upstream-fixes' branch is what is scheduled to
be sent to Linus still during this development cycle (and therefore is not
for linux-next).
Other branches get merged into linux-next, as they are scheduled for next
merge window.
quoted
Patch 0002 will help end-users to test their device without recompiling the
hid-multitouch between each test.
Patches 0003-0008 are focused on eGalax:
* I made some cleanup in the #defines for the PIDS.
* I removed the MT_QUIRK_EGALAX_XYZ_FIXUP as I understood why it was needed
* I also removed the .maxcontact field in EGALAX as it is not necessary
(it was tested on 3 devices: Acer Iconia W500 by Marek, 0xa001 by Cedric,
and Windpad 110W by me)
* I added a few new devices (I included the one reported by Marek and I kept
his "From")
* I included the new protocol for a001 devices (reported by Cedric)
I will be queueing all those for 3.3, okay?
I'm ok with that.
Thanks a lot,
Benjamin
Thanks,
--
Jiri Kosina
SUSE Labs
--
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
From: Henrik Rydberg <hidden> Date: 2011-11-29 08:56:12
On Wed, Nov 23, 2011 at 10:54:26AM +0100, Benjamin Tissoires wrote:
Hi Guys,
Here are some multitouch updates.
Jiri, the first one is already in your upstream-fixes branch, but not in
your for-next branch...
Patch 0002 will help end-users to test their device without recompiling the
hid-multitouch between each test.
Patches 0003-0008 are focused on eGalax:
* I made some cleanup in the #defines for the PIDS.
* I removed the MT_QUIRK_EGALAX_XYZ_FIXUP as I understood why it was needed
* I also removed the .maxcontact field in EGALAX as it is not necessary
(it was tested on 3 devices: Acer Iconia W500 by Marek, 0xa001 by Cedric,
and Windpad 110W by me)
* I added a few new devices (I included the one reported by Marek and I kept
his "From")
* I included the new protocol for a001 devices (reported by Cedric)
Acked-by: Henrik Rydberg [off-list ref]
Thanks, Benjamin.
Henrik