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