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