Touchscreen recognized as touchpad with hid-multitiouch driver

Peter Hutterer peter.hutterer at who-t.net
Wed Apr 30 14:58:14 PDT 2014


On Wed, Apr 30, 2014 at 05:11:39PM +0200, tomw wrote:
> 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:

why are you trying to use the multitouch driver? IIRC it's a touchpad-only
driver and will treat anything as touchpad. And evdev handles multitouch
out-of-the-box now anyway.

Cheers,
   Peter

> 
> === 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