Enable two-finger scrolling on ALPS touchpad

How can I set up two-finger scrolling on an ALPS touchpad that doesn't support multiple fingers?

The relevant output from xinput list is as follows:

⎡ Virtual core pointer                     id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ PS/2 Mouse                                id=12   [slave  pointer  (2)]
⎜   ↳ AlpsPS/2 ALPS GlidePoint                  id=13   [slave  pointer  (2)]

and the output of synclient -l is:

Parameter settings:
    LeftEdge                = 153
    RightEdge               = 870
    TopEdge                 = 115
    BottomEdge              = 652
    FingerLow               = 12
    FingerHigh              = 14
    FingerPress             = 127
    MaxTapTime              = 180
    MaxTapMove              = 56
    MaxDoubleTapTime        = 180
    SingleTapTimeout        = 180
    ClickTime               = 100
    FastTaps                = 0
    EmulateMidButtonTime    = 75
    EmulateTwoFingerMinZ    = 139
    EmulateTwoFingerMinW    = 7
    VertScrollDelta         = 25
    HorizScrollDelta        = 25
    VertEdgeScroll          = 1
    HorizEdgeScroll         = 0
    CornerCoasting          = 0
    VertTwoFingerScroll     = 0
    HorizTwoFingerScroll    = 0
    MinSpeed                = 1
    MaxSpeed                = 1.75
    AccelFactor             = 0.156495
    TrackstickSpeed         = 40
    EdgeMotionMinZ          = 14
    EdgeMotionMaxZ          = 79
    EdgeMotionMinSpeed      = 1
    EdgeMotionMaxSpeed      = 102
    EdgeMotionUseAlways     = 0
    TouchpadOff             = 1
    LockedDrags             = 0
    LockedDragTimeout       = 5000
    RTCornerButton          = 2
    RBCornerButton          = 3
    LTCornerButton          = 0
    LBCornerButton          = 0
    TapButton1              = 1
    TapButton2              = 3
    TapButton3              = 2
    ClickFinger1            = 1
    ClickFinger2            = 1
    ClickFinger3            = 1
    CircularScrolling       = 0
    CircScrollDelta         = 0.1
    CircScrollTrigger       = 0
    CircularPad             = 0
    PalmDetect              = 0
    PalmMinWidth            = 10
    PalmMinZ                = 99
    CoastingSpeed           = 20
    CoastingFriction        = 50
    PressureMotionMinZ      = 14
    PressureMotionMaxZ      = 79
    PressureMotionMinFactor = 1
    PressureMotionMaxFactor = 1
    ResolutionDetect        = 1
    GrabEventDevice         = 1
    TapAndDragGesture       = 1
    AreaLeftEdge            = 0
    AreaRightEdge           = 0
    AreaTopEdge             = 0
    AreaBottomEdge          = 0

Solution 1:

First of all, to identify which touchpad you have, run

xinput list 

If it shows something like

...
↳ AlpsPS/2 ALPS GlidePoint                  id=14   [slave  pointer  (2)]
...

then you most probably do not have multitouch support. The Alps touchpads tend not to have multitouch, while they use the same driver as the Synaptic touchpads.

You can use synclient -l to obtain information on your touchpad.

Still, the definitive way to see how many fingers are supported on your touchpad, is to

  1. Enable SHMConfig in your xorg.conf file
  2. Run synclient -m 100, which will show in real time the status of your touchpad. The fifth column labeled f is for fingers, therefore you can see up to how many fingers you can tap at the same time.

To enable SHMConfig in xorg.conf, see http://mjg59.livejournal.com/118588.html and then add

Section "InputClass"
   Identifier "enable synaptics SHMConfig"
   MatchIsTouchpad "on"
   MatchDevicePath "/dev/input/event*"
   Option "SHMConfig" "on"
EndSection

to your xorg.conf. You can remove the above snippet once you performed your testing.