* 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 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
* 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
* 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
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).