You are not logged in.

#1 2014-05-08 09:26:41

SeeLook
Member
Registered: 2012-07-01
Posts: 19

How to get touch events

Hi!

Is it possible to have touch events with multitouch (actually 3-points) laptop touch-pad (synaptics driver)?

synclient says:

Parameter settings:
    LeftEdge                = 1758
    RightEdge               = 5278
    TopEdge                 = 1638
    BottomEdge              = 4470
    FingerLow               = 25
    FingerHigh              = 30
    MaxTapTime              = 180
    MaxTapMove              = 231
    MaxDoubleTapTime        = 180
    SingleTapTimeout        = 180
    ClickTime               = 100
    EmulateMidButtonTime    = 0
    EmulateTwoFingerMinZ    = 282
    EmulateTwoFingerMinW    = 7
    VertScrollDelta         = 105
    HorizScrollDelta        = 105
    VertEdgeScroll          = 0
    HorizEdgeScroll         = 0
    CornerCoasting          = 0
    VertTwoFingerScroll     = 1
    HorizTwoFingerScroll    = 0
    MinSpeed                = 1
    MaxSpeed                = 1.75
    AccelFactor             = 0.038088
    TouchpadOff             = 0
    LockedDrags             = 0
    LockedDragTimeout       = 5000
    RTCornerButton          = 2
    RBCornerButton          = 0
    LTCornerButton          = 0
    LBCornerButton          = 0
    TapButton1              = 1
    TapButton2              = 3
    TapButton3              = 0
    ClickFinger1            = 1
    ClickFinger2            = 3
    ClickFinger3            = 0
    CircularScrolling       = 1
    CircScrollDelta         = 0.1
    CircScrollTrigger       = 0
    PalmDetect              = 1
    PalmMinWidth            = 10
    PalmMinZ                = 200
    CoastingSpeed           = 20
    CoastingFriction        = 50
    PressureMotionMinZ      = 30
    PressureMotionMaxZ      = 160
    PressureMotionMinFactor = 1
    PressureMotionMaxFactor = 1
    GrabEventDevice         = 1
    TapAndDragGesture       = 1
    AreaLeftEdge            = 0
    AreaRightEdge           = 0
    AreaTopEdge             = 0
    AreaBottomEdge          = 0
    HorizHysteresis         = 8
    VertHysteresis          = 8
    ClickPad                = 1
    RightButtonAreaLeft     = 0
    RightButtonAreaRight    = 0
    RightButtonAreaTop      = 0
    RightButtonAreaBottom   = 0
    MiddleButtonAreaLeft    = 0
    MiddleButtonAreaRight   = 0
    MiddleButtonAreaTop     = 0
    MiddleButtonAreaBottom  = 0

so two fingers tap = right mouse button, top-right tap = middle button and so...

but
mvdev-test /dev/input/event10
complains that can't open the device
and f.e.
touchegg generates nothing, any pinch, rotate or flick...

also I tried patched synaptic driver from this post
https://bbs.archlinux.org/viewtopic.php?id=150276
The same difference

I'm suspecting that even when touch events are somewhere generated, those events are converted by X11 to mouse ones and all GUI apps can work.
Anyway I need "pure" touch events to test them into my Qt programme.

What do you think? Is it possible to achieve?

Offline

#2 2014-05-08 10:34:38

Rexilion
Member
Registered: 2013-12-23
Posts: 784

Re: How to get touch events

I think that, unless you open the device by your own programme, you will not get full control.

I do notice that TapButton3 for example is not defined which could cause one type of touch event to be ignored. My default settings are like this:

    TapButton1              = 1
    TapButton2              = 2
    TapButton3              = 3

I think you have to change the settings of your synaptics touchpad driver to get all the gesture's you want whom are supported by the synaptics driver.


fs/super.c : "Self-destruct in 5 seconds.  Have a nice day...\n",

Offline

