* [PATCH 1/8] HID: hid-multitouch - add another eGalax id
2011-11-23 9:54 [PATCH 0/8] multitouch updates (mainly eGalax) Benjamin Tissoires
@ 2011-11-23 9:54 ` Benjamin Tissoires
2011-11-23 9:54 ` [PATCH 2/8] hid-multitouch: create sysfs attribute to control quirks from user-space Benjamin Tissoires
` (8 subsequent siblings)
9 siblings, 0 replies; 18+ messages in thread
From: Benjamin Tissoires @ 2011-11-23 9:54 UTC (permalink / raw)
To: Dmitry Torokhov, Henrik Rydberg, Benjamin Tissoires, Jiri Kosina,
Stephane Chatty, linux-input, linux-kernel
Cc: Chris Bagwell
From: Chris Bagwell <chris@cnpbagwell.com>
This allows ASUS Eee Slate touchscreens to work.
Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
---
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(-)
diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
index 2c0c2aa..eb26af4 100644
--- a/drivers/hid/hid-core.c
+++ b/drivers/hid/hid-core.c
@@ -1409,6 +1409,7 @@ static const struct hid_device_id hid_have_special_driver[] = {
{ HID_USB_DEVICE(USB_VENDOR_ID_DWAV, USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH2) },
{ HID_USB_DEVICE(USB_VENDOR_ID_DWAV, USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH3) },
{ HID_USB_DEVICE(USB_VENDOR_ID_DWAV, USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH4) },
+ { HID_USB_DEVICE(USB_VENDOR_ID_DWAV, USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH5) },
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_BM084) },
{ HID_USB_DEVICE(USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_TS2515) },
{ HID_USB_DEVICE(USB_VENDOR_ID_EMS, USB_DEVICE_ID_EMS_TRIO_LINKER_PLUS_II) },
diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
index 6832a4c..33c26d5 100644
--- a/drivers/hid/hid-ids.h
+++ b/drivers/hid/hid-ids.h
@@ -235,6 +235,7 @@
#define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH2 0x72a1
#define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH3 0x480e
#define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH4 0x726b
+#define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH5 0xa001
#define USB_VENDOR_ID_ELECOM 0x056e
#define USB_DEVICE_ID_ELECOM_BM084 0x0061
diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
index b32beb9..1bd918b 100644
--- a/drivers/hid/hid-multitouch.c
+++ b/drivers/hid/hid-multitouch.c
@@ -662,6 +662,9 @@ static const struct hid_device_id mt_devices[] = {
{ .driver_data = MT_CLS_EGALAX,
HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH4) },
+ { .driver_data = MT_CLS_EGALAX,
+ HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
+ USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH5) },
/* Elo TouchSystems IntelliTouch Plus panel */
{ .driver_data = MT_CLS_DUAL_NSMU_CONTACTID,
--
1.7.4.4
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH 2/8] hid-multitouch: create sysfs attribute to control quirks from user-space
2011-11-23 9:54 [PATCH 0/8] multitouch updates (mainly eGalax) Benjamin Tissoires
2011-11-23 9:54 ` [PATCH 1/8] HID: hid-multitouch - add another eGalax id Benjamin Tissoires
@ 2011-11-23 9:54 ` Benjamin Tissoires
2011-11-23 9:54 ` [PATCH 3/8] hid-multitouch: cleanup eGalax quirks Benjamin Tissoires
` (7 subsequent siblings)
9 siblings, 0 replies; 18+ messages in thread
From: Benjamin Tissoires @ 2011-11-23 9:54 UTC (permalink / raw)
To: Dmitry Torokhov, Henrik Rydberg, Benjamin Tissoires, Jiri Kosina,
Stephane Chatty, linux-input, linux-kernel
Cc: Benjamin Tissoires
From: Benjamin Tissoires <benjamin.tissoires@gmail.com>
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr>
---
.../ABI/testing/sysfs-driver-hid-multitouch | 9 +++
drivers/hid/hid-multitouch.c | 77 +++++++++++++++-----
2 files changed, 68 insertions(+), 18 deletions(-)
create mode 100644 Documentation/ABI/testing/sysfs-driver-hid-multitouch
diff --git a/Documentation/ABI/testing/sysfs-driver-hid-multitouch b/Documentation/ABI/testing/sysfs-driver-hid-multitouch
new file mode 100644
index 0000000..f79839d
--- /dev/null
+++ b/Documentation/ABI/testing/sysfs-driver-hid-multitouch
@@ -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.
diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
index 1bd918b..f41bcea 100644
--- a/drivers/hid/hid-multitouch.c
+++ b/drivers/hid/hid-multitouch.c
@@ -60,9 +60,19 @@ struct mt_slot {
bool seen_in_this_frame;/* has this slot been updated */
};
+struct mt_class {
+ __s32 name; /* MT_CLS */
+ __s32 quirks;
+ __s32 sn_move; /* Signal/noise ratio for move events */
+ __s32 sn_width; /* Signal/noise ratio for width events */
+ __s32 sn_height; /* Signal/noise ratio for height events */
+ __s32 sn_pressure; /* Signal/noise ratio for pressure events */
+ __u8 maxcontacts;
+};
+
struct mt_device {
struct mt_slot curdata; /* placeholder of incoming data */
- struct mt_class *mtclass; /* our mt device class */
+ struct mt_class mtclass; /* our mt device class */
unsigned last_field_index; /* last field index of the report */
unsigned last_slot_field; /* the last field of a slot */
int last_mt_collection; /* last known mt-related collection */
@@ -74,16 +84,6 @@ struct mt_device {
struct mt_slot *slots;
};
-struct mt_class {
- __s32 name; /* MT_CLS */
- __s32 quirks;
- __s32 sn_move; /* Signal/noise ratio for move events */
- __s32 sn_width; /* Signal/noise ratio for width events */
- __s32 sn_height; /* Signal/noise ratio for height events */
- __s32 sn_pressure; /* Signal/noise ratio for pressure events */
- __u8 maxcontacts;
-};
-
/* classes of device behavior */
#define MT_CLS_DEFAULT 0x0001
@@ -181,6 +181,44 @@ static struct mt_class mt_classes[] = {
{ }
};
+static ssize_t mt_show_quirks(struct device *dev,
+ struct device_attribute *attr,
+ char *buf)
+{
+ struct hid_device *hdev = container_of(dev, struct hid_device, dev);
+ struct mt_device *td = hid_get_drvdata(hdev);
+
+ return sprintf(buf, "%u\n", td->mtclass.quirks);
+}
+
+static ssize_t mt_set_quirks(struct device *dev,
+ struct device_attribute *attr,
+ const char *buf, size_t count)
+{
+ struct hid_device *hdev = container_of(dev, struct hid_device, dev);
+ struct mt_device *td = hid_get_drvdata(hdev);
+
+ unsigned long val;
+
+ if (kstrtoul(buf, 0, &val))
+ return -EINVAL;
+
+ td->mtclass.quirks = val;
+
+ return count;
+}
+
+static DEVICE_ATTR(quirks, S_IWUSR | S_IRUGO, mt_show_quirks, mt_set_quirks);
+
+static struct attribute *sysfs_attrs[] = {
+ &dev_attr_quirks.attr,
+ NULL
+};
+
+static struct attribute_group mt_attribute_group = {
+ .attrs = sysfs_attrs
+};
+
static void mt_feature_mapping(struct hid_device *hdev,
struct hid_field *field, struct hid_usage *usage)
{
@@ -192,9 +230,9 @@ static void mt_feature_mapping(struct hid_device *hdev,
break;
case HID_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,
unsigned long **bit, int *max)
{
struct mt_device *td = hid_get_drvdata(hdev);
- struct mt_class *cls = td->mtclass;
+ struct mt_class *cls = &td->mtclass;
__s32 quirks = cls->quirks;
/* Only map fields from TouchScreen or TouchPad collections.
@@ -363,7 +401,7 @@ static int mt_input_mapped(struct hid_device *hdev, struct hid_input *hi,
static int mt_compute_slot(struct mt_device *td)
{
- __s32 quirks = td->mtclass->quirks;
+ __s32 quirks = td->mtclass.quirks;
if (quirks & MT_QUIRK_SLOT_IS_CONTACTID)
return td->curdata.contactid;
@@ -407,7 +445,7 @@ static void mt_emit_event(struct mt_device *td, struct input_dev *input)
for (i = 0; i < td->maxcontacts; ++i) {
struct mt_slot *s = &(td->slots[i]);
- if ((td->mtclass->quirks & MT_QUIRK_NOT_SEEN_MEANS_UP) &&
+ if ((td->mtclass.quirks & MT_QUIRK_NOT_SEEN_MEANS_UP) &&
!s->seen_in_this_frame) {
s->touch_state = false;
}
@@ -444,7 +482,7 @@ static int mt_event(struct hid_device *hid, struct hid_field *field,
struct hid_usage *usage, __s32 value)
{
struct mt_device *td = hid_get_drvdata(hid);
- __s32 quirks = td->mtclass->quirks;
+ __s32 quirks = td->mtclass.quirks;
if (hid->claimed & HID_CLAIMED_INPUT && td->slots) {
switch (usage->hid) {
@@ -552,7 +590,7 @@ static int mt_probe(struct hid_device *hdev, const struct hid_device_id *id)
dev_err(&hdev->dev, "cannot allocate multitouch data\n");
return -ENOMEM;
}
- td->mtclass = mtclass;
+ td->mtclass = *mtclass;
td->inputmode = -1;
td->last_mt_collection = -1;
hid_set_drvdata(hdev, td);
@@ -574,6 +612,8 @@ static int mt_probe(struct hid_device *hdev, const struct hid_device_id *id)
goto fail;
}
+ ret = sysfs_create_group(&hdev->dev.kobj, &mt_attribute_group);
+
mt_set_input_mode(hdev);
return 0;
@@ -594,6 +634,7 @@ static int mt_reset_resume(struct hid_device *hdev)
static void mt_remove(struct hid_device *hdev)
{
struct mt_device *td = hid_get_drvdata(hdev);
+ sysfs_remove_group(&hdev->dev.kobj, &mt_attribute_group);
hid_hw_stop(hdev);
kfree(td->slots);
kfree(td);
--
1.7.4.4
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH 3/8] hid-multitouch: cleanup eGalax quirks
2011-11-23 9:54 [PATCH 0/8] multitouch updates (mainly eGalax) Benjamin Tissoires
2011-11-23 9:54 ` [PATCH 1/8] HID: hid-multitouch - add another eGalax id Benjamin Tissoires
2011-11-23 9:54 ` [PATCH 2/8] hid-multitouch: create sysfs attribute to control quirks from user-space Benjamin Tissoires
@ 2011-11-23 9:54 ` Benjamin Tissoires
2011-11-23 9:54 ` [PATCH 4/8] hid-multitouch: remove .maxcontacts field for eGalax Benjamin Tissoires
` (6 subsequent siblings)
9 siblings, 0 replies; 18+ messages in thread
From: Benjamin Tissoires @ 2011-11-23 9:54 UTC (permalink / raw)
To: Dmitry Torokhov, Henrik Rydberg, Benjamin Tissoires, Jiri Kosina,
Stephane Chatty, linux-input, linux-kernel
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 <benjamin.tissoires@enac.fr>
---
drivers/hid/hid-multitouch.c | 17 +++++++----------
1 files changed, 7 insertions(+), 10 deletions(-)
diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
index f41bcea..8250f3c 100644
--- a/drivers/hid/hid-multitouch.c
+++ b/drivers/hid/hid-multitouch.c
@@ -50,7 +50,6 @@ MODULE_LICENSE("GPL");
#define MT_QUIRK_ALWAYS_VALID (1 << 4)
#define MT_QUIRK_VALID_IS_INRANGE (1 << 5)
#define MT_QUIRK_VALID_IS_CONFIDENCE (1 << 6)
-#define MT_QUIRK_EGALAX_XYZ_FIXUP (1 << 7)
#define MT_QUIRK_SLOT_IS_CONTACTID_MINUS_ONE (1 << 8)
struct mt_slot {
@@ -171,8 +170,7 @@ static struct mt_class mt_classes[] = {
.maxcontacts = 10 },
{ .name = MT_CLS_EGALAX,
.quirks = MT_QUIRK_SLOT_IS_CONTACTID |
- MT_QUIRK_VALID_IS_INRANGE |
- MT_QUIRK_EGALAX_XYZ_FIXUP,
+ MT_QUIRK_VALID_IS_INRANGE,
.maxcontacts = 2,
.sn_move = 4096,
.sn_pressure = 32,
@@ -253,7 +251,6 @@ static int mt_input_mapping(struct hid_device *hdev, struct hid_input *hi,
{
struct mt_device *td = hid_get_drvdata(hdev);
struct mt_class *cls = &td->mtclass;
- __s32 quirks = cls->quirks;
/* Only map fields from TouchScreen or TouchPad collections.
* We need to ignore fields that belong to other collections
@@ -265,13 +262,17 @@ static int mt_input_mapping(struct hid_device *hdev, struct hid_input *hi,
else
return 0;
+ /* eGalax devices provide a Digitizer.Stylus input which overrides
+ * the correct Digitizers.Finger X/Y ranges.
+ * Let's just ignore this input. */
+ if (field->physical == HID_DG_STYLUS)
+ return -1;
+
switch (usage->hid & HID_USAGE_PAGE) {
case HID_UP_GENDESK:
switch (usage->hid) {
case HID_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,
@@ -284,8 +285,6 @@ static int mt_input_mapping(struct hid_device *hdev, struct hid_input *hi,
}
return 1;
case HID_GD_Y:
- if (quirks & MT_QUIRK_EGALAX_XYZ_FIXUP)
- field->logical_maximum = 32760;
hid_map_usage(hi, usage, bit, max,
EV_ABS, ABS_MT_POSITION_Y);
set_abs(hi->input, ABS_MT_POSITION_Y, field,
@@ -353,8 +352,6 @@ static int mt_input_mapping(struct hid_device *hdev, struct hid_input *hi,
}
return 1;
case HID_DG_TIPPRESSURE:
- if (quirks & MT_QUIRK_EGALAX_XYZ_FIXUP)
- field->logical_minimum = 0;
hid_map_usage(hi, usage, bit, max,
EV_ABS, ABS_MT_PRESSURE);
set_abs(hi->input, ABS_MT_PRESSURE, field,
--
1.7.4.4
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH 4/8] hid-multitouch: remove .maxcontacts field for eGalax
2011-11-23 9:54 [PATCH 0/8] multitouch updates (mainly eGalax) Benjamin Tissoires
` (2 preceding siblings ...)
2011-11-23 9:54 ` [PATCH 3/8] hid-multitouch: cleanup eGalax quirks Benjamin Tissoires
@ 2011-11-23 9:54 ` Benjamin Tissoires
2011-11-23 9:54 ` [PATCH 5/8] HID: cleanup with eGalax PID definitions Benjamin Tissoires
` (5 subsequent siblings)
9 siblings, 0 replies; 18+ messages in thread
From: Benjamin Tissoires @ 2011-11-23 9:54 UTC (permalink / raw)
To: Dmitry Torokhov, Henrik Rydberg, Benjamin Tissoires, Jiri Kosina,
Stephane Chatty, linux-input, linux-kernel
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 <benjamin.tissoires@enac.fr>
---
drivers/hid/hid-multitouch.c | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)
diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
index 8250f3c..354a5cd 100644
--- a/drivers/hid/hid-multitouch.c
+++ b/drivers/hid/hid-multitouch.c
@@ -171,7 +171,6 @@ static struct mt_class mt_classes[] = {
{ .name = MT_CLS_EGALAX,
.quirks = MT_QUIRK_SLOT_IS_CONTACTID |
MT_QUIRK_VALID_IS_INRANGE,
- .maxcontacts = 2,
.sn_move = 4096,
.sn_pressure = 32,
},
--
1.7.4.4
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH 5/8] HID: cleanup with eGalax PID definitions
2011-11-23 9:54 [PATCH 0/8] multitouch updates (mainly eGalax) Benjamin Tissoires
` (3 preceding siblings ...)
2011-11-23 9:54 ` [PATCH 4/8] hid-multitouch: remove .maxcontacts field for eGalax Benjamin Tissoires
@ 2011-11-23 9:54 ` Benjamin Tissoires
2011-11-23 9:54 ` [PATCH 6/8] HID-multitouch: Add egalax ID for Acer Iconia W500 Benjamin Tissoires
` (4 subsequent siblings)
9 siblings, 0 replies; 18+ messages in thread
From: Benjamin Tissoires @ 2011-11-23 9:54 UTC (permalink / raw)
To: Dmitry Torokhov, Henrik Rydberg, Benjamin Tissoires, Jiri Kosina,
Stephane Chatty, linux-input, linux-kernel
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 <benjamin.tissoires@enac.fr>
---
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(-)
diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
index eb26af4..b776bfb 100644
--- a/drivers/hid/hid-core.c
+++ b/drivers/hid/hid-core.c
@@ -1404,12 +1404,12 @@ static const struct hid_device_id hid_have_special_driver[] = {
{ HID_USB_DEVICE(USB_VENDOR_ID_CYPRESS, USB_DEVICE_ID_CYPRESS_TRUETOUCH) },
{ HID_USB_DEVICE(USB_VENDOR_ID_DRAGONRISE, 0x0006) },
{ HID_USB_DEVICE(USB_VENDOR_ID_DRAGONRISE, 0x0011) },
- { HID_USB_DEVICE(USB_VENDOR_ID_DWAV, USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH) },
- { HID_USB_DEVICE(USB_VENDOR_ID_DWAV, USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH1) },
- { HID_USB_DEVICE(USB_VENDOR_ID_DWAV, USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH2) },
- { HID_USB_DEVICE(USB_VENDOR_ID_DWAV, USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH3) },
- { HID_USB_DEVICE(USB_VENDOR_ID_DWAV, USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH4) },
- { HID_USB_DEVICE(USB_VENDOR_ID_DWAV, USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH5) },
+ { HID_USB_DEVICE(USB_VENDOR_ID_DWAV, USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_480D) },
+ { HID_USB_DEVICE(USB_VENDOR_ID_DWAV, USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_480E) },
+ { HID_USB_DEVICE(USB_VENDOR_ID_DWAV, USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_720C) },
+ { HID_USB_DEVICE(USB_VENDOR_ID_DWAV, USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_726B) },
+ { HID_USB_DEVICE(USB_VENDOR_ID_DWAV, USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_72A1) },
+ { HID_USB_DEVICE(USB_VENDOR_ID_DWAV, USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_A001) },
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_BM084) },
{ HID_USB_DEVICE(USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_TS2515) },
{ HID_USB_DEVICE(USB_VENDOR_ID_EMS, USB_DEVICE_ID_EMS_TRIO_LINKER_PLUS_II) },
diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
index 33c26d5..a9526fd 100644
--- a/drivers/hid/hid-ids.h
+++ b/drivers/hid/hid-ids.h
@@ -230,12 +230,12 @@
#define USB_VENDOR_ID_DWAV 0x0eef
#define USB_DEVICE_ID_EGALAX_TOUCHCONTROLLER 0x0001
-#define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH 0x480d
-#define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH1 0x720c
-#define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH2 0x72a1
-#define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH3 0x480e
-#define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH4 0x726b
-#define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH5 0xa001
+#define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_480D 0x480d
+#define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_480E 0x480e
+#define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_720C 0x720c
+#define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_726B 0x726b
+#define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_72A1 0x72a1
+#define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_A001 0xa001
#define USB_VENDOR_ID_ELECOM 0x056e
#define USB_DEVICE_ID_ELECOM_BM084 0x0061
diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
index 354a5cd..db39228 100644
--- a/drivers/hid/hid-multitouch.c
+++ b/drivers/hid/hid-multitouch.c
@@ -682,26 +682,26 @@ static const struct hid_device_id mt_devices[] = {
USB_DEVICE_ID_CYPRESS_TRUETOUCH) },
/* eGalax devices (resistive) */
- { .driver_data = MT_CLS_EGALAX,
+ { .driver_data = MT_CLS_EGALAX,
HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
- USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH) },
- { .driver_data = MT_CLS_EGALAX,
+ USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_480D) },
+ { .driver_data = MT_CLS_EGALAX,
HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
- USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH3) },
+ USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_480E) },
/* eGalax devices (capacitive) */
- { .driver_data = MT_CLS_EGALAX,
+ { .driver_data = MT_CLS_EGALAX,
HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
- USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH1) },
- { .driver_data = MT_CLS_EGALAX,
+ USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_720C) },
+ { .driver_data = MT_CLS_EGALAX,
HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
- USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH2) },
- { .driver_data = MT_CLS_EGALAX,
+ USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_726B) },
+ { .driver_data = MT_CLS_EGALAX,
HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
- USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH4) },
- { .driver_data = MT_CLS_EGALAX,
+ USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_72A1) },
+ { .driver_data = MT_CLS_EGALAX,
HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
- USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH5) },
+ USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_A001) },
/* Elo TouchSystems IntelliTouch Plus panel */
{ .driver_data = MT_CLS_DUAL_NSMU_CONTACTID,
--
1.7.4.4
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH 6/8] HID-multitouch: Add egalax ID for Acer Iconia W500
2011-11-23 9:54 [PATCH 0/8] multitouch updates (mainly eGalax) Benjamin Tissoires
` (4 preceding siblings ...)
2011-11-23 9:54 ` [PATCH 5/8] HID: cleanup with eGalax PID definitions Benjamin Tissoires
@ 2011-11-23 9:54 ` Benjamin Tissoires
2011-11-23 10:46 ` Marek Vasut
2011-11-23 11:28 ` Jiri Kosina
2011-11-23 9:54 ` [PATCH 7/8] hid-multitouch: add support for the MSI Windpad 110W Benjamin Tissoires
` (3 subsequent siblings)
9 siblings, 2 replies; 18+ messages in thread
From: Benjamin Tissoires @ 2011-11-23 9:54 UTC (permalink / raw)
To: Dmitry Torokhov, Henrik Rydberg, Benjamin Tissoires, Jiri Kosina,
Stephane Chatty, linux-input, linux-kernel
Cc: Marek Vasut
From: Marek Vasut <marek.vasut@gmail.com>
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 <marek.vasut@gmail.com>
CC: Marek Vasut <marek.vasut@gmail.com>
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr>
---
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(-)
diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
index b776bfb..e3c9e61 100644
--- a/drivers/hid/hid-core.c
+++ b/drivers/hid/hid-core.c
@@ -1409,6 +1409,7 @@ static const struct hid_device_id hid_have_special_driver[] = {
{ HID_USB_DEVICE(USB_VENDOR_ID_DWAV, USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_720C) },
{ HID_USB_DEVICE(USB_VENDOR_ID_DWAV, USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_726B) },
{ HID_USB_DEVICE(USB_VENDOR_ID_DWAV, USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_72A1) },
+ { HID_USB_DEVICE(USB_VENDOR_ID_DWAV, USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_7302) },
{ HID_USB_DEVICE(USB_VENDOR_ID_DWAV, USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_A001) },
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_BM084) },
{ HID_USB_DEVICE(USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_TS2515) },
diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
index a9526fd..fc49ab3 100644
--- a/drivers/hid/hid-ids.h
+++ b/drivers/hid/hid-ids.h
@@ -235,6 +235,7 @@
#define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_720C 0x720c
#define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_726B 0x726b
#define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_72A1 0x72a1
+#define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_7302 0x7302
#define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_A001 0xa001
#define USB_VENDOR_ID_ELECOM 0x056e
diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
index db39228..8e920cd 100644
--- a/drivers/hid/hid-multitouch.c
+++ b/drivers/hid/hid-multitouch.c
@@ -701,6 +701,9 @@ static const struct hid_device_id mt_devices[] = {
USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_72A1) },
{ .driver_data = MT_CLS_EGALAX,
HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
+ USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_7302) },
+ { .driver_data = MT_CLS_EGALAX,
+ HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_A001) },
/* Elo TouchSystems IntelliTouch Plus panel */
--
1.7.4.4
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [PATCH 6/8] HID-multitouch: Add egalax ID for Acer Iconia W500
2011-11-23 9:54 ` [PATCH 6/8] HID-multitouch: Add egalax ID for Acer Iconia W500 Benjamin Tissoires
@ 2011-11-23 10:46 ` Marek Vasut
2011-11-23 11:32 ` Benjamin Tissoires
2011-11-23 11:28 ` Jiri Kosina
1 sibling, 1 reply; 18+ messages in thread
From: Marek Vasut @ 2011-11-23 10:46 UTC (permalink / raw)
To: Benjamin Tissoires
Cc: Dmitry Torokhov, Henrik Rydberg, Jiri Kosina, Stephane Chatty,
linux-input, linux-kernel
> From: Marek Vasut <marek.vasut@gmail.com>
>
> 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 <marek.vasut@gmail.com>
> CC: Marek Vasut <marek.vasut@gmail.com>
> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr>
> ---
> 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(-)
>
> diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
> index b776bfb..e3c9e61 100644
> --- a/drivers/hid/hid-core.c
> +++ b/drivers/hid/hid-core.c
> @@ -1409,6 +1409,7 @@ static const struct hid_device_id
> hid_have_special_driver[] = { { HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
> USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_720C) }, {
> HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
> USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_726B) }, {
> HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
> USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_72A1) }, + {
> HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
> USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_7302) }, {
> HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
> USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_A001) }, {
> HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_BM084) },
> { HID_USB_DEVICE(USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_TS2515) }, diff
> --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
> index a9526fd..fc49ab3 100644
> --- a/drivers/hid/hid-ids.h
> +++ b/drivers/hid/hid-ids.h
> @@ -235,6 +235,7 @@
> #define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_720C 0x720c
> #define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_726B 0x726b
> #define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_72A1 0x72a1
> +#define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_7302 0x7302
> #define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_A001 0xa001
>
> #define USB_VENDOR_ID_ELECOM 0x056e
> diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
> index db39228..8e920cd 100644
> --- a/drivers/hid/hid-multitouch.c
> +++ b/drivers/hid/hid-multitouch.c
> @@ -701,6 +701,9 @@ static const struct hid_device_id mt_devices[] = {
> USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_72A1) },
> { .driver_data = MT_CLS_EGALAX,
> HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
> + USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_7302) },
> + { .driver_data = MT_CLS_EGALAX,
> + HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
> USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_A001) },
>
> /* Elo TouchSystems IntelliTouch Plus panel */
It seems good, but how do you detect the number of fingers the panel can handle?
That's autodetected now?
M
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 6/8] HID-multitouch: Add egalax ID for Acer Iconia W500
2011-11-23 10:46 ` Marek Vasut
@ 2011-11-23 11:32 ` Benjamin Tissoires
0 siblings, 0 replies; 18+ messages in thread
From: Benjamin Tissoires @ 2011-11-23 11:32 UTC (permalink / raw)
To: Marek Vasut
Cc: Dmitry Torokhov, Henrik Rydberg, Jiri Kosina, Stephane Chatty,
linux-input, linux-kernel
On Wed, Nov 23, 2011 at 11:46, Marek Vasut <marek.vasut@gmail.com> wrote:
>> From: Marek Vasut <marek.vasut@gmail.com>
>>
>> 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 <marek.vasut@gmail.com>
>> CC: Marek Vasut <marek.vasut@gmail.com>
>> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr>
>> ---
>> 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(-)
>>
>> diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
>> index b776bfb..e3c9e61 100644
>> --- a/drivers/hid/hid-core.c
>> +++ b/drivers/hid/hid-core.c
>> @@ -1409,6 +1409,7 @@ static const struct hid_device_id
>> hid_have_special_driver[] = { { HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
>> USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_720C) }, {
>> HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
>> USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_726B) }, {
>> HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
>> USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_72A1) }, + {
>> HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
>> USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_7302) }, {
>> HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
>> USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_A001) }, {
>> HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_BM084) },
>> { HID_USB_DEVICE(USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_TS2515) }, diff
>> --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
>> index a9526fd..fc49ab3 100644
>> --- a/drivers/hid/hid-ids.h
>> +++ b/drivers/hid/hid-ids.h
>> @@ -235,6 +235,7 @@
>> #define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_720C 0x720c
>> #define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_726B 0x726b
>> #define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_72A1 0x72a1
>> +#define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_7302 0x7302
>> #define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_A001 0xa001
>>
>> #define USB_VENDOR_ID_ELECOM 0x056e
>> diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
>> index db39228..8e920cd 100644
>> --- a/drivers/hid/hid-multitouch.c
>> +++ b/drivers/hid/hid-multitouch.c
>> @@ -701,6 +701,9 @@ static const struct hid_device_id mt_devices[] = {
>> USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_72A1) },
>> { .driver_data = MT_CLS_EGALAX,
>> HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
>> + USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_7302) },
>> + { .driver_data = MT_CLS_EGALAX,
>> + HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
>> USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_A001) },
>>
>> /* Elo TouchSystems IntelliTouch Plus panel */
>
> 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
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 6/8] HID-multitouch: Add egalax ID for Acer Iconia W500
2011-11-23 9:54 ` [PATCH 6/8] HID-multitouch: Add egalax ID for Acer Iconia W500 Benjamin Tissoires
2011-11-23 10:46 ` Marek Vasut
@ 2011-11-23 11:28 ` Jiri Kosina
2011-11-23 11:36 ` Benjamin Tissoires
1 sibling, 1 reply; 18+ messages in thread
From: Jiri Kosina @ 2011-11-23 11:28 UTC (permalink / raw)
To: Benjamin Tissoires
Cc: Dmitry Torokhov, Henrik Rydberg, Stephane Chatty, linux-input,
linux-kernel, Marek Vasut
On Wed, 23 Nov 2011, Benjamin Tissoires wrote:
> From: Marek Vasut <marek.vasut@gmail.com>
>
> 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 <marek.vasut@gmail.com>
Before taking this, I'd like to have the credits / signoffs for this patch
clarified.
Thanks,
--
Jiri Kosina
SUSE Labs
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 6/8] HID-multitouch: Add egalax ID for Acer Iconia W500
2011-11-23 11:28 ` Jiri Kosina
@ 2011-11-23 11:36 ` Benjamin Tissoires
2011-11-23 12:10 ` Marek Vasut
0 siblings, 1 reply; 18+ messages in thread
From: Benjamin Tissoires @ 2011-11-23 11:36 UTC (permalink / raw)
To: Jiri Kosina
Cc: Dmitry Torokhov, Henrik Rydberg, Stephane Chatty, linux-input,
linux-kernel, Marek Vasut
On Wed, Nov 23, 2011 at 12:28, Jiri Kosina <jkosina@suse.cz> wrote:
> On Wed, 23 Nov 2011, Benjamin Tissoires wrote:
>
>> From: Marek Vasut <marek.vasut@gmail.com>
>>
>> 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 <marek.vasut@gmail.com>
>
> 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
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 6/8] HID-multitouch: Add egalax ID for Acer Iconia W500
2011-11-23 11:36 ` Benjamin Tissoires
@ 2011-11-23 12:10 ` Marek Vasut
0 siblings, 0 replies; 18+ messages in thread
From: Marek Vasut @ 2011-11-23 12:10 UTC (permalink / raw)
To: Benjamin Tissoires
Cc: Jiri Kosina, Dmitry Torokhov, Henrik Rydberg, Stephane Chatty,
linux-input, linux-kernel
> On Wed, Nov 23, 2011 at 12:28, Jiri Kosina <jkosina@suse.cz> wrote:
> > On Wed, 23 Nov 2011, Benjamin Tissoires wrote:
> >> From: Marek Vasut <marek.vasut@gmail.com>
> >>
> >> 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 <marek.vasut@gmail.com>
> >
> > 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 <marek.vasut@gmail.com>
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH 7/8] hid-multitouch: add support for the MSI Windpad 110W
2011-11-23 9:54 [PATCH 0/8] multitouch updates (mainly eGalax) Benjamin Tissoires
` (5 preceding siblings ...)
2011-11-23 9:54 ` [PATCH 6/8] HID-multitouch: Add egalax ID for Acer Iconia W500 Benjamin Tissoires
@ 2011-11-23 9:54 ` Benjamin Tissoires
2011-11-23 9:54 ` [PATCH 8/8] hid-multitouch: correct eGalax a001 protocol Benjamin Tissoires
` (2 subsequent siblings)
9 siblings, 0 replies; 18+ messages in thread
From: Benjamin Tissoires @ 2011-11-23 9:54 UTC (permalink / raw)
To: Dmitry Torokhov, Henrik Rydberg, Benjamin Tissoires, Jiri Kosina,
Stephane Chatty, linux-input, linux-kernel
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 <benjamin.tissoires@enac.fr>
---
drivers/hid/hid-ids.h | 1 +
drivers/hid/hid-multitouch.c | 3 +++
2 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
index fc49ab3..cf8c866 100644
--- a/drivers/hid/hid-ids.h
+++ b/drivers/hid/hid-ids.h
@@ -235,6 +235,7 @@
#define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_720C 0x720c
#define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_726B 0x726b
#define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_72A1 0x72a1
+#define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_72FA 0x72fa
#define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_7302 0x7302
#define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_A001 0xa001
diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
index 8e920cd..77210d6 100644
--- a/drivers/hid/hid-multitouch.c
+++ b/drivers/hid/hid-multitouch.c
@@ -701,6 +701,9 @@ static const struct hid_device_id mt_devices[] = {
USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_72A1) },
{ .driver_data = MT_CLS_EGALAX,
HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
+ USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_72FA) },
+ { .driver_data = MT_CLS_EGALAX,
+ HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_7302) },
{ .driver_data = MT_CLS_EGALAX,
HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
--
1.7.4.4
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH 8/8] hid-multitouch: correct eGalax a001 protocol
2011-11-23 9:54 [PATCH 0/8] multitouch updates (mainly eGalax) Benjamin Tissoires
` (6 preceding siblings ...)
2011-11-23 9:54 ` [PATCH 7/8] hid-multitouch: add support for the MSI Windpad 110W Benjamin Tissoires
@ 2011-11-23 9:54 ` Benjamin Tissoires
2011-11-23 18:20 ` Chris Bagwell
2011-11-23 12:49 ` [PATCH 0/8] multitouch updates (mainly eGalax) Jiri Kosina
2011-11-29 8:56 ` Henrik Rydberg
9 siblings, 1 reply; 18+ messages in thread
From: Benjamin Tissoires @ 2011-11-23 9:54 UTC (permalink / raw)
To: Dmitry Torokhov, Henrik Rydberg, Benjamin Tissoires, Jiri Kosina,
Stephane Chatty, linux-input, linux-kernel
Cc: Benjamin Tissoires, Cedric Sodhi, Chris Bagwell
From: Benjamin Tissoires <benjamin.tissoires@gmail.com>
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 <manday@gmx.net>
CC: Chris Bagwell <chris@cnpbagwell.com>
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
---
drivers/hid/hid-multitouch.c | 9 ++++++++-
1 files changed, 8 insertions(+), 1 deletions(-)
diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
index 77210d6..f0f3632 100644
--- a/drivers/hid/hid-multitouch.c
+++ b/drivers/hid/hid-multitouch.c
@@ -97,6 +97,7 @@ struct mt_device {
#define MT_CLS_3M 0x0101
#define MT_CLS_CYPRESS 0x0102
#define MT_CLS_EGALAX 0x0103
+#define MT_CLS_EGALAX_SERIAL 0x0104
#define MT_DEFAULT_MAXCONTACT 10
@@ -174,6 +175,12 @@ static struct mt_class mt_classes[] = {
.sn_move = 4096,
.sn_pressure = 32,
},
+ { .name = MT_CLS_EGALAX_SERIAL,
+ .quirks = MT_QUIRK_SLOT_IS_CONTACTID |
+ MT_QUIRK_ALWAYS_VALID,
+ .sn_move = 4096,
+ .sn_pressure = 32,
+ },
{ }
};
@@ -705,7 +712,7 @@ static const struct hid_device_id mt_devices[] = {
{ .driver_data = MT_CLS_EGALAX,
HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_7302) },
- { .driver_data = MT_CLS_EGALAX,
+ { .driver_data = MT_CLS_EGALAX_SERIAL,
HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_A001) },
--
1.7.4.4
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [PATCH 8/8] hid-multitouch: correct eGalax a001 protocol
2011-11-23 9:54 ` [PATCH 8/8] hid-multitouch: correct eGalax a001 protocol Benjamin Tissoires
@ 2011-11-23 18:20 ` Chris Bagwell
0 siblings, 0 replies; 18+ messages in thread
From: Chris Bagwell @ 2011-11-23 18:20 UTC (permalink / raw)
To: Benjamin Tissoires
Cc: Dmitry Torokhov, Henrik Rydberg, Jiri Kosina, Stephane Chatty,
linux-input, linux-kernel, Benjamin Tissoires, Cedric Sodhi
On Wed, Nov 23, 2011 at 3:54 AM, Benjamin Tissoires
<benjamin.tissoires@enac.fr> wrote:
> From: Benjamin Tissoires <benjamin.tissoires@gmail.com>
>
> 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 <manday@gmx.net>
> CC: Chris Bagwell <chris@cnpbagwell.com>
> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
> ---
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 <chris@cnpbagwell.com>
3-5 are nice cleanups to have.
Chris
> drivers/hid/hid-multitouch.c | 9 ++++++++-
> 1 files changed, 8 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
> index 77210d6..f0f3632 100644
> --- a/drivers/hid/hid-multitouch.c
> +++ b/drivers/hid/hid-multitouch.c
> @@ -97,6 +97,7 @@ struct mt_device {
> #define MT_CLS_3M 0x0101
> #define MT_CLS_CYPRESS 0x0102
> #define MT_CLS_EGALAX 0x0103
> +#define MT_CLS_EGALAX_SERIAL 0x0104
>
> #define MT_DEFAULT_MAXCONTACT 10
>
> @@ -174,6 +175,12 @@ static struct mt_class mt_classes[] = {
> .sn_move = 4096,
> .sn_pressure = 32,
> },
> + { .name = MT_CLS_EGALAX_SERIAL,
> + .quirks = MT_QUIRK_SLOT_IS_CONTACTID |
> + MT_QUIRK_ALWAYS_VALID,
> + .sn_move = 4096,
> + .sn_pressure = 32,
> + },
>
> { }
> };
> @@ -705,7 +712,7 @@ static const struct hid_device_id mt_devices[] = {
> { .driver_data = MT_CLS_EGALAX,
> HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
> USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_7302) },
> - { .driver_data = MT_CLS_EGALAX,
> + { .driver_data = MT_CLS_EGALAX_SERIAL,
> HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
> USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_A001) },
>
> --
> 1.7.4.4
>
>
--
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
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 0/8] multitouch updates (mainly eGalax)
2011-11-23 9:54 [PATCH 0/8] multitouch updates (mainly eGalax) Benjamin Tissoires
` (7 preceding siblings ...)
2011-11-23 9:54 ` [PATCH 8/8] hid-multitouch: correct eGalax a001 protocol Benjamin Tissoires
@ 2011-11-23 12:49 ` Jiri Kosina
2011-11-23 13:14 ` Benjamin Tissoires
2011-11-29 8:56 ` Henrik Rydberg
9 siblings, 1 reply; 18+ messages in thread
From: Jiri Kosina @ 2011-11-23 12:49 UTC (permalink / raw)
To: Benjamin Tissoires
Cc: Dmitry Torokhov, Henrik Rydberg, Stephane Chatty, linux-input,
linux-kernel
On Wed, 23 Nov 2011, Benjamin Tissoires wrote:
> 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
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 0/8] multitouch updates (mainly eGalax)
2011-11-23 12:49 ` [PATCH 0/8] multitouch updates (mainly eGalax) Jiri Kosina
@ 2011-11-23 13:14 ` Benjamin Tissoires
0 siblings, 0 replies; 18+ messages in thread
From: Benjamin Tissoires @ 2011-11-23 13:14 UTC (permalink / raw)
To: Jiri Kosina
Cc: Dmitry Torokhov, Henrik Rydberg, Stephane Chatty, linux-input,
linux-kernel
On Wed, Nov 23, 2011 at 13:49, Jiri Kosina <jkosina@suse.cz> wrote:
> On Wed, 23 Nov 2011, Benjamin Tissoires wrote:
>
>> 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?
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
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 0/8] multitouch updates (mainly eGalax)
2011-11-23 9:54 [PATCH 0/8] multitouch updates (mainly eGalax) Benjamin Tissoires
` (8 preceding siblings ...)
2011-11-23 12:49 ` [PATCH 0/8] multitouch updates (mainly eGalax) Jiri Kosina
@ 2011-11-29 8:56 ` Henrik Rydberg
9 siblings, 0 replies; 18+ messages in thread
From: Henrik Rydberg @ 2011-11-29 8:56 UTC (permalink / raw)
To: Benjamin Tissoires
Cc: Dmitry Torokhov, Jiri Kosina, Stephane Chatty, linux-input,
linux-kernel
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 <rydberg@euromail.se>
Thanks, Benjamin.
Henrik
^ permalink raw reply [flat|nested] 18+ messages in thread