Hi,
I have a new eGalax touchscreen (came with driver cd 5.1.0, if that helps).
I'm trying to use it from a Raspberry Pi, so I can't use the prebuilt drivers
on that CD. I've found the ARM-specific vendor drivers but I haven't installed
them yet as I remember this working without them on an older model of eGalax
touchscreen.
Even without those, it still seems to autodetect the touchscreen and it loads
the hid_multitouch driver, and within X the pointer moves according to touches
as expected. However it does not perform any "click" action when the screen is
touched. (I'm ok with it behaving like a single-touch mouse -- I just want it
to actually do something when touched.)
Is this a known issue, or something that can be fixed, or just a configuration
error? I've included some diagnostic output from various tools below in the
hope that it may be useful to identify and/or fix the issue; please let me know
if you need more information.
Note that at present I do not have anything specific in xorg.conf or
xorg.conf.d related to the touchscreen; this did not seem to be necessary with
the older hardware.
Regards,
Gavin Lambert
# uname -rm
3.12.34+ armv6l
# lsmod
...
hid_multitouch 9095 0
...
(usbtouchscreen does exist but is not loaded)
# lsusb
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 004: ID 046d:c315 Logitech, Inc. Classic New Touch Keyboard
Bus 001 Device 005: ID 0eef:0001 D-WAV Scientific Co., Ltd eGalax TouchScreen
# lsusb -vv
...
Bus 001 Device 005: ID 0eef:0001 D-WAV Scientific Co., Ltd eGalax TouchScreen
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x0eef D-WAV Scientific Co., Ltd
idProduct 0x0001 eGalax TouchScreen
bcdDevice 1.00
iManufacturer 1
iProduct 2
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 59
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 1
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 1 Boot Interface Subclass
bInterfaceProtocol 2 Mouse
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 2.10
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 341
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 0x0040 1x 64 bytes
bInterval 3
** UNRECOGNIZED: 19 ff 42 49 53 54 00 01 02 03 ff 00 00 00 00 00 01 04
b8 0b 02 05 b8 0b 00
# cat /proc/bus/input/devices
...
I: Bus=0003 Vendor=0eef Product=0001 Version=0210
N: Name="eGalax Inc. USB TouchController Pen"
P: Phys=usb-bcm2708_usb-1.5/input0
S: Sysfs=/devices/platform/bcm2708_usb/usb1/1-1/1-1.5/1-1.5:1.0/input/input1
U: Uniq=
H: Handlers=mouse0 event1
B: PROP=0
B: EV=1b
B: KEY=c01 0 0 0 0 0 0 0 0 0 0
B: ABS=3
B: MSC=10
I: Bus=0003 Vendor=0eef Product=0001 Version=0210
N: Name="eGalax Inc. USB TouchController"
P: Phys=usb-bcm2708_usb-1.5/input0
S: Sysfs=/devices/platform/bcm2708_usb/usb1/1-1/1-1.5/1-1.5:1.0/input/input2
U: Uniq=
H: Handlers=mouse1 event2
B: PROP=2
B: EV=b
B: KEY=400 0 0 0 0 0 0 0 0 0 0
B: ABS=a608000 3
# xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ eGalax Inc. USB TouchController id=8 [slave pointer (2)]
⎜ ↳ eGalax Inc. USB TouchController Pen id=7 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Logitech Logitech USB Keyboard id=6 [slave keyboard (3)]
# evtest /dev/input/event2
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0xeef product 0x1 version 0x210
Input device name: "eGalax Inc. USB TouchController"
Supported events:
Event type 0 (EV_SYN)
Event type 1 (EV_KEY)
Event code 330 (BTN_TOUCH)
Event type 3 (EV_ABS)
Event code 0 (ABS_X)
Value 2866
Min 0
Max 4095
Event code 1 (ABS_Y)
Value 1832
Min 0
Max 4095
Event code 47 (ABS_MT_SLOT)
Value 0
Min 0
Max 7
Event code 53 (ABS_MT_POSITION_X)
Value 0
Min 0
Max 4095
Event code 54 (ABS_MT_POSITION_Y)
Value 0
Min 0
Max 4095
Event code 57 (ABS_MT_TRACKING_ID)
Value 0
Min 0
Max 65535
Event code 59 (?)
Value 0
Min 0
Max 1
Properties:
Property type 1 (INPUT_PROP_DIRECT)
Testing ... (interrupt to exit)
Event: time 1420680910.586895, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X),
value 2056
Event: time 1420680910.586895, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y),
value 1992
Event: time 1420680910.586895, type 3 (EV_ABS), code 59 (?), value 0
Event: time 1420680910.586895, type 3 (EV_ABS), code 0 (ABS_X), value 2056
Event: time 1420680910.586895, type 3 (EV_ABS), code 1 (ABS_Y), value 1992
Event: time 1420680910.586895, -------------- SYN_REPORT ------------
Event: time 1420680910.592882, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X),
value 2054
Event: time 1420680910.592882, type 3 (EV_ABS), code 0 (ABS_X), value 2054
Event: time 1420680910.592882, -------------- SYN_REPORT ------------
Event: time 1420680910.596879, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X),
value 2052
Event: time 1420680910.596879, type 3 (EV_ABS), code 0 (ABS_X), value 2052
Event: time 1420680910.596879, -------------- SYN_REPORT ------------
Event: time 1420680910.602928, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X),
value 2050
Event: time 1420680910.602928, type 3 (EV_ABS), code 0 (ABS_X), value 2050
Event: time 1420680910.602928, -------------- SYN_REPORT ------------
Event: time 1420680910.608902, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X),
value 2048
Event: time 1420680910.608902, type 3 (EV_ABS), code 0 (ABS_X), value 2048
Event: time 1420680910.608902, -------------- SYN_REPORT ------------
Event: time 1420680910.662871, type 3 (EV_ABS), code 59 (?), value 1
Event: time 1420680910.662871, -------------- SYN_REPORT ------------
# evtest /dev/input/event1
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0xeef product 0x1 version 0x210
Input device name: "eGalax Inc. USB TouchController Pen"
Supported events:
Event type 0 (EV_SYN)
Event type 1 (EV_KEY)
Event code 320 (BTN_TOOL_PEN)
Event code 330 (BTN_TOUCH)
Event code 331 (BTN_STYLUS)
Event type 3 (EV_ABS)
Event code 0 (ABS_X)
Value 0
Min 0
Max 4095
Event code 1 (ABS_Y)
Value 0
Min 0
Max 4095
Event type 4 (EV_MSC)
Event code 4 (MSC_SCAN)
Properties:
Testing ... (interrupt to exit)
The above was the output from a single touch at approximately the centre of the
screen, in each test. The "Pen" device does not seem to be generating any
events on touch (but then I don't have a magic touch pen, just a finger or
passive stylus; I'm not sure if that makes a difference).
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html