#3 2014-05-09 06:23:38

SeeLook
Member
Registered: 2012-07-01
Posts: 19

Re: How to get touch events

Thank you for answer.

I checked suggested settings but any touch event appeared.

Any app supported touching doesn't work (either mentioned touchegg, my app or Qt touch events examples)

I noticed when I switch off the X
mvdev-test /dev/input/event10
returns proper device capacities

Maybe some other idea

Offline

#4 2014-05-09 09:04:13

Rexilion
Member
Registered: 2013-12-23
Posts: 784

Re: How to get touch events

SeeLook wrote:

I noticed when I switch off the X
mvdev-test /dev/input/event10
returns proper device capacities

I think that's because:

    GrabEventDevice         = 1

fs/super.c : "Self-destruct in 5 seconds.  Have a nice day...\n",

Offline

#5 2014-05-09 10:07:59

SeeLook
Member
Registered: 2012-07-01
Posts: 19

Re: How to get touch events

synclient |grep Grab
    GrabEventDevice         = 0

but It didn't help (I put it to xorg config and X was restarted)

Anyway Xorg.log says:

cat /var/log/Xorg.0.log |grep Synaptics
[  2977.524] (II) config/udev: Adding input device SynPS/2 Synaptics TouchPad (/dev/input/event10)
[  2977.524] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "evdev touchpad catchall"
[  2977.524] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "touchpad catchall"
[  2977.525] (II) Using input driver 'synaptics' for 'SynPS/2 Synaptics TouchPad'
[  2977.525] (**) SynPS/2 Synaptics TouchPad: always reports core events
[  2977.680] (II) synaptics: SynPS/2 Synaptics TouchPad: ignoring touch events for semi-multitouch device
[  2977.680] (--) synaptics: SynPS/2 Synaptics TouchPad: x-axis range 1472 - 5564 (res 58)
[  2977.680] (--) synaptics: SynPS/2 Synaptics TouchPad: y-axis range 1408 - 4700 (res 92)
[  2977.680] (--) synaptics: SynPS/2 Synaptics TouchPad: pressure range 0 - 255
[  2977.680] (--) synaptics: SynPS/2 Synaptics TouchPad: finger width range 0 - 15
[  2977.680] (--) synaptics: SynPS/2 Synaptics TouchPad: buttons: left right double triple
[  2977.680] (--) synaptics: SynPS/2 Synaptics TouchPad: Vendor 0x2 Product 0x7
[  2977.681] (--) synaptics: SynPS/2 Synaptics TouchPad: touchpad found
[  2977.681] (**) SynPS/2 Synaptics TouchPad: always reports core events
[  2977.760] (II) XINPUT: Adding extended input device "SynPS/2 Synaptics TouchPad" (type: TOUCHPAD, id 13)
[  2977.760] (**) synaptics: SynPS/2 Synaptics TouchPad: (accel) MinSpeed is now constant deceleration 2.5
[  2977.760] (**) synaptics: SynPS/2 Synaptics TouchPad: (accel) MaxSpeed is now 1.75
[  2977.760] (**) synaptics: SynPS/2 Synaptics TouchPad: (accel) AccelFactor is now 0.038
[  2977.761] (**) SynPS/2 Synaptics TouchPad: (accel) keeping acceleration scheme 1
[  2977.761] (**) SynPS/2 Synaptics TouchPad: (accel) acceleration profile 1
[  2977.761] (**) SynPS/2 Synaptics TouchPad: (accel) acceleration factor: 2.000
[  2977.761] (**) SynPS/2 Synaptics TouchPad: (accel) acceleration threshold: 4
[  2977.761] (--) synaptics: SynPS/2 Synaptics TouchPad: touchpad found
[  2977.762] (II) config/udev: Adding input device SynPS/2 Synaptics TouchPad (/dev/input/mouse0)

Seems like touchpad is capable enough...

Offline

Board footer

Powered by FluxBB