Touchscreen recognized as touchpad with hid-multitiouch driver
tomw
tomw at ubilix.com
Wed Apr 30 08:11:39 PDT 2014
Hi,
I'm currently trying to integrate an ELO optical touchscreen (ET4201L)
on top of just the X server infrastructure. As I was still getting the
mouse pointer which I should not see if the touchscreen is correctly
recognized I was digging a bit deeper to find out why. Basically I ran
into two scenarios - depending whether I'm using either evdev or
multitouch for the device:
=== evdev case ===
/usr/share/X11/xorg.conf.d/10-evdev.conf
Section "InputClass"
Identifier "evdev keyboard catchall"
MatchIsKeyboard "on"
MatchDevicePath "/dev/input/event*"
Driver "evdev"
EndSection
Section "InputClass"
Identifier "Touchscreen"
MatchProduct "Elo TouchSystems"
MatchIsTouchscreen "on"
MatchDevicePath "/dev/input/event*"
Driver "evdev"
EndSection
which makes the screen recognized as TOUCHSCREEN with device id 10:
[ 23.446] (II) Using input driver 'evdev' for 'Elo TouchSystems
Optical Touchscreen 02.04.22.02.'
[ 23.446] (**) Elo TouchSystems Optical Touchscreen 02.04.22.02.:
always reports core events
[ 23.446] (**) evdev: Elo TouchSystems Optical Touchscreen
02.04.22.02.: Device: "/dev/input/event3"
[ 23.446] (II) evdev: Elo TouchSystems Optical Touchscreen
02.04.22.02.: Using mtdev for this device
[ 23.446] (--) evdev: Elo TouchSystems Optical Touchscreen
02.04.22.02.: Vendor 0x4e7 Product 0x80
[ 23.446] (--) evdev: Elo TouchSystems Optical Touchscreen
02.04.22.02.: Found absolute axes
[ 23.446] (--) evdev: Elo TouchSystems Optical Touchscreen
02.04.22.02.: Found absolute multitouch axes
[ 23.446] (II) evdev: Elo TouchSystems Optical Touchscreen
02.04.22.02.: No buttons found, faking one.
[ 23.446] (--) evdev: Elo TouchSystems Optical Touchscreen
02.04.22.02.: Found x and y absolute axes
[ 23.446] (--) evdev: Elo TouchSystems Optical Touchscreen
02.04.22.02.: Found absolute touchscreen
[ 23.446] (**) Option "SwapAxes" "0"
[ 23.446] (II) evdev: Elo TouchSystems Optical Touchscreen
02.04.22.02.: Configuring as touchscreen
[ 23.446] (**) evdev: Elo TouchSystems Optical Touchscreen
02.04.22.02.: YAxisMapping: buttons 4 and 5
[ 23.447] (**) evdev: Elo TouchSystems Optical Touchscreen
02.04.22.02.: EmulateWheelButton: 4, EmulateWheelInertia: 10,
EmulateWheelTimeout: 200
[ 23.447] (**) Option "config_info"
"udev:/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.1/2-1.1.2/2-1.1.2:1.3/input/input4/event3"
[ 23.447] (II) XINPUT: Adding extended input device "Elo TouchSystems
Optical Touchscreen 02.04.22.02." (type: TOUCHSCREEN, id 10)
[ 23.447] (II) evdev: Elo TouchSystems Optical Touchscreen
02.04.22.02.: initialized for absolute axes.
[ 23.447] (**) Elo TouchSystems Optical Touchscreen 02.04.22.02.:
(accel) keeping acceleration scheme 1
[ 23.447] (**) Elo TouchSystems Optical Touchscreen 02.04.22.02.:
(accel) acceleration profile 0
[ 23.447] (**) Elo TouchSystems Optical Touchscreen 02.04.22.02.:
(accel) acceleration factor: 2.000
[ 23.447] (**) Elo TouchSystems Optical Touchscreen 02.04.22.02.:
(accel) acceleration threshold: 4
=== multitouch case, jsut changing the driver to multitouch ===
Section "InputClass"
Identifier "evdev keyboard catchall"
MatchIsKeyboard "on"
MatchDevicePath "/dev/input/event*"
Driver "evdev"
EndSection
Section "InputClass"
Identifier "Touchscreen"
MatchProduct "Elo TouchSystems"
MatchIsTouchscreen "on"
MatchDevicePath "/dev/input/event*"
Driver "multitouch"
EndSection
which makes the screen recognized as TOUCHPAD with device id 10:
[ 22.925] (**) Elo TouchSystems Optical Touchscreen 02.04.22.02.:
Applying InputClass "Touchscreen"
[ 22.925] (II) LoadModule: "multitouch"
[ 22.925] (II) Loading /usr/lib/xorg/modules/input/multitouch_drv.so
[ 22.946] (II) Module multitouch: vendor="X.Org Foundation"
[ 22.946] compiled for 1.15.0, module version = 0.1.0
[ 22.946] Module class: X.Org XInput Driver
[ 22.946] ABI class: X.Org XInput driver, version 20.0
[ 22.946] (II) Using input driver 'multitouch' for 'Elo TouchSystems
Optical Touchscreen 02.04.22.02.'
[ 22.946] (**) Elo TouchSystems Optical Touchscreen 02.04.22.02.:
always reports core events
[ 22.946] (**) Option "config_info"
"udev:/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.1/2-1.1.2/2-1.1.2:1.3/input/input16/event11"
[ 22.946] (II) XINPUT: Adding extended input device "Elo TouchSystems
Optical Touchscreen 02.04.22.02." (type: TOUCHPAD, id 10)
[ 22.946] (II) device control: init
[ 22.946] (**) Option "Device" "/dev/input/event11"
[ 22.946] (II) multitouch: devname: Elo TouchSystems Optical Touchsc
[ 22.946] (II) multitouch: devid: 4e7 80 111
[ 22.946] (II) multitouch: caps: mtdata
[ 22.946] (II) multitouch: 5: min: 0 max: 32767
[ 22.946] (II) multitouch: 6: min: 0 max: 32767
[ 22.946] (II) multitouch: 9: min: 0 max: 65535
[ 23.293] (II) pointer_control
[ 23.293] (**) Elo TouchSystems Optical Touchscreen 02.04.22.02.:
(accel) keeping acceleration scheme 1
[ 23.293] (II) pointer_property
[ 23.293] (II) pointer_property
[ 23.293] (**) Elo TouchSystems Optical Touchscreen 02.04.22.02.:
(accel) acceleration profile 0
[ 23.293] (II) pointer_property
[ 23.293] (II) pointer_property
[ 23.293] (**) Elo TouchSystems Optical Touchscreen 02.04.22.02.:
(accel) acceleration factor: 2.000
[ 23.293] (**) Elo TouchSystems Optical Touchscreen 02.04.22.02.:
(accel) acceleration threshold: 4
[ 23.293] (II) device control: on
[ 23.293] (II) pointer_property
[ 23.293] (II) pointer_property
In booth cases I still do get the mouse pointer, in the multitouch case
the screen really behaves like a touchpad with relative pointer
movements etc.
To avoid any interference with mouse devices I have removed all the
respective device classes from the configuration files.
Any idea where this behaviour may come from? How to make the touchscreen
really behave like a touchscreen and not like a mouse or how to further
isolate the issue?
thanks,
--tomw
More information about the xorg
mailing list