Hi,
I am interested in some basic touchscreen / multitouch support on my
xfce desktop. There are two actions I am particularly interested in
(single touch handled as 'click', and two-finger scroll), but I wouldn't
say no to more. I want this in every application, not just some browser
(even scroll in xterm). Essentially I want at least touchpad
functionality using my touchscreen.
My system: a Thinkpad T440s. Touchpad works fine, but that is using
the synaptics driver, while the touchscreen in question (Elan) has to
use something else. The screen doesn't speak synaptics, and touches
aren't button presses. More technical details below.
I can get a single touch to work as click when using the evdev xorg
driver. But that doesn't seem to understand anything more than that: no
scrolling, no more elaborate gestures.
When I try the xorg 'multitouch' driver, I get the screen apparently
fully recognized by xorg (see below), but I don't see any events when
testing it (xinput test), and also nothing actually happens. Note that
the kernel event interface spits out events happily, and mtdev-test
seems to work fine too (also see below).
My question is mainly in which direction I should look. Google wasn't
particularly helpful, as most hits point to Ubuntu (no, I don't want to
switch to Ubuntu). The recommended solution there seems to be either
Unity, or a tool called touchegg, which doesn't appear to exist in
Debian, nor seems someone interested in it. The only time someone asked
here about it doesn't have a solution or useful pointer.
From what I read all over the net (several hours of search) is that I
apparently need something that translates the touch events into other,
events that traditional applications can deal with (like a mouse button
press or a scroll event). Is this correct? Is there something for that
in Debian?
Also: should I see multitouch events using 'xinput test', or does this
only display 'traditional events'?
Thanks, Frank
[1] https://lists.debian.org/debian-user/2013/01/msg00800.html
technical details:
from syslog:
usb 1-1.5: Product: Touchscreen
usb 1-1.5: Manufacturer: ELAN
input: ELAN Touchscreen as /devices/pci0000:00/0000:00:1d.0/usb1/1-1/1-1.5/1-1.5:1.0/0003:04F3:0224.0063/input/input119
hid-multitouch 0003:04F3:0224.0063: input,hiddev0,hidraw0: USB HID v1.10 Device [ELAN Touchscreen] on usb-0000:00:1d.0-1.5/input0
from Xorg.0.log:
(II) XINPUT: Adding extended input device "ELAN Touchscreen" (type: TOUCHPAD, id 10)
(II) device control: init
(**) Option "Device" "/dev/input/event11"
(II) multitouch: devname: ELAN Touchscreen
(II) multitouch: devid: 4f3 224 110
(II) multitouch: caps: mtdata
(II) multitouch: 0: min: 0 max: 255
(II) multitouch: 1: min: 0 max: 255
(II) multitouch: 4: min: 0 max: 1
(II) multitouch: 5: min: 0 max: 3968
(II) multitouch: 6: min: 0 max: 2240
(II) multitouch: 9: min: 0 max: 65535
(II) pointer_control
(**) ELAN Touchscreen: (accel) keeping acceleration scheme 1
(II) pointer_property
(II) pointer_property
(**) ELAN Touchscreen: (accel) acceleration profile 0
(II) pointer_property
(II) pointer_property
(**) ELAN Touchscreen: (accel) acceleration factor: 2.000
(**) ELAN Touchscreen: (accel) acceleration threshold: 4
(II) device control: on
(II) pointer_property
(II) pointer_property
(II) config/udev: Adding input device ELAN Touchscreen (/dev/input/mouse0)
(II) No input driver specified, ignoring this device.
(II) This device may have been added with another device file.
mtdef-test with single tap:
# mtdev-test /dev/input/event11
supported mt events:
ABS_MT_SLOT
ABS_MT_TOUCH_MAJOR
ABS_MT_TOUCH_MINOR
ABS_MT_ORIENTATION
ABS_MT_POSITION_X
ABS_MT_POSITION_Y
ABS_MT_TRACKING_ID
014dd171410c 00 3 0039 278
014dd171410c 00 3 0035 3229
014dd171410c 00 3 0036 936
014dd171410c 00 3 003c 3229
014dd171410c 00 3 003d 936
014dd171410c 00 1 014a 1
014dd171410c 00 3 0000 3229
014dd171410c 00 3 0001 936
014dd171410c 00 0 0000 0
014dd1714114 00 3 0030 4
014dd1714114 00 0 0000 0
014dd171412c 00 3 0039 -1
014dd171412c 00 1 014a 0
014dd171412c 00 0 0000 0
xinput test: no activity at all
# xinput list-props 10
Device 'ELAN Touchscreen':
Device Enabled (135): 1
Coordinate Transformation Matrix (137): 1.000000, 0.000000,
0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
Device Accel Profile (264): 0
Device Accel Constant Deceleration (265): 1.000000
Device Accel Adaptive Deceleration (266): 1.000000
Device Accel Velocity Scaling (267): 10.000000
# xinput --list
⎡ Virtual core pointer id=2 [master pointer(3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer(2)]
⎜ ↳ ELAN Touchscreen id=10 [slave pointer(2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=12 [slave pointer(2)]
⎜ ↳ TPPS/2 IBM TrackPoint id=13 [slave pointer(2)]
⎣ Virtual core keyboard id=3 [master keyboard(2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard(3)]
↳ Power Button id=6 [slave keyboard(3)]
↳ Video Bus id=7 [slave keyboard(3)]
↳ Sleep Button id=8 [slave keyboard(3)]
↳ Integrated Camera id=9 [slave keyboard(3)]
↳ AT Translated Set 2 keyboard id=11 [slave keyboard(3)]
↳ ThinkPad Extra Buttons id=14 [slave keyboard(3)]
# cat /dev/input/event11
<lots of "garbage" upon screen touches>
Attachment:
signature.asc
Description: Digital signature