Multitouch on ELAN touchscreen

Hi Everyone,

First post on this forum, but have been a linux user for a while.

I have tried my best to test/get to work my touchscreen’s multitouch capabilities but failed. The touch screen works, and even shows multitouch events in **evtest** but I don’t know how to get it to work in real life. I don’t see **touchegg** or any other testing tools listed in https://wiki.ubuntu.com/Multitouch/Testing in openSUSE official repos (and not sure what to install from other places). Can anyone guide me on how to test/get it to work?

Info:


# xinput list 9
ELAN Touchscreen                                id=9    [slave  pointer  (2)]
        Reporting 9 classes:
                Class originated from: 9. Type: XIButtonClass
                Buttons supported: 5
                Button labels: "Button Unknown" "Button Unknown" "Button Unknown" "Button Wheel Up" "Button Wheel Down"
                Button state:
                Class originated from: 9. Type: XIValuatorClass
                Detail for Valuator 0:
                  Label: Abs MT Position X
                  Range: 0.000000 - 3776.000000
                  Resolution: 13000 units/m
                  Mode: absolute
                  Current value: 1627.000000
                Class originated from: 9. Type: XIValuatorClass
                Detail for Valuator 1:
                  Label: Abs MT Position Y
                  Range: 0.000000 - 2048.000000
                  Resolution: 12000 units/m
                  Mode: absolute
                  Current value: 1404.000000
                Class originated from: 9. Type: XIValuatorClass
                Detail for Valuator 2:
                  Label: Abs MT Touch Major
                  Range: 0.000000 - 255.000000
                  Resolution: 2000 units/m
                  Mode: absolute
                  Current value: 3.000000
                Class originated from: 9. Type: XIValuatorClass
                Detail for Valuator 3:
                  Label: Abs MT Touch Minor
                  Range: 0.000000 - 255.000000
                  Resolution: 2000 units/m
                  Mode: absolute
                  Current value: 3.000000
                Class originated from: 9. Type: XIValuatorClass
                Detail for Valuator 4:
                  Label: Abs MT Orientation
                  Range: 0.000000 - 1.000000
                  Resolution: 0 units/m
                  Mode: absolute
                  Current value: 0.000000
                Class originated from: 9. Type: XIValuatorClass
                Detail for Valuator 5:
                  Label: Abs MT Tool X
                  Range: 0.000000 - 3776.000000
                  Resolution: 13000 units/m
                  Mode: absolute
                  Current value: 2179.000000
                Class originated from: 9. Type: XIValuatorClass
                Detail for Valuator 6:
                  Label: Abs MT Tool Y
                  Range: 0.000000 - 2048.000000
                  Resolution: 12000 units/m
                  Mode: absolute
                  Current value: 1404.000000
                Class originated from: 9. Type: XITouchClass
                Touch mode: direct
                Max number of touches: 10


EVTEST;


