* Elo TouchSystems touchscreen support? (04e7:0022) @ 2011-01-31 14:54 Bastien Nocera 2011-01-31 21:28 ` Henrik Rydberg 0 siblings, 1 reply; 17+ messages in thread From: Bastien Nocera @ 2011-01-31 14:54 UTC (permalink / raw) To: linux-input [-- Attachment #1: Type: text/plain, Size: 476 bytes --] Heya, Built into my Lenovo A700 all-in-one is a touchscreen. lsusb says: $ lsusb | grep -i touch Bus 002 Device 006: ID 04e7:0022 Elo TouchSystems The touchscreen "works", in that tapping it will create a click event, though that click event is always in the top left of the screen. Full output of lsusb -vvv attached. Anybody with ideas as to what I'm missing, or whether that particular device is supported? Using kernel 2.6.38-rc2-git5 (from Fedora rawhide). Cheers [-- Attachment #2: touchscreen-lsusb.txt --] [-- Type: text/plain, Size: 2042 bytes --] Bus 002 Device 006: ID 04e7:0022 Elo TouchSystems Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x04e7 Elo TouchSystems idProduct 0x0022 bcdDevice 1.16 iManufacturer 1 Elo TouchSystems iProduct 2 Elo TouchSystems 2515 IntelliTouch Plus USB Touchmonitor iSerial 3 00000000 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 34 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xe0 Self Powered Remote Wakeup MaxPower 4mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 Human Interface Device bInterfaceSubClass 0 No Subclass bInterfaceProtocol 0 None iInterface 0 HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 1.11 bCountryCode 0 Not supported bNumDescriptors 1 bDescriptorType 34 Report wDescriptorLength 273 Report Descriptors: ** UNAVAILABLE ** Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0010 1x 16 bytes bInterval 3 Device Status: 0x0001 Self Powered ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Elo TouchSystems touchscreen support? (04e7:0022) 2011-01-31 14:54 Elo TouchSystems touchscreen support? (04e7:0022) Bastien Nocera @ 2011-01-31 21:28 ` Henrik Rydberg 2011-02-01 9:00 ` Benjamin Tissoires 0 siblings, 1 reply; 17+ messages in thread From: Henrik Rydberg @ 2011-01-31 21:28 UTC (permalink / raw) To: Bastien Nocera; +Cc: linux-input Hi Bastien, > Built into my Lenovo A700 all-in-one is a touchscreen. lsusb says: > $ lsusb | grep -i touch > Bus 002 Device 006: ID 04e7:0022 Elo TouchSystems I take it this is a dual-touch device? > The touchscreen "works", in that tapping it will create a click event, > though that click event is always in the top left of the screen. This is quite common for HID multitouch devices without proper driver support. Sometimes using the HID_MULTI_INPUT quirk helps. Check usbhid/hid-quirks.c for examples. > Full output of lsusb -vvv attached. > > Anybody with ideas as to what I'm missing, or whether that particular > device is supported? You probably noted already that the 04e7:0020 device is listed in usbhid. Unless the device claims to be win7 compliant (implying patching up hid-multitouch), going with the evtouch X driver might get you a bit on the way. Or - god forbid - the binary blob drivers... > Using kernel 2.6.38-rc2-git5 (from Fedora rawhide). The serial elo driver has not been updated since 2007... Cheers, Henrik ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Elo TouchSystems touchscreen support? (04e7:0022) 2011-01-31 21:28 ` Henrik Rydberg @ 2011-02-01 9:00 ` Benjamin Tissoires 2011-02-01 12:01 ` Bastien Nocera 0 siblings, 1 reply; 17+ messages in thread From: Benjamin Tissoires @ 2011-02-01 9:00 UTC (permalink / raw) To: Henrik Rydberg; +Cc: Bastien Nocera, linux-input Hi Bastien, Henrik, On Mon, Jan 31, 2011 at 22:28, Henrik Rydberg <rydberg@euromail.se> wrote: > Hi Bastien, > >> Built into my Lenovo A700 all-in-one is a touchscreen. lsusb says: >> $ lsusb | grep -i touch >> Bus 002 Device 006: ID 04e7:0022 Elo TouchSystems > > I take it this is a dual-touch device? > >> The touchscreen "works", in that tapping it will create a click event, >> though that click event is always in the top left of the screen. > > This is quite common for HID multitouch devices without proper driver > support. Sometimes using the HID_MULTI_INPUT quirk helps. Check > usbhid/hid-quirks.c for examples. > >> Full output of lsusb -vvv attached. >> >> Anybody with ideas as to what I'm missing, or whether that particular >> device is supported? > > You probably noted already that the 04e7:0020 device is listed in > usbhid. Unless the device claims to be win7 compliant (implying > patching up hid-multitouch), going with the evtouch X driver might get > you a bit on the way. Or - god forbid - the binary blob drivers... To know if the device is "win7 compliant" or not, we need the full output of lsusb (with the report descriptors). You need to tell usbhid to release the device before calling lsusb -v. Please use the script at http://lii-enac.fr/en/architecture/linux-input/report.py and run, as root: python report.py > descriptors.txt This will do the job. You can then send us the descriptors.txt, and we will see what we can do. > >> Using kernel 2.6.38-rc2-git5 (from Fedora rawhide). If your device is "win7 compliant" you will have to recompile a new kernel. Cheers, Benjamin > > The serial elo driver has not been updated since 2007... > > Cheers, > Henrik > -- > 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] 17+ messages in thread
* Re: Elo TouchSystems touchscreen support? (04e7:0022) 2011-02-01 9:00 ` Benjamin Tissoires @ 2011-02-01 12:01 ` Bastien Nocera 2011-02-01 13:25 ` Benjamin Tissoires 2011-02-01 13:26 ` Henrik Rydberg 0 siblings, 2 replies; 17+ messages in thread From: Bastien Nocera @ 2011-02-01 12:01 UTC (permalink / raw) To: Benjamin Tissoires; +Cc: Henrik Rydberg, linux-input [-- Attachment #1: Type: text/plain, Size: 1838 bytes --] On Tue, 2011-02-01 at 10:00 +0100, Benjamin Tissoires wrote: > Hi Bastien, Henrik, > > On Mon, Jan 31, 2011 at 22:28, Henrik Rydberg <rydberg@euromail.se> wrote: > > Hi Bastien, > > > >> Built into my Lenovo A700 all-in-one is a touchscreen. lsusb says: > >> $ lsusb | grep -i touch > >> Bus 002 Device 006: ID 04e7:0022 Elo TouchSystems > > > > I take it this is a dual-touch device? > > > >> The touchscreen "works", in that tapping it will create a click event, > >> though that click event is always in the top left of the screen. > > > > This is quite common for HID multitouch devices without proper driver > > support. Sometimes using the HID_MULTI_INPUT quirk helps. Check > > usbhid/hid-quirks.c for examples. > > > >> Full output of lsusb -vvv attached. > >> > >> Anybody with ideas as to what I'm missing, or whether that particular > >> device is supported? > > > > You probably noted already that the 04e7:0020 device is listed in > > usbhid. Unless the device claims to be win7 compliant (implying > > patching up hid-multitouch), going with the evtouch X driver might get > > you a bit on the way. Or - god forbid - the binary blob drivers... > > To know if the device is "win7 compliant" or not, we need the full > output of lsusb (with the report descriptors). > You need to tell usbhid to release the device before calling lsusb -v. > > Please use the script at > http://lii-enac.fr/en/architecture/linux-input/report.py > and run, as root: python report.py > descriptors.txt > > This will do the job. You can then send us the descriptors.txt, and we > will see what we can do. Attached (with the rest of the input devices stripped). > >> Using kernel 2.6.38-rc2-git5 (from Fedora rawhide). > > If your device is "win7 compliant" you will have to recompile a new kernel. That's alright, I've done this before ;) [-- Attachment #2: elo-touchscreen-descriptors.txt --] [-- Type: text/plain, Size: 14991 bytes --] found device HID 0a5c:4502 echo 2-1.1.1:1.0 > unbind found device USB Audio echo 2-1.3:1.3 > unbind found device HID 0a5c:4503 echo 2-1.1.2:1.0 > unbind found device Elo TouchSystems Elo TouchSystems 2515 IntelliTouch Plus USB Touchmonitor echo 2-1.6:1.0 > unbind echo 1-1.5.1:1.0 > unbind echo 1-1.5.2:1.0 > unbind lsusb -v -d 000004E7:00000022 Bus 002 Device 006: ID 04e7:0022 Elo TouchSystems Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x04e7 Elo TouchSystems idProduct 0x0022 bcdDevice 1.16 iManufacturer 1 Elo TouchSystems iProduct 2 Elo TouchSystems 2515 IntelliTouch Plus USB Touchmonitor iSerial 3 00000000 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 34 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xe0 Self Powered Remote Wakeup MaxPower 4mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 Human Interface Device bInterfaceSubClass 0 No Subclass bInterfaceProtocol 0 None iInterface 0 HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 1.11 bCountryCode 0 Not supported bNumDescriptors 1 bDescriptorType 34 Report wDescriptorLength 273 Report Descriptor: (length is 273) Item(Global): Usage Page, data= [ 0x0d ] 13 Digitizer Item(Local ): Usage, data= [ 0x04 ] 4 Touch Screen Item(Main ): Collection, data= [ 0x01 ] 1 Application Item(Global): Report ID, data= [ 0x01 ] 1 Item(Local ): Usage, data= [ 0x22 ] 34 Finger Item(Main ): Collection, data= [ 0x02 ] 2 Logical Item(Local ): Usage, data= [ 0x42 ] 66 Tip Switch Item(Global): Logical Minimum, data= [ 0x00 ] 0 Item(Global): Logical Maximum, data= [ 0x01 ] 1 Item(Global): Report Size, data= [ 0x01 ] 1 Item(Global): Report Count, data= [ 0x01 ] 1 Item(Main ): Input, data= [ 0x02 ] 2 Data Variable Absolute No_Wrap Linear Preferred_State No_Null_Position Non_Volatile Bitfield Item(Local ): Usage, data= [ 0x32 ] 50 In Range Item(Main ): Input, data= [ 0x02 ] 2 Data Variable Absolute No_Wrap Linear Preferred_State No_Null_Position Non_Volatile Bitfield Item(Global): Report Count, data= [ 0x06 ] 6 Item(Main ): Input, data= [ 0x03 ] 3 Constant Variable Absolute No_Wrap Linear Preferred_State No_Null_Position Non_Volatile Bitfield Item(Global): Report Size, data= [ 0x08 ] 8 Item(Local ): Usage, data= [ 0x51 ] 81 Contact ID Item(Global): Report Count, data= [ 0x01 ] 1 Item(Main ): Input, data= [ 0x02 ] 2 Data Variable Absolute No_Wrap Linear Preferred_State No_Null_Position Non_Volatile Bitfield Item(Global): Usage Page, data= [ 0x01 ] 1 Generic Desktop Controls Item(Global): Logical Maximum, data= [ 0xff 0x0f ] 4095 Item(Global): Report Size, data= [ 0x10 ] 16 Item(Global): Unit Exponent, data= [ 0x0e ] 14 Unit Exponent: 14 Item(Global): Unit, data= [ 0x33 ] 51 System: English Linear, Unit: Inch^3 Item(Local ): Usage, data= [ 0x30 ] 48 Direction-X Item(Global): Physical Minimum, data= [ 0x00 ] 0 Item(Global): Physical Maximum, data= [ 0xff 0x0f ] 4095 Item(Main ): Input, data= [ 0x02 ] 2 Data Variable Absolute No_Wrap Linear Preferred_State No_Null_Position Non_Volatile Bitfield Item(Global): Physical Maximum, data= [ 0xff 0x0f ] 4095 Item(Local ): Usage, data= [ 0x31 ] 49 Direction-Y Item(Main ): Input, data= [ 0x02 ] 2 Data Variable Absolute No_Wrap Linear Preferred_State No_Null_Position Non_Volatile Bitfield Item(Main ): End Collection, data=none Item(Main ): Collection, data= [ 0x02 ] 2 Logical Item(Global): Usage Page, data= [ 0x0d ] 13 Digitizer Item(Local ): Usage, data= [ 0x42 ] 66 Tip Switch Item(Global): Logical Minimum, data= [ 0x00 ] 0 Item(Global): Logical Maximum, data= [ 0x01 ] 1 Item(Global): Report Size, data= [ 0x01 ] 1 Item(Global): Report Count, data= [ 0x01 ] 1 Item(Main ): Input, data= [ 0x02 ] 2 Data Variable Absolute No_Wrap Linear Preferred_State No_Null_Position Non_Volatile Bitfield Item(Local ): Usage, data= [ 0x32 ] 50 In Range Item(Main ): Input, data= [ 0x02 ] 2 Data Variable Absolute No_Wrap Linear Preferred_State No_Null_Position Non_Volatile Bitfield Item(Global): Report Count, data= [ 0x06 ] 6 Item(Main ): Input, data= [ 0x03 ] 3 Constant Variable Absolute No_Wrap Linear Preferred_State No_Null_Position Non_Volatile Bitfield Item(Global): Report Size, data= [ 0x08 ] 8 Item(Local ): Usage, data= [ 0x51 ] 81 Contact ID Item(Global): Report Count, data= [ 0x01 ] 1 Item(Main ): Input, data= [ 0x02 ] 2 Data Variable Absolute No_Wrap Linear Preferred_State No_Null_Position Non_Volatile Bitfield Item(Global): Usage Page, data= [ 0x01 ] 1 Generic Desktop Controls Item(Global): Logical Maximum, data= [ 0xff 0x0f ] 4095 Item(Global): Report Size, data= [ 0x10 ] 16 Item(Global): Unit Exponent, data= [ 0x00 ] 0 Unit Exponent: 0 Item(Global): Unit, data= [ 0x00 ] 0 System: None, Unit: (None) Item(Local ): Usage, data= [ 0x30 ] 48 Direction-X Item(Global): Physical Minimum, data= [ 0x00 ] 0 Item(Global): Physical Maximum, data= [ 0xff 0x0f ] 4095 Item(Main ): Input, data= [ 0x02 ] 2 Data Variable Absolute No_Wrap Linear Preferred_State No_Null_Position Non_Volatile Bitfield Item(Global): Physical Maximum, data= [ 0xff 0x0f ] 4095 Item(Local ): Usage, data= [ 0x31 ] 49 Direction-Y Item(Main ): Input, data= [ 0x02 ] 2 Data Variable Absolute No_Wrap Linear Preferred_State No_Null_Position Non_Volatile Bitfield Item(Main ): End Collection, data=none Item(Global): Usage Page, data= [ 0x0d ] 13 Digitizer Item(Local ): Usage, data= [ 0x54 ] 84 Contact Count Item(Global): Logical Maximum, data= [ 0x10 ] 16 Item(Global): Report Count, data= [ 0x01 ] 1 Item(Global): Report Size, data= [ 0x08 ] 8 Item(Main ): Input, data= [ 0x02 ] 2 Data Variable Absolute No_Wrap Linear Preferred_State No_Null_Position Non_Volatile Bitfield Item(Global): Report ID, data= [ 0x08 ] 8 Item(Local ): Usage, data= [ 0x55 ] 85 Maximum Contact Number Item(Global): Logical Maximum, data= [ 0x02 ] 2 Item(Main ): Feature, data= [ 0x02 ] 2 Data Variable Absolute No_Wrap Linear Preferred_State No_Null_Position Non_Volatile Bitfield Item(Main ): End Collection, data=none Item(Local ): Usage, data= [ 0x0e ] 14 (null) Item(Main ): Collection, data= [ 0x01 ] 1 Application Item(Global): Report ID, data= [ 0x07 ] 7 Item(Local ): Usage, data= [ 0x22 ] 34 Finger Item(Main ): Collection, data= [ 0x00 ] 0 Physical Item(Local ): Usage, data= [ 0x52 ] 82 Input Mode Item(Local ): Usage, data= [ 0x53 ] 83 Device Index Item(Global): Logical Minimum, data= [ 0x00 ] 0 Item(Global): Logical Maximum, data= [ 0x0a ] 10 Item(Global): Report Size, data= [ 0x08 ] 8 Item(Global): Report Count, data= [ 0x02 ] 2 Item(Main ): Feature, data= [ 0x02 ] 2 Data Variable Absolute No_Wrap Linear Preferred_State No_Null_Position Non_Volatile Bitfield Item(Main ): End Collection, data=none Item(Global): Usage Page, data= [ 0x00 0xff ] 65280 (null) Item(Local ): Usage, data= [ 0x55 ] 85 (null) Item(Global): Report ID, data= [ 0x80 ] 128 Item(Global): Logical Minimum, data= [ 0x00 ] 0 Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255 Item(Global): Report Size, data= [ 0x08 ] 8 Item(Global): Report Count, data= [ 0x01 ] 1 Item(Main ): Feature, data= [ 0x82 ] 130 Data Variable Absolute No_Wrap Linear Preferred_State No_Null_Position Volatile Bitfield Item(Main ): End Collection, data=none Item(Global): Usage Page, data= [ 0x01 ] 1 Generic Desktop Controls Item(Local ): Usage, data= [ 0x02 ] 2 Mouse Item(Main ): Collection, data= [ 0x01 ] 1 Application Item(Global): Report ID, data= [ 0x54 ] 84 Item(Local ): Usage, data= [ 0x01 ] 1 Pointer Item(Main ): Collection, data= [ 0x00 ] 0 Physical Item(Global): Usage Page, data= [ 0x09 ] 9 Buttons Item(Local ): Usage Minimum, data= [ 0x01 ] 1 Button 1 (Primary) Item(Local ): Usage Maximum, data= [ 0x02 ] 2 Button 2 (Secondary) Item(Global): Logical Minimum, data= [ 0x00 ] 0 Item(Global): Logical Maximum, data= [ 0x01 ] 1 Item(Global): Report Size, data= [ 0x01 ] 1 Item(Global): Report Count, data= [ 0x02 ] 2 Item(Main ): Input, data= [ 0x02 ] 2 Data Variable Absolute No_Wrap Linear Preferred_State No_Null_Position Non_Volatile Bitfield Item(Global): Report Count, data= [ 0x06 ] 6 Item(Main ): Input, data= [ 0x03 ] 3 Constant Variable Absolute No_Wrap Linear Preferred_State No_Null_Position Non_Volatile Bitfield Item(Global): Usage Page, data= [ 0x01 ] 1 Generic Desktop Controls Item(Local ): Usage, data= [ 0x30 ] 48 Direction-X Item(Global): Logical Minimum, data= [ 0x00 ] 0 Item(Global): Logical Maximum, data= [ 0xff 0x0f ] 4095 Item(Global): Report Size, data= [ 0x10 ] 16 Item(Global): Report Count, data= [ 0x01 ] 1 Item(Main ): Input, data= [ 0x02 ] 2 Data Variable Absolute No_Wrap Linear Preferred_State No_Null_Position Non_Volatile Bitfield Item(Local ): Usage, data= [ 0x31 ] 49 Direction-Y Item(Global): Report Size, data= [ 0x10 ] 16 Item(Global): Report Count, data= [ 0x01 ] 1 Item(Main ): Input, data= [ 0x02 ] 2 Data Variable Absolute No_Wrap Linear Preferred_State No_Null_Position Non_Volatile Bitfield Item(Local ): Usage, data= [ 0x3b ] 59 Byte Count Item(Global): Logical Minimum, data= [ 0x00 0x00 ] 0 Item(Global): Logical Maximum, data= [ 0x00 0x01 ] 256 Item(Global): Physical Minimum, data= [ 0x00 0x00 ] 0 Item(Global): Physical Maximum, data= [ 0x00 0x01 ] 256 Item(Global): Unit, data= [ 0x00 0x00 ] 0 System: None, Unit: (None) Item(Global): Report Size, data= [ 0x10 ] 16 Item(Global): Report Count, data= [ 0x01 ] 1 Item(Main ): Input, data= [ 0x62 ] 98 Data Variable Absolute No_Wrap Linear No_Preferred_State Null_State Non_Volatile Bitfield Item(Main ): End Collection, data=none Item(Main ): End Collection, data=none Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0010 1x 16 bytes bInterval 3 Device Status: 0x0001 Self Powered echo 2-1.1.1:1.0 > bind echo 2-1.3:1.3 > bind echo 2-1.1.2:1.0 > bind echo 2-1.6:1.0 > bind echo 1-1.5.1:1.0 > bind echo 1-1.5.2:1.0 > bind ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Elo TouchSystems touchscreen support? (04e7:0022) 2011-02-01 12:01 ` Bastien Nocera @ 2011-02-01 13:25 ` Benjamin Tissoires 2011-02-02 12:42 ` Bastien Nocera 2011-02-01 13:26 ` Henrik Rydberg 1 sibling, 1 reply; 17+ messages in thread From: Benjamin Tissoires @ 2011-02-01 13:25 UTC (permalink / raw) To: Bastien Nocera; +Cc: Henrik Rydberg, linux-input [-- Attachment #1: Type: text/plain, Size: 3110 bytes --] On Tue, Feb 1, 2011 at 13:01, Bastien Nocera <hadess@hadess.net> wrote: > On Tue, 2011-02-01 at 10:00 +0100, Benjamin Tissoires wrote: >> Hi Bastien, Henrik, >> >> On Mon, Jan 31, 2011 at 22:28, Henrik Rydberg <rydberg@euromail.se> wrote: >> > Hi Bastien, >> > >> >> Built into my Lenovo A700 all-in-one is a touchscreen. lsusb says: >> >> $ lsusb | grep -i touch >> >> Bus 002 Device 006: ID 04e7:0022 Elo TouchSystems >> > >> > I take it this is a dual-touch device? >> > >> >> The touchscreen "works", in that tapping it will create a click event, >> >> though that click event is always in the top left of the screen. >> > >> > This is quite common for HID multitouch devices without proper driver >> > support. Sometimes using the HID_MULTI_INPUT quirk helps. Check >> > usbhid/hid-quirks.c for examples. >> > >> >> Full output of lsusb -vvv attached. >> >> >> >> Anybody with ideas as to what I'm missing, or whether that particular >> >> device is supported? >> > >> > You probably noted already that the 04e7:0020 device is listed in >> > usbhid. Unless the device claims to be win7 compliant (implying >> > patching up hid-multitouch), going with the evtouch X driver might get >> > you a bit on the way. Or - god forbid - the binary blob drivers... >> >> To know if the device is "win7 compliant" or not, we need the full >> output of lsusb (with the report descriptors). >> You need to tell usbhid to release the device before calling lsusb -v. >> >> Please use the script at >> http://lii-enac.fr/en/architecture/linux-input/report.py >> and run, as root: python report.py > descriptors.txt >> >> This will do the job. You can then send us the descriptors.txt, and we >> will see what we can do. > > Attached (with the rest of the input devices stripped). > >> >> Using kernel 2.6.38-rc2-git5 (from Fedora rawhide). >> >> If your device is "win7 compliant" you will have to recompile a new kernel. > > That's alright, I've done this before ;) > Hi Bastian, well, apparently your device should be supported by hid-multitouch. We will have to do this in two passes: 1) we enable it with hid-multitouch to be able to understand the protocol. 2) we tune the driver in order not making useless operations in the kernel. First pass: - please get the branch multitouch of jiri's tree (at http://git.kernel.org/?p=linux/kernel/git/jikos/hid.git;a=shortlog;h=refs/heads/multitouch) - then apply the attached patch (git am 0001-hid-multitouch-Introduce-Elo-TouchSystems-2515-Intel.patch) - get your config from your current kernel (check that hid-multitouch is enabled as a module) - compile, install, reboot - Now your device should still work and must be handled by hid-multitouch if it's the case: - mount -t debugfs none /sys/kernel/debug - tail -f -n0 /sys/kernel/debug/hid/0003:04e7:0022:*/events | tee logs_04e7_0022.txt do one finger move on the screen, release do 2 fingers move on the screen, release the first finger, then the second. hit Ctrl-C in the terminal (lots of debug info should have been printed). And send me the logs_04e7_0022.txt to got to the second pass. Thanks, Benjamin [-- Attachment #2: 0001-hid-multitouch-Introduce-Elo-TouchSystems-2515-Intel.patch --] [-- Type: text/x-patch, Size: 2814 bytes --] From e398db4b75f1164e8a684f0a1b15218eaabb5606 Mon Sep 17 00:00:00 2001 From: Benjamin Tissoires <benjamin.tissoires@enac.fr> Date: Tue, 1 Feb 2011 14:07:12 +0100 Subject: [PATCH] hid-multitouch: Introduce Elo TouchSystems 2515 IntelliTouch Plus This patch adds support for Elo TouchSystems 2515 IntelliTouch Plus that can be found in Lenovo A700 all-in-one. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr> --- drivers/hid/Kconfig | 1 + drivers/hid/hid-core.c | 1 + drivers/hid/hid-ids.h | 1 + drivers/hid/hid-multitouch.c | 5 +++++ 4 files changed, 8 insertions(+), 0 deletions(-) diff --git a/drivers/hid/Kconfig b/drivers/hid/Kconfig index a0b117d..d373635 100644 --- a/drivers/hid/Kconfig +++ b/drivers/hid/Kconfig @@ -303,6 +303,7 @@ config HID_MULTITOUCH Say Y here if you have one of the following devices: - Cypress TrueTouch panels + - Elo TouchSystems IntelliTouch Plus panels - Hanvon dual touch panels - IrTouch Infrared USB panels - Pixcir dual touch panels diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c index d678cf3..e701e57 100644 --- a/drivers/hid/hid-core.c +++ b/drivers/hid/hid-core.c @@ -1334,6 +1334,7 @@ static const struct hid_device_id hid_have_special_driver[] = { { 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_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) }, { HID_USB_DEVICE(USB_VENDOR_ID_EZKEY, USB_DEVICE_ID_BTC_8193) }, { HID_USB_DEVICE(USB_VENDOR_ID_GAMERON, USB_DEVICE_ID_GAMERON_DUAL_PSX_ADAPTOR) }, diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h index b1dd7ad..7780c48 100644 --- a/drivers/hid/hid-ids.h +++ b/drivers/hid/hid-ids.h @@ -216,6 +216,7 @@ #define USB_VENDOR_ID_DREAM_CHEEKY 0x1d34 #define USB_VENDOR_ID_ELO 0x04E7 +#define USB_DEVICE_ID_ELO_TS2515 0x0022 #define USB_DEVICE_ID_ELO_TS2700 0x0020 #define USB_VENDOR_ID_EMS 0x2006 diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c index 69f8744..a721710 100644 --- a/drivers/hid/hid-multitouch.c +++ b/drivers/hid/hid-multitouch.c @@ -466,6 +466,11 @@ static const struct hid_device_id mt_devices[] = { HID_USB_DEVICE(USB_VENDOR_ID_CYPRESS, USB_DEVICE_ID_CYPRESS_TRUETOUCH) }, + /* Elo TouchSystems IntelliTouch Plus panel */ + { .driver_data = MT_CLS_DEFAULT, + HID_USB_DEVICE(USB_VENDOR_ID_ELO, + USB_DEVICE_ID_ELO_TS2515) }, + /* GeneralTouch panel */ { .driver_data = MT_CLS_DUAL_INRANGE_CONTACTNUMBER, HID_USB_DEVICE(USB_VENDOR_ID_GENERAL_TOUCH, -- 1.7.3.4 ^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: Elo TouchSystems touchscreen support? (04e7:0022) 2011-02-01 13:25 ` Benjamin Tissoires @ 2011-02-02 12:42 ` Bastien Nocera 2011-02-02 13:18 ` Benjamin Tissoires 0 siblings, 1 reply; 17+ messages in thread From: Bastien Nocera @ 2011-02-02 12:42 UTC (permalink / raw) To: Benjamin Tissoires; +Cc: Henrik Rydberg, linux-input On Tue, 2011-02-01 at 14:25 +0100, Benjamin Tissoires wrote: <snip> > First pass: > - please get the branch multitouch of jiri's tree (at > http://git.kernel.org/?p=linux/kernel/git/jikos/hid.git;a=shortlog;h=refs/heads/multitouch) > - then apply the attached patch (git am > 0001-hid-multitouch-Introduce-Elo-TouchSystems-2515-Intel.patch) > - get your config from your current kernel (check that hid-multitouch > is enabled as a module) > - compile, install, reboot That's where I hit a problem. It seems that the kernel on which that branch is based has broken cgroups support (it panics on startup). Would your patch, or a patchset be available to apply to the close to Linus tree Fedora rawhide kernel? > - Now your device should still work and must be handled by hid-multitouch > if it's the case: As soon as I manage to get it to boot, I'll be doing that :) Cheers ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Elo TouchSystems touchscreen support? (04e7:0022) 2011-02-02 12:42 ` Bastien Nocera @ 2011-02-02 13:18 ` Benjamin Tissoires 2011-02-02 13:20 ` Benjamin Tissoires 0 siblings, 1 reply; 17+ messages in thread From: Benjamin Tissoires @ 2011-02-02 13:18 UTC (permalink / raw) To: Bastien Nocera; +Cc: Henrik Rydberg, linux-input On Wed, Feb 2, 2011 at 13:42, Bastien Nocera <hadess@hadess.net> wrote: > On Tue, 2011-02-01 at 14:25 +0100, Benjamin Tissoires wrote: > <snip> >> First pass: >> - please get the branch multitouch of jiri's tree (at >> http://git.kernel.org/?p=linux/kernel/git/jikos/hid.git;a=shortlog;h=refs/heads/multitouch) >> - then apply the attached patch (git am >> 0001-hid-multitouch-Introduce-Elo-TouchSystems-2515-Intel.patch) >> - get your config from your current kernel (check that hid-multitouch >> is enabled as a module) >> - compile, install, reboot > > That's where I hit a problem. It seems that the kernel on which that > branch is based has broken cgroups support (it panics on startup). > > Would your patch, or a patchset be available to apply to the close to > Linus tree Fedora rawhide kernel? Hi Bastien, Sorry for that. Attached a new version that bumps a Linus' 2.6.38-rc2 or 2.6.38-rc3 to Jiri's tree and applies the patch above. If it's still not working, I'll send you the files directly ;) > >> - Now your device should still work and must be handled by hid-multitouch >> if it's the case: > > As soon as I manage to get it to boot, I'll be doing that :) Cool ;) Cheers, Benjamin ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Elo TouchSystems touchscreen support? (04e7:0022) 2011-02-02 13:18 ` Benjamin Tissoires @ 2011-02-02 13:20 ` Benjamin Tissoires [not found] ` <1296922260.4223.4.camel@novo.hadess.net> 0 siblings, 1 reply; 17+ messages in thread From: Benjamin Tissoires @ 2011-02-02 13:20 UTC (permalink / raw) To: Bastien Nocera; +Cc: Henrik Rydberg, linux-input [-- Attachment #1: Type: text/plain, Size: 1368 bytes --] With the patch this time.... ;) On Wed, Feb 2, 2011 at 14:18, Benjamin Tissoires <benjamin.tissoires@gmail.com> wrote: > On Wed, Feb 2, 2011 at 13:42, Bastien Nocera <hadess@hadess.net> wrote: >> On Tue, 2011-02-01 at 14:25 +0100, Benjamin Tissoires wrote: >> <snip> >>> First pass: >>> - please get the branch multitouch of jiri's tree (at >>> http://git.kernel.org/?p=linux/kernel/git/jikos/hid.git;a=shortlog;h=refs/heads/multitouch) >>> - then apply the attached patch (git am >>> 0001-hid-multitouch-Introduce-Elo-TouchSystems-2515-Intel.patch) >>> - get your config from your current kernel (check that hid-multitouch >>> is enabled as a module) >>> - compile, install, reboot >> >> That's where I hit a problem. It seems that the kernel on which that >> branch is based has broken cgroups support (it panics on startup). >> >> Would your patch, or a patchset be available to apply to the close to >> Linus tree Fedora rawhide kernel? > > Hi Bastien, > > Sorry for that. Attached a new version that bumps a Linus' 2.6.38-rc2 > or 2.6.38-rc3 to Jiri's tree and applies the patch above. > > If it's still not working, I'll send you the files directly ;) > >> >>> - Now your device should still work and must be handled by hid-multitouch >>> if it's the case: >> >> As soon as I manage to get it to boot, I'll be doing that :) > > Cool ;) > > Cheers, > Benjamin > [-- Attachment #2: 0001-hid-multitouch-Introduce-Elo-TouchSystems-2515-Intel.patch --] [-- Type: text/x-patch, Size: 5054 bytes --] From 54ec421eab53f5da4ab4b687da0b7cac824e5cc8 Mon Sep 17 00:00:00 2001 From: Benjamin Tissoires <benjamin.tissoires@enac.fr> Date: Wed, 2 Feb 2011 14:03:28 +0100 Subject: [PATCH] hid-multitouch: Introduce Elo TouchSystems 2515 IntelliTouch Plus This patch adds support for Elo TouchSystems 2515 IntelliTouch Plus that can be found in Lenovo A700 all-in-one. In addition, it also sync with Jiri's development tree. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr> --- drivers/hid/Kconfig | 2 ++ drivers/hid/hid-core.c | 1 + drivers/hid/hid-ids.h | 4 ++++ drivers/hid/hid-multitouch.c | 31 +++++++++++++++++++++---------- 4 files changed, 28 insertions(+), 10 deletions(-) diff --git a/drivers/hid/Kconfig b/drivers/hid/Kconfig index 2560f01..c2555f8 100644 --- a/drivers/hid/Kconfig +++ b/drivers/hid/Kconfig @@ -303,7 +303,9 @@ config HID_MULTITOUCH Say Y here if you have one of the following devices: - Cypress TrueTouch panels + - Elo TouchSystems IntelliTouch Plus panels - Hanvon dual touch panels + - IrTouch Infrared USB panels - Pixcir dual touch panels - 'Sensing Win7-TwoFinger' panel by GeneralTouch diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c index d678cf3..e701e57 100644 --- a/drivers/hid/hid-core.c +++ b/drivers/hid/hid-core.c @@ -1334,6 +1334,7 @@ static const struct hid_device_id hid_have_special_driver[] = { { 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_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) }, { HID_USB_DEVICE(USB_VENDOR_ID_EZKEY, USB_DEVICE_ID_BTC_8193) }, { HID_USB_DEVICE(USB_VENDOR_ID_GAMERON, USB_DEVICE_ID_GAMERON_DUAL_PSX_ADAPTOR) }, diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h index 92a0d61..7780c48 100644 --- a/drivers/hid/hid-ids.h +++ b/drivers/hid/hid-ids.h @@ -216,6 +216,7 @@ #define USB_VENDOR_ID_DREAM_CHEEKY 0x1d34 #define USB_VENDOR_ID_ELO 0x04E7 +#define USB_DEVICE_ID_ELO_TS2515 0x0022 #define USB_DEVICE_ID_ELO_TS2700 0x0020 #define USB_VENDOR_ID_EMS 0x2006 @@ -333,6 +334,9 @@ #define USB_VENDOR_ID_IMATION 0x0718 #define USB_DEVICE_ID_DISC_STAKKA 0xd000 +#define USB_VENDOR_ID_IRTOUCHSYSTEMS 0x6615 +#define USB_DEVICE_ID_IRTOUCH_INFRARED_USB 0x0070 + #define USB_VENDOR_ID_JESS 0x0c45 #define USB_DEVICE_ID_JESS_YUREX 0x1010 diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c index 07d3183..a721710 100644 --- a/drivers/hid/hid-multitouch.c +++ b/drivers/hid/hid-multitouch.c @@ -24,6 +24,7 @@ MODULE_AUTHOR("Stephane Chatty <chatty@enac.fr>"); +MODULE_AUTHOR("Benjamin Tissoires <benjamin.tissoires@gmail.com>"); MODULE_DESCRIPTION("HID multitouch panels"); MODULE_LICENSE("GPL"); @@ -65,10 +66,10 @@ struct mt_class { }; /* classes of device behavior */ -#define MT_CLS_DEFAULT 1 -#define MT_CLS_DUAL1 2 -#define MT_CLS_DUAL2 3 -#define MT_CLS_CYPRESS 4 +#define MT_CLS_DEFAULT 1 +#define MT_CLS_DUAL_INRANGE_CONTACTID 2 +#define MT_CLS_DUAL_INRANGE_CONTACTNUMBER 3 +#define MT_CLS_CYPRESS 4 /* * these device-dependent functions determine what slot corresponds @@ -104,13 +105,13 @@ static int find_slot_from_contactid(struct mt_device *td) struct mt_class mt_classes[] = { { .name = MT_CLS_DEFAULT, - .quirks = MT_QUIRK_VALID_IS_INRANGE, + .quirks = MT_QUIRK_NOT_SEEN_MEANS_UP, .maxcontacts = 10 }, - { .name = MT_CLS_DUAL1, + { .name = MT_CLS_DUAL_INRANGE_CONTACTID, .quirks = MT_QUIRK_VALID_IS_INRANGE | MT_QUIRK_SLOT_IS_CONTACTID, .maxcontacts = 2 }, - { .name = MT_CLS_DUAL2, + { .name = MT_CLS_DUAL_INRANGE_CONTACTNUMBER, .quirks = MT_QUIRK_VALID_IS_INRANGE | MT_QUIRK_SLOT_IS_CONTACTNUMBER, .maxcontacts = 2 }, @@ -465,16 +466,26 @@ static const struct hid_device_id mt_devices[] = { HID_USB_DEVICE(USB_VENDOR_ID_CYPRESS, USB_DEVICE_ID_CYPRESS_TRUETOUCH) }, + /* Elo TouchSystems IntelliTouch Plus panel */ + { .driver_data = MT_CLS_DEFAULT, + HID_USB_DEVICE(USB_VENDOR_ID_ELO, + USB_DEVICE_ID_ELO_TS2515) }, + /* GeneralTouch panel */ - { .driver_data = MT_CLS_DUAL2, + { .driver_data = MT_CLS_DUAL_INRANGE_CONTACTNUMBER, HID_USB_DEVICE(USB_VENDOR_ID_GENERAL_TOUCH, USB_DEVICE_ID_GENERAL_TOUCH_WIN7_TWOFINGERS) }, + /* IRTOUCH panels */ + { .driver_data = MT_CLS_DUAL_INRANGE_CONTACTID, + HID_USB_DEVICE(USB_VENDOR_ID_IRTOUCHSYSTEMS, + USB_DEVICE_ID_IRTOUCH_INFRARED_USB) }, + /* PixCir-based panels */ - { .driver_data = MT_CLS_DUAL1, + { .driver_data = MT_CLS_DUAL_INRANGE_CONTACTID, HID_USB_DEVICE(USB_VENDOR_ID_HANVON, USB_DEVICE_ID_HANVON_MULTITOUCH) }, - { .driver_data = MT_CLS_DUAL1, + { .driver_data = MT_CLS_DUAL_INRANGE_CONTACTID, HID_USB_DEVICE(USB_VENDOR_ID_CANDO, USB_DEVICE_ID_CANDO_PIXCIR_MULTI_TOUCH) }, -- 1.7.3.4 ^ permalink raw reply related [flat|nested] 17+ messages in thread
[parent not found: <1296922260.4223.4.camel@novo.hadess.net>]
* Re: Elo TouchSystems touchscreen support? (04e7:0022) [not found] ` <1296922260.4223.4.camel@novo.hadess.net> @ 2011-02-07 16:51 ` Benjamin Tissoires 2011-02-07 17:04 ` Bastien Nocera 0 siblings, 1 reply; 17+ messages in thread From: Benjamin Tissoires @ 2011-02-07 16:51 UTC (permalink / raw) To: Bastien Nocera; +Cc: Henrik Rydberg, linux-input Hi Bastien, On Sat, Feb 5, 2011 at 17:10, Bastien Nocera <hadess@hadess.net> wrote: > On Wed, 2011-02-02 at 14:20 +0100, Benjamin Tissoires wrote: >> With the patch this time.... ;) >> >> On Wed, Feb 2, 2011 at 14:18, Benjamin Tissoires >> <benjamin.tissoires@gmail.com> wrote: >> > On Wed, Feb 2, 2011 at 13:42, Bastien Nocera <hadess@hadess.net> wrote: >> >> On Tue, 2011-02-01 at 14:25 +0100, Benjamin Tissoires wrote: >> >> <snip> >> >>> First pass: >> >>> - please get the branch multitouch of jiri's tree (at >> >>> http://git.kernel.org/?p=linux/kernel/git/jikos/hid.git;a=shortlog;h=refs/heads/multitouch) >> >>> - then apply the attached patch (git am >> >>> 0001-hid-multitouch-Introduce-Elo-TouchSystems-2515-Intel.patch) >> >>> - get your config from your current kernel (check that hid-multitouch >> >>> is enabled as a module) >> >>> - compile, install, reboot >> >> >> >> That's where I hit a problem. It seems that the kernel on which that >> >> branch is based has broken cgroups support (it panics on startup). >> >> >> >> Would your patch, or a patchset be available to apply to the close to >> >> Linus tree Fedora rawhide kernel? >> > >> > Hi Bastien, >> > >> > Sorry for that. Attached a new version that bumps a Linus' 2.6.38-rc2 >> > or 2.6.38-rc3 to Jiri's tree and applies the patch above. >> > >> > If it's still not working, I'll send you the files directly ;) > > The instructions didn't quite work (the PCI ID seems to be in > upper-case, and the tail command wasn't producing any output). I used > good ol' 'cat' instead. Attached is what it produced. oops... When you say "the PCI ID seems to be in upper-case", you means the path of the events file, or you had to modify the patch? > > The cursor actually follows the touch, but it seems I need to press > quite hard to make it work. Is this the same with a Windows system? I don't think we made any assumption on the pressure. > Touch with 2 fingers doesn't do anything > different from single finger. This is quite normal: Linux is not ready for multitouch right now ;) Only the kernel is ready. People are working on x.org' XInput 2.1 to enable multitouch in X.org, and the toolkits are following this development. If you want to give a try, you can download our mt-diagnostic software at: http://lii-enac.fr/en/architecture/linux-input/mtdiag.html . > > Let me know if you want me to test anything else. I'll try not to take > as long to do the testing next time, but we were working on our first > GNOME 3 test day. Well, the device does not sends much relevant informations: we have to rebuild some informations, so the final patch will be really close to the one I sent last week. Once I made it, I'll ask you to test it before submitting it for 2.6.38 (if it's still possible). Cheers, Benjamin ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Elo TouchSystems touchscreen support? (04e7:0022) 2011-02-07 16:51 ` Benjamin Tissoires @ 2011-02-07 17:04 ` Bastien Nocera 2011-02-07 17:11 ` Benjamin Tissoires 0 siblings, 1 reply; 17+ messages in thread From: Bastien Nocera @ 2011-02-07 17:04 UTC (permalink / raw) To: Benjamin Tissoires; +Cc: Henrik Rydberg, linux-input On Mon, 2011-02-07 at 17:51 +0100, Benjamin Tissoires wrote: > Hi Bastien, > > On Sat, Feb 5, 2011 at 17:10, Bastien Nocera <hadess@hadess.net> wrote: > > On Wed, 2011-02-02 at 14:20 +0100, Benjamin Tissoires wrote: > >> With the patch this time.... ;) > >> > >> On Wed, Feb 2, 2011 at 14:18, Benjamin Tissoires > >> <benjamin.tissoires@gmail.com> wrote: > >> > On Wed, Feb 2, 2011 at 13:42, Bastien Nocera <hadess@hadess.net> wrote: > >> >> On Tue, 2011-02-01 at 14:25 +0100, Benjamin Tissoires wrote: > >> >> <snip> > >> >>> First pass: > >> >>> - please get the branch multitouch of jiri's tree (at > >> >>> http://git.kernel.org/?p=linux/kernel/git/jikos/hid.git;a=shortlog;h=refs/heads/multitouch) > >> >>> - then apply the attached patch (git am > >> >>> 0001-hid-multitouch-Introduce-Elo-TouchSystems-2515-Intel.patch) > >> >>> - get your config from your current kernel (check that hid-multitouch > >> >>> is enabled as a module) > >> >>> - compile, install, reboot > >> >> > >> >> That's where I hit a problem. It seems that the kernel on which that > >> >> branch is based has broken cgroups support (it panics on startup). > >> >> > >> >> Would your patch, or a patchset be available to apply to the close to > >> >> Linus tree Fedora rawhide kernel? > >> > > >> > Hi Bastien, > >> > > >> > Sorry for that. Attached a new version that bumps a Linus' 2.6.38-rc2 > >> > or 2.6.38-rc3 to Jiri's tree and applies the patch above. > >> > > >> > If it's still not working, I'll send you the files directly ;) > > > > The instructions didn't quite work (the PCI ID seems to be in > > upper-case, and the tail command wasn't producing any output). I used > > good ol' 'cat' instead. Attached is what it produced. > > oops... When you say "the PCI ID seems to be in upper-case", you means > the path of the events file, or you had to modify the patch? The sysfs path needed upper-case, yes. I did not change the patch. > > > > The cursor actually follows the touch, but it seems I need to press > > quite hard to make it work. > > Is this the same with a Windows system? I don't think we made any > assumption on the pressure. I have no idea. I booted Windows once on this machine, when I actually got it. I can certainly check there though. > > Touch with 2 fingers doesn't do anything > > different from single finger. > > This is quite normal: Linux is not ready for multitouch right now ;) > Only the kernel is ready. People are working on x.org' XInput 2.1 to > enable multitouch in X.org, and the toolkits are following this > development. > > If you want to give a try, you can download our mt-diagnostic software > at: http://lii-enac.fr/en/architecture/linux-input/mtdiag.html . That's alright. I know of the efforts, I stupidly thought that this would behave the same way as the MacBook touchpads (eg. give me access to a right-click). > > > > Let me know if you want me to test anything else. I'll try not to take > > as long to do the testing next time, but we were working on our first > > GNOME 3 test day. > > Well, the device does not sends much relevant informations: we have to > rebuild some informations, so the final patch will be really close to > the one I sent last week. Once I made it, I'll ask you to test it > before submitting it for 2.6.38 (if it's still possible). Sure thing. I'll look for it in my mail. Still interested in me trying out Windows for that "need to press hard" touch? Cheers ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Elo TouchSystems touchscreen support? (04e7:0022) 2011-02-07 17:04 ` Bastien Nocera @ 2011-02-07 17:11 ` Benjamin Tissoires 2011-02-08 14:47 ` Benjamin Tissoires 0 siblings, 1 reply; 17+ messages in thread From: Benjamin Tissoires @ 2011-02-07 17:11 UTC (permalink / raw) To: Bastien Nocera; +Cc: Henrik Rydberg, linux-input On Mon, Feb 7, 2011 at 18:04, Bastien Nocera <hadess@hadess.net> wrote: > On Mon, 2011-02-07 at 17:51 +0100, Benjamin Tissoires wrote: >> Hi Bastien, >> >> On Sat, Feb 5, 2011 at 17:10, Bastien Nocera <hadess@hadess.net> wrote: >> > On Wed, 2011-02-02 at 14:20 +0100, Benjamin Tissoires wrote: >> >> With the patch this time.... ;) >> >> >> >> On Wed, Feb 2, 2011 at 14:18, Benjamin Tissoires >> >> <benjamin.tissoires@gmail.com> wrote: >> >> > On Wed, Feb 2, 2011 at 13:42, Bastien Nocera <hadess@hadess.net> wrote: >> >> >> On Tue, 2011-02-01 at 14:25 +0100, Benjamin Tissoires wrote: >> >> >> <snip> >> >> >>> First pass: >> >> >>> - please get the branch multitouch of jiri's tree (at >> >> >>> http://git.kernel.org/?p=linux/kernel/git/jikos/hid.git;a=shortlog;h=refs/heads/multitouch) >> >> >>> - then apply the attached patch (git am >> >> >>> 0001-hid-multitouch-Introduce-Elo-TouchSystems-2515-Intel.patch) >> >> >>> - get your config from your current kernel (check that hid-multitouch >> >> >>> is enabled as a module) >> >> >>> - compile, install, reboot >> >> >> >> >> >> That's where I hit a problem. It seems that the kernel on which that >> >> >> branch is based has broken cgroups support (it panics on startup). >> >> >> >> >> >> Would your patch, or a patchset be available to apply to the close to >> >> >> Linus tree Fedora rawhide kernel? >> >> > >> >> > Hi Bastien, >> >> > >> >> > Sorry for that. Attached a new version that bumps a Linus' 2.6.38-rc2 >> >> > or 2.6.38-rc3 to Jiri's tree and applies the patch above. >> >> > >> >> > If it's still not working, I'll send you the files directly ;) >> > >> > The instructions didn't quite work (the PCI ID seems to be in >> > upper-case, and the tail command wasn't producing any output). I used >> > good ol' 'cat' instead. Attached is what it produced. >> >> oops... When you say "the PCI ID seems to be in upper-case", you means >> the path of the events file, or you had to modify the patch? > > The sysfs path needed upper-case, yes. I did not change the patch. ok, so my patch is clean.... yes! > >> > >> > The cursor actually follows the touch, but it seems I need to press >> > quite hard to make it work. >> >> Is this the same with a Windows system? I don't think we made any >> assumption on the pressure. > > I have no idea. I booted Windows once on this machine, when I actually > got it. I can certainly check there though. > >> > Touch with 2 fingers doesn't do anything >> > different from single finger. >> >> This is quite normal: Linux is not ready for multitouch right now ;) >> Only the kernel is ready. People are working on x.org' XInput 2.1 to >> enable multitouch in X.org, and the toolkits are following this >> development. >> >> If you want to give a try, you can download our mt-diagnostic software >> at: http://lii-enac.fr/en/architecture/linux-input/mtdiag.html . > > That's alright. I know of the efforts, I stupidly thought that this > would behave the same way as the MacBook touchpads (eg. give me access > to a right-click). You won't have the right click out of the box for now. Peter Hutterer submitted last week patches to enable right click simulation with long press. It works well for absolute device, but you need a development tree of Xorg... So, we will have to wait for it too. :( > >> > >> > Let me know if you want me to test anything else. I'll try not to take >> > as long to do the testing next time, but we were working on our first >> > GNOME 3 test day. >> >> Well, the device does not sends much relevant informations: we have to >> rebuild some informations, so the final patch will be really close to >> the one I sent last week. Once I made it, I'll ask you to test it >> before submitting it for 2.6.38 (if it's still possible). > > Sure thing. I'll look for it in my mail. > > Still interested in me trying out Windows for that "need to press hard" > touch? Sure, but I don't know if we will be able to solve it (I did not found anything in the reports descriptors that add such feature). Cheers, Benjamin -- 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] 17+ messages in thread
* Re: Elo TouchSystems touchscreen support? (04e7:0022) 2011-02-07 17:11 ` Benjamin Tissoires @ 2011-02-08 14:47 ` Benjamin Tissoires 2011-02-18 16:15 ` Bastien Nocera 0 siblings, 1 reply; 17+ messages in thread From: Benjamin Tissoires @ 2011-02-08 14:47 UTC (permalink / raw) To: Bastien Nocera; +Cc: Henrik Rydberg, linux-input [-- Attachment #1: Type: text/plain, Size: 4597 bytes --] Hi Bastien, Can you give a try to the attached patch (it goes on top of the previous patch). It would be great if you could play a little with mtdiag (or any other multitouch application) and tell me if there is any problem. Thanks, Benjamin On Mon, Feb 7, 2011 at 18:11, Benjamin Tissoires <benjamin.tissoires@gmail.com> wrote: > On Mon, Feb 7, 2011 at 18:04, Bastien Nocera <hadess@hadess.net> wrote: >> On Mon, 2011-02-07 at 17:51 +0100, Benjamin Tissoires wrote: >>> Hi Bastien, >>> >>> On Sat, Feb 5, 2011 at 17:10, Bastien Nocera <hadess@hadess.net> wrote: >>> > On Wed, 2011-02-02 at 14:20 +0100, Benjamin Tissoires wrote: >>> >> With the patch this time.... ;) >>> >> >>> >> On Wed, Feb 2, 2011 at 14:18, Benjamin Tissoires >>> >> <benjamin.tissoires@gmail.com> wrote: >>> >> > On Wed, Feb 2, 2011 at 13:42, Bastien Nocera <hadess@hadess.net> wrote: >>> >> >> On Tue, 2011-02-01 at 14:25 +0100, Benjamin Tissoires wrote: >>> >> >> <snip> >>> >> >>> First pass: >>> >> >>> - please get the branch multitouch of jiri's tree (at >>> >> >>> http://git.kernel.org/?p=linux/kernel/git/jikos/hid.git;a=shortlog;h=refs/heads/multitouch) >>> >> >>> - then apply the attached patch (git am >>> >> >>> 0001-hid-multitouch-Introduce-Elo-TouchSystems-2515-Intel.patch) >>> >> >>> - get your config from your current kernel (check that hid-multitouch >>> >> >>> is enabled as a module) >>> >> >>> - compile, install, reboot >>> >> >> >>> >> >> That's where I hit a problem. It seems that the kernel on which that >>> >> >> branch is based has broken cgroups support (it panics on startup). >>> >> >> >>> >> >> Would your patch, or a patchset be available to apply to the close to >>> >> >> Linus tree Fedora rawhide kernel? >>> >> > >>> >> > Hi Bastien, >>> >> > >>> >> > Sorry for that. Attached a new version that bumps a Linus' 2.6.38-rc2 >>> >> > or 2.6.38-rc3 to Jiri's tree and applies the patch above. >>> >> > >>> >> > If it's still not working, I'll send you the files directly ;) >>> > >>> > The instructions didn't quite work (the PCI ID seems to be in >>> > upper-case, and the tail command wasn't producing any output). I used >>> > good ol' 'cat' instead. Attached is what it produced. >>> >>> oops... When you say "the PCI ID seems to be in upper-case", you means >>> the path of the events file, or you had to modify the patch? >> >> The sysfs path needed upper-case, yes. I did not change the patch. > > ok, so my patch is clean.... yes! > >> >>> > >>> > The cursor actually follows the touch, but it seems I need to press >>> > quite hard to make it work. >>> >>> Is this the same with a Windows system? I don't think we made any >>> assumption on the pressure. >> >> I have no idea. I booted Windows once on this machine, when I actually >> got it. I can certainly check there though. >> >>> > Touch with 2 fingers doesn't do anything >>> > different from single finger. >>> >>> This is quite normal: Linux is not ready for multitouch right now ;) >>> Only the kernel is ready. People are working on x.org' XInput 2.1 to >>> enable multitouch in X.org, and the toolkits are following this >>> development. >>> >>> If you want to give a try, you can download our mt-diagnostic software >>> at: http://lii-enac.fr/en/architecture/linux-input/mtdiag.html . >> >> That's alright. I know of the efforts, I stupidly thought that this >> would behave the same way as the MacBook touchpads (eg. give me access >> to a right-click). > > You won't have the right click out of the box for now. Peter Hutterer > submitted last week patches to enable right click simulation with long > press. It works well for absolute device, but you need a development > tree of Xorg... So, we will have to wait for it too. :( > >> >>> > >>> > Let me know if you want me to test anything else. I'll try not to take >>> > as long to do the testing next time, but we were working on our first >>> > GNOME 3 test day. >>> >>> Well, the device does not sends much relevant informations: we have to >>> rebuild some informations, so the final patch will be really close to >>> the one I sent last week. Once I made it, I'll ask you to test it >>> before submitting it for 2.6.38 (if it's still possible). >> >> Sure thing. I'll look for it in my mail. >> >> Still interested in me trying out Windows for that "need to press hard" >> touch? > > Sure, but I don't know if we will be able to solve it (I did not found > anything in the reports descriptors that add such feature). > > Cheers, > Benjamin > [-- Attachment #2: elo_ts.patch --] [-- Type: text/x-patch, Size: 1046 bytes --] diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c index a721710..3b73c88 100644 --- a/drivers/hid/hid-multitouch.c +++ b/drivers/hid/hid-multitouch.c @@ -70,6 +70,7 @@ struct mt_class { #define MT_CLS_DUAL_INRANGE_CONTACTID 2 #define MT_CLS_DUAL_INRANGE_CONTACTNUMBER 3 #define MT_CLS_CYPRESS 4 +#define MT_CLS_DUAL_NSMU_CONTACTID 5 /* * these device-dependent functions determine what slot corresponds @@ -119,6 +120,10 @@ struct mt_class mt_classes[] = { .quirks = MT_QUIRK_NOT_SEEN_MEANS_UP | MT_QUIRK_CYPRESS, .maxcontacts = 10 }, + { .name = MT_CLS_DUAL_NSMU_CONTACTID, + .quirks = MT_QUIRK_NOT_SEEN_MEANS_UP | + MT_QUIRK_SLOT_IS_CONTACTID, + .maxcontacts = 2 }, { } }; @@ -467,7 +472,7 @@ static const struct hid_device_id mt_devices[] = { USB_DEVICE_ID_CYPRESS_TRUETOUCH) }, /* Elo TouchSystems IntelliTouch Plus panel */ - { .driver_data = MT_CLS_DEFAULT, + { .driver_data = MT_CLS_DUAL_NSMU_CONTACTID, HID_USB_DEVICE(USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_TS2515) }, ^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: Elo TouchSystems touchscreen support? (04e7:0022) 2011-02-08 14:47 ` Benjamin Tissoires @ 2011-02-18 16:15 ` Bastien Nocera 2011-02-18 20:03 ` Benjamin Tissoires 0 siblings, 1 reply; 17+ messages in thread From: Bastien Nocera @ 2011-02-18 16:15 UTC (permalink / raw) To: Benjamin Tissoires; +Cc: Henrik Rydberg, linux-input On Tue, 2011-02-08 at 15:47 +0100, Benjamin Tissoires wrote: > Hi Bastien, > > Can you give a try to the attached patch (it goes on top of the previous patch). > It would be great if you could play a little with mtdiag (or any other > multitouch application) and tell me if there is any problem. The patch to work well, at least for touches with a single finger. I launched mtdiag, but I have absolutely no idea what to test with it. Hints? ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Elo TouchSystems touchscreen support? (04e7:0022) 2011-02-18 16:15 ` Bastien Nocera @ 2011-02-18 20:03 ` Benjamin Tissoires 2011-05-18 22:14 ` Bastien Nocera 0 siblings, 1 reply; 17+ messages in thread From: Benjamin Tissoires @ 2011-02-18 20:03 UTC (permalink / raw) To: Bastien Nocera; +Cc: Henrik Rydberg, linux-input On Fri, Feb 18, 2011 at 17:15, Bastien Nocera <hadess@hadess.net> wrote: > On Tue, 2011-02-08 at 15:47 +0100, Benjamin Tissoires wrote: >> Hi Bastien, >> >> Can you give a try to the attached patch (it goes on top of the previous patch). >> It would be great if you could play a little with mtdiag (or any other >> multitouch application) and tell me if there is any problem. > > The patch to work well, at least for touches with a single finger. I > launched mtdiag, but I have absolutely no idea what to test with it. > > Hints? > > Hi, If you run mtdiag as root, your multitouch panel should appear with a button "activate". Click on activate, and it will show up a canvas in which the different touch you made on the panel will be represented by a circle. The bigger circle represents the mouse emulation of the device. Cheers, Benjamin ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Elo TouchSystems touchscreen support? (04e7:0022) 2011-02-18 20:03 ` Benjamin Tissoires @ 2011-05-18 22:14 ` Bastien Nocera 2011-05-19 9:31 ` Benjamin Tissoires 0 siblings, 1 reply; 17+ messages in thread From: Bastien Nocera @ 2011-05-18 22:14 UTC (permalink / raw) To: Benjamin Tissoires; +Cc: Henrik Rydberg, linux-input Hello Benjamin, On Fri, 2011-02-18 at 21:03 +0100, Benjamin Tissoires wrote: > On Fri, Feb 18, 2011 at 17:15, Bastien Nocera <hadess@hadess.net> wrote: > > On Tue, 2011-02-08 at 15:47 +0100, Benjamin Tissoires wrote: > >> Hi Bastien, > >> > >> Can you give a try to the attached patch (it goes on top of the previous patch). > >> It would be great if you could play a little with mtdiag (or any other > >> multitouch application) and tell me if there is any problem. > > > > The patch to work well, at least for touches with a single finger. I > > launched mtdiag, but I have absolutely no idea what to test with it. > > > > Hints? > > > > > > Hi, > > If you run mtdiag as root, your multitouch panel should appear with a > button "activate". > Click on activate, and it will show up a canvas in which the different > touch you made on the panel will be represented by a circle. The > bigger circle represents the mouse emulation of the device. I finally took the time to build and test those patches you sent me, on top of the Fedora 15 kernel, and they work great. When in fullscreen, mtdiag works as expected though the roughness of touch is probably because my screen is dirty as hell :) Could you please get those pushed upstream? Thanks for the work. Cheers ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Elo TouchSystems touchscreen support? (04e7:0022) 2011-05-18 22:14 ` Bastien Nocera @ 2011-05-19 9:31 ` Benjamin Tissoires 0 siblings, 0 replies; 17+ messages in thread From: Benjamin Tissoires @ 2011-05-19 9:31 UTC (permalink / raw) To: Bastien Nocera; +Cc: Henrik Rydberg, linux-input Hello Bastien, On Thu, May 19, 2011 at 00:14, Bastien Nocera <hadess@hadess.net> wrote: > Hello Benjamin, > > On Fri, 2011-02-18 at 21:03 +0100, Benjamin Tissoires wrote: >> On Fri, Feb 18, 2011 at 17:15, Bastien Nocera <hadess@hadess.net> wrote: >> > On Tue, 2011-02-08 at 15:47 +0100, Benjamin Tissoires wrote: >> >> Hi Bastien, >> >> >> >> Can you give a try to the attached patch (it goes on top of the previous patch). >> >> It would be great if you could play a little with mtdiag (or any other >> >> multitouch application) and tell me if there is any problem. >> > >> > The patch to work well, at least for touches with a single finger. I >> > launched mtdiag, but I have absolutely no idea what to test with it. >> > >> > Hints? >> > >> > >> >> Hi, >> >> If you run mtdiag as root, your multitouch panel should appear with a >> button "activate". >> Click on activate, and it will show up a canvas in which the different >> touch you made on the panel will be represented by a circle. The >> bigger circle represents the mouse emulation of the device. > > I finally took the time to build and test those patches you sent me, on > top of the Fedora 15 kernel, and they work great. When in fullscreen, > mtdiag works as expected though the roughness of touch is probably > because my screen is dirty as hell :) Great. (not your dirty screen of course ;-D ) > > Could you please get those pushed upstream? Will do it right now. Cheers, Benjamin > > Thanks for the work. > > Cheers > > ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Elo TouchSystems touchscreen support? (04e7:0022) 2011-02-01 12:01 ` Bastien Nocera 2011-02-01 13:25 ` Benjamin Tissoires @ 2011-02-01 13:26 ` Henrik Rydberg 1 sibling, 0 replies; 17+ messages in thread From: Henrik Rydberg @ 2011-02-01 13:26 UTC (permalink / raw) To: Bastien Nocera; +Cc: Benjamin Tissoires, linux-input > > Please use the script at > > http://lii-enac.fr/en/architecture/linux-input/report.py > > and run, as root: python report.py > descriptors.txt > > > > This will do the job. You can then send us the descriptors.txt, and we > > will see what we can do. > > Attached (with the rest of the input devices stripped). Good good, looks like there is a digitizer in there, with tipswitch, inrange, contactid, x, y and contactcount. Paching up hid-multitouch (and adding the device to the hid-core special device list) might actually do it. Cheers, Henrik ^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2011-05-19 9:31 UTC | newest] Thread overview: 17+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2011-01-31 14:54 Elo TouchSystems touchscreen support? (04e7:0022) Bastien Nocera 2011-01-31 21:28 ` Henrik Rydberg 2011-02-01 9:00 ` Benjamin Tissoires 2011-02-01 12:01 ` Bastien Nocera 2011-02-01 13:25 ` Benjamin Tissoires 2011-02-02 12:42 ` Bastien Nocera 2011-02-02 13:18 ` Benjamin Tissoires 2011-02-02 13:20 ` Benjamin Tissoires [not found] ` <1296922260.4223.4.camel@novo.hadess.net> 2011-02-07 16:51 ` Benjamin Tissoires 2011-02-07 17:04 ` Bastien Nocera 2011-02-07 17:11 ` Benjamin Tissoires 2011-02-08 14:47 ` Benjamin Tissoires 2011-02-18 16:15 ` Bastien Nocera 2011-02-18 20:03 ` Benjamin Tissoires 2011-05-18 22:14 ` Bastien Nocera 2011-05-19 9:31 ` Benjamin Tissoires 2011-02-01 13:26 ` Henrik Rydberg
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).