* Re: ET1602 Touchscreen doesn't work [not found] <BANLkTikX9njth-jP6PpQuwL9sTUciu1nQA@mail.gmail.com> @ 2011-06-02 14:41 ` Thadeu Lima de Souza Cascardo 2011-06-03 4:02 ` Chih-Wei Huang 0 siblings, 1 reply; 12+ messages in thread From: Thadeu Lima de Souza Cascardo @ 2011-06-02 14:41 UTC (permalink / raw) To: Chih-Wei Huang; +Cc: Jiri Kosina, linux-input [-- Attachment #1: Type: text/plain, Size: 1056 bytes --] On Thu, Jun 02, 2011 at 04:49:19PM +0800, Chih-Wei Huang wrote: > Hi, > I have an ASUS EeeTop ET1602, with touchscreen id (1bfd:1688). > Originally it works fine with kernel 2.6.32, > but now it doesn't work since kernel 2.6.35 (maybe?). > > I made some investigation. > I think it's related to this patch: > > commit c2c3489c5b0fdb8fbf0f5e9424905c2994ab5660 > Author: Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com> > Date: Thu Feb 4 13:36:24 2010 -0200 > > HID: use multi input quirk for TouchPack touchscreen > > This device generates ABS_Z and ABS_RX events, while it should be > generating ABS_X and ABS_Y instead. Using the MULTI_INPUT quirk solves > this issue. > > > Could you explain what's the patch intend to do, > and how could I solve the problem? > > Regards, > -- > Chih-Wei > Android-x86 project > http://www.android-x86.org It depends on your userspace. It should work properly with X.org drivers evdev and evtouch. Are you trying this with Android? Regards, Cascardo. [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 836 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: ET1602 Touchscreen doesn't work 2011-06-02 14:41 ` ET1602 Touchscreen doesn't work Thadeu Lima de Souza Cascardo @ 2011-06-03 4:02 ` Chih-Wei Huang 2011-06-03 12:44 ` Thadeu Lima de Souza Cascardo 0 siblings, 1 reply; 12+ messages in thread From: Chih-Wei Huang @ 2011-06-03 4:02 UTC (permalink / raw) To: Thadeu Lima de Souza Cascardo; +Cc: Jiri Kosina, linux-input 2011/6/2 Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com>: > It depends on your userspace. It should work properly with X.org drivers > evdev and evtouch. Are you trying this with Android? Yes, exactly. Actually the touchscreen is detected, but it appears twice: [ 3.408922] input: HID TOUCH HID Touch Panel as /devices/pci0000:00/0000:00:1d.3/usb5/5-2/5-2:1.0/input/input6 [ 3.412345] input: HID TOUCH HID Touch Panel as /devices/pci0000:00/0000:00:1d.3/usb5/5-2/5-2:1.0/input/input7 [ 3.415386] generic-usb 0003:1BFD:1688.0003: input: USB HID v1.01 Mouse [HID TOUCH HID Touch Panel] on usb-0000:00:1d.3-2/input0 I tried to use getevent, a debug tool of android, to get the touch events. I found touch events appear in /dev/event7, not in /dev/event6. Is it the desired behavior? But the Android framework seems only detect /dev/event6 and ignore /dev/event7, probably because they have the same name. Any suggestion how to solve the problem? Regards, -- Chih-Wei Android-x86 project http://www.android-x86.org ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: ET1602 Touchscreen doesn't work 2011-06-03 4:02 ` Chih-Wei Huang @ 2011-06-03 12:44 ` Thadeu Lima de Souza Cascardo 2011-06-08 10:33 ` Chih-Wei Huang 0 siblings, 1 reply; 12+ messages in thread From: Thadeu Lima de Souza Cascardo @ 2011-06-03 12:44 UTC (permalink / raw) To: Chih-Wei Huang; +Cc: Jiri Kosina, linux-input [-- Attachment #1: Type: text/plain, Size: 1371 bytes --] On Fri, Jun 03, 2011 at 12:02:09PM +0800, Chih-Wei Huang wrote: > 2011/6/2 Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com>: > > It depends on your userspace. It should work properly with X.org drivers > > evdev and evtouch. Are you trying this with Android? > > Yes, exactly. > > Actually the touchscreen is detected, but it appears twice: > > [ 3.408922] input: HID TOUCH HID Touch Panel as > /devices/pci0000:00/0000:00:1d.3/usb5/5-2/5-2:1.0/input/input6 > [ 3.412345] input: HID TOUCH HID Touch Panel as > /devices/pci0000:00/0000:00:1d.3/usb5/5-2/5-2:1.0/input/input7 > [ 3.415386] generic-usb 0003:1BFD:1688.0003: input: USB HID v1.01 > Mouse [HID TOUCH HID Touch Panel] on usb-0000:00:1d.3-2/input0 > > I tried to use getevent, a debug tool of android, > to get the touch events. > I found touch events appear in /dev/event7, > not in /dev/event6. > Is it the desired behavior? > > But the Android framework seems only detect > /dev/event6 and ignore /dev/event7, > probably because they have the same name. > > Any suggestion how to solve the problem? > > Regards, > -- > Chih-Wei > Android-x86 project > http://www.android-x86.org You should use the device capabilities, like what events it does generate. If it does generate X and Y axis events, that's the right device. Best regards, Cascardo. [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 836 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: ET1602 Touchscreen doesn't work 2011-06-03 12:44 ` Thadeu Lima de Souza Cascardo @ 2011-06-08 10:33 ` Chih-Wei Huang 2011-06-08 11:31 ` Benjamin Tissoires 0 siblings, 1 reply; 12+ messages in thread From: Chih-Wei Huang @ 2011-06-08 10:33 UTC (permalink / raw) To: Thadeu Lima de Souza Cascardo; +Cc: Jiri Kosina, linux-input 2011/6/3 Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com>: > You should use the device capabilities, like what events it does > generate. If it does generate X and Y axis events, that's the right > device. Did you mean ABS_X and ABS_Y? Actually it is. The android framework detects the touch device by: // Is this an old style single-touch driver? if (test_bit(BTN_TOUCH, key_bitmask) && test_bit(ABS_X, abs_bitmask) && test_bit(ABS_Y, abs_bitmask)) { device->classes |= CLASS_TOUCHSCREEN; } However, the output of getevent -p shows add device 2: /dev/input/event7 name: "HID TOUCH HID Touch Panel" events: SYN (0000): 0000 0001 0003 0004 KEY (0001): 0110 0111 0112 ABS (0003): 0000 value 1428, min 0, max 4095, fuzz 0 flat 0 0001 value 1066, min 0, max 4095, fuzz 0 flat 0 MSC (0004): 0004 add device 3: /dev/input/event6 name: "HID TOUCH HID Touch Panel" events: SYN (0000): 0000 0001 0003 0004 KEY (0001): 0140 014a 014b ABS (0003): 0000 value 0, min 0, max 4095, fuzz 0 flat 0 0001 value 0, min 0, max 4095, fuzz 0 flat 0 MSC (0004): 0004 Only event6 supports BTN_TOUCH, so it is detected as the touch device. However, that's wrong -- event7 is the right touch device. By removing the check test_bit(BTN_TOUCH, key_bitmask), event7 is correctly detected and touchscreen now works. But I still have questions: * Is it intended to NOT support BTN_TOUCH in event7? * Why two devices are detected by the kernel, while there is only one touchscreen? -- Chih-Wei Android-x86 project http://www.android-x86.org ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: ET1602 Touchscreen doesn't work 2011-06-08 10:33 ` Chih-Wei Huang @ 2011-06-08 11:31 ` Benjamin Tissoires 2011-06-08 12:57 ` Thadeu Lima de Souza Cascardo 0 siblings, 1 reply; 12+ messages in thread From: Benjamin Tissoires @ 2011-06-08 11:31 UTC (permalink / raw) To: Chih-Wei Huang; +Cc: Thadeu Lima de Souza Cascardo, Jiri Kosina, linux-input Hi Chih-Wei and Cascardo, Sorry for coming late in the discussion, but I think I can add some ideas to it. Most of the time, when we (the multitouch guys) saw a device that sends ABS_Z and ABS_RX, and that the problem is worked around by adding the MULTI_INPUT quirk, that means to us that the device is a multitouch Win7 compatible one. So hid-multitouch must be able to handle it. Chih-Wei, if you are running android-x86 2.6.38 kernel, then removing the quirk should tell the generic hid layer not to handle it. Then adding it to the list of the devices handled by hid-multitouch should do the job: insert in mt_device the following + /* TouchPack touchscreen */ + { .driver_data = MT_CLS_DEFAULT, + HID_USB_DEVICE(USB_VENDOR_ID_TOUCHPACK, + USB_DEVICE_ID_TOUCHPACK_RTS) }, + For a proper kernel integration, we'll also need to add it to the hid_have_special_driver list in hid-core, but android-x86 kernel doesn't need it currently. On Wed, Jun 8, 2011 at 12:33, Chih-Wei Huang <cwhuang@android-x86.org> wrote: > 2011/6/3 Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com>: >> You should use the device capabilities, like what events it does >> generate. If it does generate X and Y axis events, that's the right >> device. > > Did you mean ABS_X and ABS_Y? Actually it is. > The android framework detects the touch device by: > > // Is this an old style single-touch driver? > if (test_bit(BTN_TOUCH, key_bitmask) > && test_bit(ABS_X, abs_bitmask) && test_bit(ABS_Y, abs_bitmask)) { > device->classes |= CLASS_TOUCHSCREEN; > } > > However, the output of getevent -p shows > > add device 2: /dev/input/event7 > name: "HID TOUCH HID Touch Panel" > events: > SYN (0000): 0000 0001 0003 0004 > KEY (0001): 0110 0111 0112 > ABS (0003): 0000 value 1428, min 0, max 4095, fuzz 0 flat 0 > 0001 value 1066, min 0, max 4095, fuzz 0 flat 0 > MSC (0004): 0004 > > add device 3: /dev/input/event6 > name: "HID TOUCH HID Touch Panel" > events: > SYN (0000): 0000 0001 0003 0004 > KEY (0001): 0140 014a 014b > ABS (0003): 0000 value 0, min 0, max 4095, fuzz 0 flat 0 > 0001 value 0, min 0, max 4095, fuzz 0 flat 0 > MSC (0004): 0004 > > Only event6 supports BTN_TOUCH, so it is detected > as the touch device. However, that's wrong -- > event7 is the right touch device. > > By removing the check test_bit(BTN_TOUCH, key_bitmask), > event7 is correctly detected and touchscreen now works. > > But I still have questions: > > * Is it intended to NOT support BTN_TOUCH in event7? > * Why two devices are detected by the kernel, > while there is only one touchscreen? That's the MULTI_INPUT quirk purpose, when the generic hid layer is not able to understand the report descriptors, one way to handle the different collections (i.e. touches) that contains the same fields is to split the device in several ones, one per touch. Cheers, Benjamin PS: Chih-Wei and Cascardo, if you need a patch instead of my awful English, don't hesitate to ask... ;-) > > -- > Chih-Wei > Android-x86 project > http://www.android-x86.org > -- > 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] 12+ messages in thread
* Re: ET1602 Touchscreen doesn't work 2011-06-08 11:31 ` Benjamin Tissoires @ 2011-06-08 12:57 ` Thadeu Lima de Souza Cascardo 2011-06-08 14:56 ` Chih-Wei Huang 0 siblings, 1 reply; 12+ messages in thread From: Thadeu Lima de Souza Cascardo @ 2011-06-08 12:57 UTC (permalink / raw) To: Benjamin Tissoires; +Cc: Chih-Wei Huang, Jiri Kosina, linux-input [-- Attachment #1: Type: text/plain, Size: 4063 bytes --] On Wed, Jun 08, 2011 at 01:31:26PM +0200, Benjamin Tissoires wrote: > Hi Chih-Wei and Cascardo, > > Sorry for coming late in the discussion, but I think I can add some ideas to it. > > Most of the time, when we (the multitouch guys) saw a device that > sends ABS_Z and ABS_RX, and that the problem is worked around by > adding the MULTI_INPUT quirk, that means to us that the device is a > multitouch Win7 compatible one. So hid-multitouch must be able to > handle it. > > Chih-Wei, if you are running android-x86 2.6.38 kernel, then removing > the quirk should tell the generic hid layer not to handle it. > Then adding it to the list of the devices handled by hid-multitouch > should do the job: insert in mt_device the following > > > + /* TouchPack touchscreen */ > + { .driver_data = MT_CLS_DEFAULT, > + HID_USB_DEVICE(USB_VENDOR_ID_TOUCHPACK, > + USB_DEVICE_ID_TOUCHPACK_RTS) }, > + > > For a proper kernel integration, we'll also need to add it to the > hid_have_special_driver list in hid-core, but android-x86 kernel > doesn't need it currently. > > On Wed, Jun 8, 2011 at 12:33, Chih-Wei Huang <cwhuang@android-x86.org> wrote: > > 2011/6/3 Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com>: > >> You should use the device capabilities, like what events it does > >> generate. If it does generate X and Y axis events, that's the right > >> device. > > > > Did you mean ABS_X and ABS_Y? Actually it is. > > The android framework detects the touch device by: > > > > // Is this an old style single-touch driver? > > if (test_bit(BTN_TOUCH, key_bitmask) > > && test_bit(ABS_X, abs_bitmask) && test_bit(ABS_Y, abs_bitmask)) { > > device->classes |= CLASS_TOUCHSCREEN; > > } > > > > However, the output of getevent -p shows > > > > add device 2: /dev/input/event7 > > name: "HID TOUCH HID Touch Panel" > > events: > > SYN (0000): 0000 0001 0003 0004 > > KEY (0001): 0110 0111 0112 > > ABS (0003): 0000 value 1428, min 0, max 4095, fuzz 0 flat 0 > > 0001 value 1066, min 0, max 4095, fuzz 0 flat 0 > > MSC (0004): 0004 > > > > add device 3: /dev/input/event6 > > name: "HID TOUCH HID Touch Panel" > > events: > > SYN (0000): 0000 0001 0003 0004 > > KEY (0001): 0140 014a 014b > > ABS (0003): 0000 value 0, min 0, max 4095, fuzz 0 flat 0 > > 0001 value 0, min 0, max 4095, fuzz 0 flat 0 > > MSC (0004): 0004 > > > > Only event6 supports BTN_TOUCH, so it is detected > > as the touch device. However, that's wrong -- > > event7 is the right touch device. > > > > By removing the check test_bit(BTN_TOUCH, key_bitmask), > > event7 is correctly detected and touchscreen now works. > > > > But I still have questions: > > > > * Is it intended to NOT support BTN_TOUCH in event7? > > * Why two devices are detected by the kernel, > > while there is only one touchscreen? > > That's the MULTI_INPUT quirk purpose, when the generic hid layer is > not able to understand the report descriptors, one way to handle the > different collections (i.e. touches) that contains the same fields is > to split the device in several ones, one per touch. > > Cheers, > Benjamin > > PS: Chih-Wei and Cascardo, if you need a patch instead of my awful > English, don't hesitate to ask... ;-) > Thanks, Benjamin. That clarifies a lot and points what the real fix should be for this device. Chih-Wei, could you send us the results of your tests? I don't have the device available right now. I could get it next week, perhaps, if my client still gets it. Regards, Cascardo. > > > > > -- > > Chih-Wei > > Android-x86 project > > http://www.android-x86.org > > -- > > 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 > > [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 836 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: ET1602 Touchscreen doesn't work 2011-06-08 12:57 ` Thadeu Lima de Souza Cascardo @ 2011-06-08 14:56 ` Chih-Wei Huang 2011-06-08 15:31 ` Thadeu Lima de Souza Cascardo 0 siblings, 1 reply; 12+ messages in thread From: Chih-Wei Huang @ 2011-06-08 14:56 UTC (permalink / raw) To: Thadeu Lima de Souza Cascardo Cc: Benjamin Tissoires, Jiri Kosina, linux-input Thanks, Benjamin and Cascardo. 2011/6/8 Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com>: > Thanks, Benjamin. That clarifies a lot and points what the real fix > should be for this device. > Chih-Wei, could you send us the results of your tests? I don't have the > device available right now. I could get it next week, perhaps, if my > client still gets it. I'm glad to do so. But what test results did you want me to show exactly? Let me clarify my situation: * Device under test: ASUS ET1602, touchscreen id (1bfd:1688). * Kernel: 2.6.38, with android patches (from Google) * Android version: 2.2.2 (froyo) By the previous observation from getevent, I added the following patch to android framework: diff --git a/libs/ui/EventHub.cpp b/libs/ui/EventHub.cpp index 0e11823..6ef9da1 100755 --- a/libs/ui/EventHub.cpp +++ b/libs/ui/EventHub.cpp @@ -670,7 +671,7 @@ int EventHub::open_device(const char *deviceName) device->classes |= CLASS_TOUCHSCREEN | CLASS_TOUCHSCREEN_MT; // Is this an old style single-touch driver? - } else if (test_bit(BTN_TOUCH, key_bitmask) + } else if ((test_bit(BTN_TOUCH, key_bitmask) || test_bit(BTN_MOUSE, key_bitmask)) && test_bit(ABS_X, abs_bitmask) && test_bit(ABS_Y, abs_bitmask)) { device->classes |= CLASS_TOUCHSCREEN; } Then the touch device (event7) is correctly recognized by the android framework and works fine. Without this patch, event7 is ignored and only event6 is detected, but no touch event generated from it. Let me know if you need more details. I'll try Benjamin's suggestion tomorrow. Regards, -- Chih-Wei Android-x86 project http://www.android-x86.org ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: ET1602 Touchscreen doesn't work 2011-06-08 14:56 ` Chih-Wei Huang @ 2011-06-08 15:31 ` Thadeu Lima de Souza Cascardo 2011-06-09 11:26 ` Chih-Wei Huang 0 siblings, 1 reply; 12+ messages in thread From: Thadeu Lima de Souza Cascardo @ 2011-06-08 15:31 UTC (permalink / raw) To: Chih-Wei Huang; +Cc: Benjamin Tissoires, Jiri Kosina, linux-input [-- Attachment #1: Type: text/plain, Size: 2129 bytes --] On Wed, Jun 08, 2011 at 10:56:29PM +0800, Chih-Wei Huang wrote: > Thanks, Benjamin and Cascardo. > > 2011/6/8 Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com>: > > Thanks, Benjamin. That clarifies a lot and points what the real fix > > should be for this device. > > Chih-Wei, could you send us the results of your tests? I don't have the > > device available right now. I could get it next week, perhaps, if my > > client still gets it. > > I'm glad to do so. > But what test results did you want me to show exactly? > > Let me clarify my situation: > * Device under test: ASUS ET1602, touchscreen id (1bfd:1688). > * Kernel: 2.6.38, with android patches (from Google) > * Android version: 2.2.2 (froyo) > > By the previous observation from getevent, I added > the following patch to android framework: > > diff --git a/libs/ui/EventHub.cpp b/libs/ui/EventHub.cpp > index 0e11823..6ef9da1 100755 > --- a/libs/ui/EventHub.cpp > +++ b/libs/ui/EventHub.cpp > @@ -670,7 +671,7 @@ int EventHub::open_device(const char *deviceName) > device->classes |= CLASS_TOUCHSCREEN | CLASS_TOUCHSCREEN_MT; > > // Is this an old style single-touch driver? > - } else if (test_bit(BTN_TOUCH, key_bitmask) > + } else if ((test_bit(BTN_TOUCH, key_bitmask) || > test_bit(BTN_MOUSE, key_bitmask)) > && test_bit(ABS_X, abs_bitmask) && test_bit(ABS_Y, abs_bitmask)) { > device->classes |= CLASS_TOUCHSCREEN; > } > > Then the touch device (event7) is correctly recognized by > the android framework and works fine. > > Without this patch, event7 is ignored and only event6 is detected, > but no touch event generated from it. > > Let me know if you need more details. > > I'll try Benjamin's suggestion tomorrow. > > Regards, > -- > Chih-Wei > Android-x86 project > http://www.android-x86.org I was referring to Benjamin's multi-touch solution, perhaps, reverting the multi-device patch already. By the way, did you test it without the multi-device patch and did it work, or did you test it only with 2.6.32? Regards, Cascardo. [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 836 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: ET1602 Touchscreen doesn't work 2011-06-08 15:31 ` Thadeu Lima de Souza Cascardo @ 2011-06-09 11:26 ` Chih-Wei Huang 2011-06-09 13:39 ` Thadeu Lima de Souza Cascardo 0 siblings, 1 reply; 12+ messages in thread From: Chih-Wei Huang @ 2011-06-09 11:26 UTC (permalink / raw) To: Thadeu Lima de Souza Cascardo Cc: Benjamin Tissoires, Jiri Kosina, linux-input 2011/6/8 Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com>: > I was referring to Benjamin's multi-touch solution, perhaps, reverting > the multi-device patch already. By the way, did you test it without the > multi-device patch and did it work, or did you test it only with 2.6.32? I'm not sure if I understood you correctly. I did these: * remove the quirk for touchpack in hid-quirks.c * change hid-multitouch.c as suggested by Benjamin. Test results: * The touchscreen is detected by hid-core. (only one device is detected) * Manually modprobe hid-multitouch, it didn't detect the touch device. * The android framework correctly recognized the touchscreen and it works well. The whole patch shows as below: diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c index 0c5e9c3..fab373a 100644 --- a/drivers/hid/hid-multitouch.c +++ b/drivers/hid/hid-multitouch.c @@ -713,6 +713,11 @@ static const struct hid_device_id mt_devices[] = { HID_USB_DEVICE(USB_VENDOR_ID_TOUCH_INTL, USB_DEVICE_ID_TOUCH_INTL_MULTI_TOUCH) }, + /* TouchPack touchscreen */ + { .driver_data = MT_CLS_DEFAULT, + HID_USB_DEVICE(USB_VENDOR_ID_TOUCHPACK, + USB_DEVICE_ID_TOUCHPACK_RTS) }, + /* Unitec panels */ { .driver_data = MT_CLS_DEFAULT, HID_USB_DEVICE(USB_VENDOR_ID_UNITEC, diff --git a/drivers/hid/usbhid/hid-quirks.c b/drivers/hid/usbhid/hid-quirks.c index 9a94b64..727f363 100644 --- a/drivers/hid/usbhid/hid-quirks.c +++ b/drivers/hid/usbhid/hid-quirks.c @@ -49,7 +49,7 @@ static const struct hid_blacklist { { USB_VENDOR_ID_ETURBOTOUCH, USB_DEVICE_ID_ETURBOTOUCH, HID_QUIRK_MULTI_INPUT }, { USB_VENDOR_ID_PANTHERLORD, USB_DEVICE_ID_PANTHERLORD_TWIN_USB_JOYSTICK, HID_QUIRK_MULTI_INPUT | HID_QUIRK_SKIP_OUTPUT_REPORTS }, { USB_VENDOR_ID_PLAYDOTCOM, USB_DEVICE_ID_PLAYDOTCOM_EMS_USBII, HID_QUIRK_MULTI_INPUT }, - { USB_VENDOR_ID_TOUCHPACK, USB_DEVICE_ID_TOUCHPACK_RTS, HID_QUIRK_MULTI_INPUT }, +// { USB_VENDOR_ID_TOUCHPACK, USB_DEVICE_ID_TOUCHPACK_RTS, HID_QUIRK_MULTI_INPUT }, { USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_UC100KM, HID_QUIRK_NOGET }, { USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_CS124U, HID_QUIRK_NOGET }, -- Chih-Wei Android-x86 project http://www.android-x86.org ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: ET1602 Touchscreen doesn't work 2011-06-09 11:26 ` Chih-Wei Huang @ 2011-06-09 13:39 ` Thadeu Lima de Souza Cascardo 2011-06-10 2:23 ` Chih-Wei Huang 0 siblings, 1 reply; 12+ messages in thread From: Thadeu Lima de Souza Cascardo @ 2011-06-09 13:39 UTC (permalink / raw) To: Chih-Wei Huang; +Cc: Benjamin Tissoires, Jiri Kosina, linux-input [-- Attachment #1: Type: text/plain, Size: 2901 bytes --] On Thu, Jun 09, 2011 at 07:26:58PM +0800, Chih-Wei Huang wrote: > 2011/6/8 Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com>: > > I was referring to Benjamin's multi-touch solution, perhaps, reverting > > the multi-device patch already. By the way, did you test it without the > > multi-device patch and did it work, or did you test it only with 2.6.32? > > I'm not sure if I understood you correctly. > I did these: > * remove the quirk for touchpack in hid-quirks.c > * change hid-multitouch.c as suggested by Benjamin. > > Test results: > * The touchscreen is detected by hid-core. > (only one device is detected) > * Manually modprobe hid-multitouch, > it didn't detect the touch device. > * The android framework correctly recognized > the touchscreen and it works well. > Nice. That was one of the tests. But have you tested without the quirck in hid-quirks and without the suggested change by Benjamin? Considering the device would indicate it supports RX and Z axis, but not X and Y axis, it should not work either in Android. Regards, Cascardo. > The whole patch shows as below: > > diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c > index 0c5e9c3..fab373a 100644 > --- a/drivers/hid/hid-multitouch.c > +++ b/drivers/hid/hid-multitouch.c > @@ -713,6 +713,11 @@ static const struct hid_device_id mt_devices[] = { > HID_USB_DEVICE(USB_VENDOR_ID_TOUCH_INTL, > USB_DEVICE_ID_TOUCH_INTL_MULTI_TOUCH) }, > > + /* TouchPack touchscreen */ > + { .driver_data = MT_CLS_DEFAULT, > + HID_USB_DEVICE(USB_VENDOR_ID_TOUCHPACK, > + USB_DEVICE_ID_TOUCHPACK_RTS) }, > + > /* Unitec panels */ > { .driver_data = MT_CLS_DEFAULT, > HID_USB_DEVICE(USB_VENDOR_ID_UNITEC, > diff --git a/drivers/hid/usbhid/hid-quirks.c b/drivers/hid/usbhid/hid-quirks.c > index 9a94b64..727f363 100644 > --- a/drivers/hid/usbhid/hid-quirks.c > +++ b/drivers/hid/usbhid/hid-quirks.c > @@ -49,7 +49,7 @@ static const struct hid_blacklist { > { USB_VENDOR_ID_ETURBOTOUCH, USB_DEVICE_ID_ETURBOTOUCH, > HID_QUIRK_MULTI_INPUT }, > { USB_VENDOR_ID_PANTHERLORD, > USB_DEVICE_ID_PANTHERLORD_TWIN_USB_JOYSTICK, HID_QUIRK_MULTI_INPUT | > HID_QUIRK_SKIP_OUTPUT_REPORTS }, > { USB_VENDOR_ID_PLAYDOTCOM, > USB_DEVICE_ID_PLAYDOTCOM_EMS_USBII, HID_QUIRK_MULTI_INPUT }, > - { USB_VENDOR_ID_TOUCHPACK, USB_DEVICE_ID_TOUCHPACK_RTS, > HID_QUIRK_MULTI_INPUT }, > +// { USB_VENDOR_ID_TOUCHPACK, USB_DEVICE_ID_TOUCHPACK_RTS, > HID_QUIRK_MULTI_INPUT }, > > { USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_UC100KM, HID_QUIRK_NOGET }, > { USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_CS124U, HID_QUIRK_NOGET }, > > > -- > Chih-Wei > Android-x86 project > http://www.android-x86.org [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 836 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: ET1602 Touchscreen doesn't work 2011-06-09 13:39 ` Thadeu Lima de Souza Cascardo @ 2011-06-10 2:23 ` Chih-Wei Huang 2011-06-13 15:09 ` Thadeu Lima de Souza Cascardo 0 siblings, 1 reply; 12+ messages in thread From: Chih-Wei Huang @ 2011-06-10 2:23 UTC (permalink / raw) To: Thadeu Lima de Souza Cascardo Cc: Benjamin Tissoires, Jiri Kosina, linux-input 2011/6/9 Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com>: > Nice. That was one of the tests. But have you tested without the quirck > in hid-quirks and without the suggested change by Benjamin? Considering > the device would indicate it supports RX and Z axis, but not X and Y > axis, it should not work either in Android. Did you mean just remove this line in hid-quirks.c? { USB_VENDOR_ID_TOUCHPACK, USB_DEVICE_ID_TOUCHPACK_RTS, HID_QUIRK_MULTI_INPUT }, That's what I've tried (with and without Benjamin's change) . Yes, it works in Android 2.2. -- Chih-Wei Android-x86 project http://www.android-x86.org ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: ET1602 Touchscreen doesn't work 2011-06-10 2:23 ` Chih-Wei Huang @ 2011-06-13 15:09 ` Thadeu Lima de Souza Cascardo 0 siblings, 0 replies; 12+ messages in thread From: Thadeu Lima de Souza Cascardo @ 2011-06-13 15:09 UTC (permalink / raw) To: Chih-Wei Huang; +Cc: Benjamin Tissoires, Jiri Kosina, linux-input [-- Attachment #1: Type: text/plain, Size: 1214 bytes --] On Fri, Jun 10, 2011 at 10:23:06AM +0800, Chih-Wei Huang wrote: > 2011/6/9 Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com>: > > Nice. That was one of the tests. But have you tested without the quirck > > in hid-quirks and without the suggested change by Benjamin? Considering > > the device would indicate it supports RX and Z axis, but not X and Y > > axis, it should not work either in Android. > > Did you mean just remove this line in hid-quirks.c? > > { USB_VENDOR_ID_TOUCHPACK, USB_DEVICE_ID_TOUCHPACK_RTS, HID_QUIRK_MULTI_INPUT }, > > That's what I've tried (with and without Benjamin's change) . > Yes, it works in Android 2.2. > Yes, that's what I meant. The problem is: without the patch, X.org won't work with the drivers I've tested it with; with the patch, Android won't work. I am curious, because the code you've sent only checked for X and Y axis and without the patch, the single device would not send events in these axis, IIRC. I will check if I have this particular device available and do some tests with current Linux (2.6.39.1) and more recent X.org drivers. Regards, Cascardo. > -- > Chih-Wei > Android-x86 project > http://www.android-x86.org [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 836 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2011-06-13 15:09 UTC | newest] Thread overview: 12+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <BANLkTikX9njth-jP6PpQuwL9sTUciu1nQA@mail.gmail.com> 2011-06-02 14:41 ` ET1602 Touchscreen doesn't work Thadeu Lima de Souza Cascardo 2011-06-03 4:02 ` Chih-Wei Huang 2011-06-03 12:44 ` Thadeu Lima de Souza Cascardo 2011-06-08 10:33 ` Chih-Wei Huang 2011-06-08 11:31 ` Benjamin Tissoires 2011-06-08 12:57 ` Thadeu Lima de Souza Cascardo 2011-06-08 14:56 ` Chih-Wei Huang 2011-06-08 15:31 ` Thadeu Lima de Souza Cascardo 2011-06-09 11:26 ` Chih-Wei Huang 2011-06-09 13:39 ` Thadeu Lima de Souza Cascardo 2011-06-10 2:23 ` Chih-Wei Huang 2011-06-13 15:09 ` Thadeu Lima de Souza Cascardo
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).