# evtest /dev/input/event11 
...
Event: time 1428864485.959139, type 3 (EV_ABS), code 61 (ABS_MT_TOOL_Y), value 567
Event: time 1428864485.959139, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 3
Event: time 1428864485.959139, type 3 (EV_ABS), code 49 (ABS_MT_TOUCH_MINOR), value 2
Event: time 1428864485.959139, type 3 (EV_ABS), code 47 (ABS_MT_SLOT), value 3
Event: time 1428864485.959139, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 556
Event: time 1428864485.959139, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 742
Event: time 1428864485.959139, type 3 (EV_ABS), code 60 (ABS_MT_TOOL_X), value 556
Event: time 1428864485.959139, type 3 (EV_ABS), code 61 (ABS_MT_TOOL_Y), value 742
Event: time 1428864485.959139, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 2
Event: time 1428864485.959139, type 3 (EV_ABS), code 49 (ABS_MT_TOUCH_MINOR), value 1
Event: time 1428864485.959139, type 3 (EV_ABS), code 47 (ABS_MT_SLOT), value 5
Event: time 1428864485.959139, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 593
Event: time 1428864485.959139, type 3 (EV_ABS), code 61 (ABS_MT_TOOL_Y), value 593
Event: time 1428864485.959139, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 2
Event: time 1428864485.959139, type 3 (EV_ABS), code 47 (ABS_MT_SLOT), value 7
Event: time 1428864485.959139, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 2790
Event: time 1428864485.959139, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 620
Event: time 1428864485.959139, type 3 (EV_ABS), code 60 (ABS_MT_TOOL_X), value 2790
Event: time 1428864485.959139, type 3 (EV_ABS), code 61 (ABS_MT_TOOL_Y), value 620
Event: time 1428864485.959139, type 3 (EV_ABS), code 49 (ABS_MT_TOUCH_MINOR), value 3
Event: time 1428864485.959139, type 3 (EV_ABS), code 47 (ABS_MT_SLOT), value 8
Event: time 1428864485.959139, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 1172
Event: time 1428864485.959139, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 585
Event: time 1428864485.959139, type 3 (EV_ABS), code 60 (ABS_MT_TOOL_X), value 1172
Event: time 1428864485.959139, type 3 (EV_ABS), code 61 (ABS_MT_TOOL_Y), value 585
Event: time 1428864485.959139, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 4
Event: time 1428864485.959139, type 3 (EV_ABS), code 49 (ABS_MT_TOUCH_MINOR), value 3
Event: time 1428864485.967138, type 3 (EV_ABS), code 47 (ABS_MT_SLOT), value 0
Event: time 1428864485.967138, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 3177
Event: time 1428864485.967138, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 804
Event: time 1428864485.967138, type 3 (EV_ABS), code 60 (ABS_MT_TOOL_X), value 3177
Event: time 1428864485.967138, type 3 (EV_ABS), code 61 (ABS_MT_TOOL_Y), value 804
Event: time 1428864485.967138, type 3 (EV_ABS), code 49 (ABS_MT_TOUCH_MINOR), value 2
Event: time 1428864485.967138, type 3 (EV_ABS), code 47 (ABS_MT_SLOT), value 1
Event: time 1428864485.967138, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value -1
Event: time 1428864485.967138, type 3 (EV_ABS), code 47 (ABS_MT_SLOT), value 3
Event: time 1428864485.967138, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value -1
Event: time 1428864485.967138, type 3 (EV_ABS), code 47 (ABS_MT_SLOT), value 5
Event: time 1428864485.967138, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 597
Event: time 1428864485.967138, type 3 (EV_ABS), code 61 (ABS_MT_TOOL_Y), value 597
Event: time 1428864485.967138, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 1
Event: time 1428864485.967138, type 3 (EV_ABS), code 49 (ABS_MT_TOUCH_MINOR), value 1
Event: time 1428864485.967138, type 3 (EV_ABS), code 47 (ABS_MT_SLOT), value 7
Event: time 1428864485.967138, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 2792
Event: time 1428864485.967138, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 625
Event: time 1428864485.967138, type 3 (EV_ABS), code 60 (ABS_MT_TOOL_X), value 2792
Event: time 1428864485.967138, type 3 (EV_ABS), code 61 (ABS_MT_TOOL_Y), value 625
Event: time 1428864485.967138, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 3
Event: time 1428864485.967138, type 3 (EV_ABS), code 49 (ABS_MT_TOUCH_MINOR), value 2
Event: time 1428864485.967138, type 3 (EV_ABS), code 47 (ABS_MT_SLOT), value 8
Event: time 1428864485.967138, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 1170
Event: time 1428864485.967138, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 590
Event: time 1428864485.967138, type 3 (EV_ABS), code 60 (ABS_MT_TOOL_X), value 1170
Event: time 1428864485.967138, type 3 (EV_ABS), code 61 (ABS_MT_TOOL_Y), value 590
Event: time 1428864485.967138, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 3
Event: time 1428864485.967138, type 3 (EV_ABS), code 49 (ABS_MT_TOUCH_MINOR), value 2
Event: time 1428864485.976136, type 3 (EV_ABS), code 47 (ABS_MT_SLOT), value 0
Event: time 1428864485.976136, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 3178
Event: time 1428864485.976136, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 808
Event: time 1428864485.976136, type 3 (EV_ABS), code 60 (ABS_MT_TOOL_X), value 3178
Event: time 1428864485.976136, type 3 (EV_ABS), code 61 (ABS_MT_TOOL_Y), value 808
Event: time 1428864485.976136, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 2
Event: time 1428864485.976136, type 3 (EV_ABS), code 49 (ABS_MT_TOUCH_MINOR), value 1
Event: time 1428864485.976136, type 3 (EV_ABS), code 47 (ABS_MT_SLOT), value 5
Event: time 1428864485.976136, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value -1
Event: time 1428864485.976136, type 3 (EV_ABS), code 47 (ABS_MT_SLOT), value 7
Event: time 1428864485.976136, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value -1
Event: time 1428864485.976136, type 3 (EV_ABS), code 47 (ABS_MT_SLOT), value 8
Event: time 1428864485.976136, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value -1
Event: time 1428864485.983132, type 3 (EV_ABS), code 47 (ABS_MT_SLOT), value 0
Event: time 1428864485.983132, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value -1
...

Thanks a lot