Elantech Touchpad, "AreaBottomEdge =" parameter not work completly

Bug #1179656 reported by Mattia Donato
36
This bug affects 7 people
Affects Status Importance Assigned to Milestone
xserver-xorg-input-synaptics (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

I have a laptop "Asus S65CM" with a large Elantech Touchpad. Please google it and see the touchpad.

First problem: the touchpad is not automatically configured in a correct way. So I wrote a script to correct the parameters of "synclient" as enclosed.
In this way, it work quite well but still a little but annoying bug.
The parameter "AreaBottomEdge = 1800" is used to reducting the Area of sensibility of the Touchpad. This is true about the movements but it is not true about the "fingers counting". For example, if I let one my finger in the area of the left button, which is suppose to be a death-area, outside "AreaBottom", it suppose to not be considered. But actually if I put also a finger to move the curson in "central" zone the touchpad recognize it as TwoFingers, so is blocking the cursor.
If think internally is a problem of "button counting" which is performed before than the AreaBottom constrain.

Parameter settings:
    LeftEdge = 129
    RightEdge = 3120
    TopEdge = 120
    BottomEdge = 2103
    FingerLow = 9
    FingerHigh = 12
    FingerPress = 256
    MaxTapTime = 180
    MaxTapMove = 173
    MaxDoubleTapTime = 180
    SingleTapTimeout = 150
    ClickTime = 100
    FastTaps = 1
    EmulateMidButtonTime = 0
    EmulateTwoFingerMinZ = 282
    EmulateTwoFingerMinW = 7
    VertScrollDelta = 78
    HorizScrollDelta = 78
    VertEdgeScroll = 1
    HorizEdgeScroll = 1
    CornerCoasting = 0
    VertTwoFingerScroll = 1
    HorizTwoFingerScroll = 1
    MinSpeed = 1.5
    MaxSpeed = 3.5
    AccelFactor = 0.1
    TrackstickSpeed = 40
    EdgeMotionMinZ = 30
    EdgeMotionMaxZ = 40
    EdgeMotionMinSpeed = 100
    EdgeMotionMaxSpeed = 400
    EdgeMotionUseAlways = 0
    TouchpadOff = 2
    LockedDrags = 0
    LockedDragTimeout = 5000
    RTCornerButton = 2
    RBCornerButton = 3
    LTCornerButton = 0
    LBCornerButton = 0
    TapButton1 = 1
    TapButton2 = 3
    TapButton3 = 2
    ClickFinger1 = 1
    ClickFinger2 = 3
    ClickFinger3 = 0
    CircularScrolling = 0
    CircScrollDelta = 0.1
    CircScrollTrigger = 0
    CircularPad = 0
    PalmDetect = 1
    PalmMinWidth = 10
    PalmMinZ = 200
    CoastingSpeed = 10
    CoastingFriction = 50
    PressureMotionMinZ = 30
    PressureMotionMaxZ = 160
    PressureMotionMinFactor = 1
    PressureMotionMaxFactor = 1
    ResolutionDetect = 1
    GrabEventDevice = 1
    TapAndDragGesture = 1
    AreaLeftEdge = 0
    AreaRightEdge = 0
    AreaTopEdge = 0
    AreaBottomEdge = 1800
    HorizHysteresis = 19
    VertHysteresis = 19
    ClickPad = 1
    RightButtonAreaLeft = 1624
    RightButtonAreaRight = 0
    RightButtonAreaTop = 1822
    RightButtonAreaBottom = 0
    MiddleButtonAreaLeft = 0
    MiddleButtonAreaRight = 0
    MiddleButtonAreaTop = 0
    MiddleButtonAreaBottom = 0

ProblemType: Bug
DistroRelease: Ubuntu 13.04
Package: xserver-xorg-input-synaptics 1.6.2-1ubuntu6 [modified: usr/share/X11/xorg.conf.d/50-synaptics.conf]
ProcVersionSignature: Ubuntu 3.8.0-19.30-generic 3.8.8
Uname: Linux 3.8.0-19-generic x86_64
ApportVersion: 2.9.2-0ubuntu8
Architecture: amd64
Date: Mon May 13 21:44:07 2013
DistUpgraded: Fresh install
DistroCodename: raring
DistroVariant: ubuntu
InstallationDate: Installed on 2013-05-12 (1 days ago)
InstallationMedia: Ubuntu-GNOME 13.04 "Raring Ringtail" - Release amd64 (20130424)
MachineType: ASUSTeK COMPUTER INC. K56CM
MarkForUpload: True
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.8.0-19-generic root=UUID=86fe6931-c7ff-4e9d-ba8f-1c005736b8cf ro quiet splash vt.handoff=7
SourcePackage: xserver-xorg-input-synaptics
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 11/19/2012
dmi.bios.vendor: American Megatrends Inc.
dmi.bios.version: K56CM.209
dmi.board.asset.tag: ATN12345678901234567
dmi.board.name: K56CM
dmi.board.vendor: ASUSTeK COMPUTER INC.
dmi.board.version: 1.0
dmi.chassis.asset.tag: No Asset Tag
dmi.chassis.type: 10
dmi.chassis.vendor: ASUSTeK COMPUTER INC.
dmi.chassis.version: 1.0
dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvrK56CM.209:bd11/19/2012:svnASUSTeKCOMPUTERINC.:pnK56CM:pvr1.0:rvnASUSTeKCOMPUTERINC.:rnK56CM:rvr1.0:cvnASUSTeKCOMPUTERINC.:ct10:cvr1.0:
dmi.product.name: K56CM
dmi.product.version: 1.0
dmi.sys.vendor: ASUSTeK COMPUTER INC.
version.compiz: compiz N/A
version.ia32-libs: ia32-libs N/A
version.libdrm2: libdrm2 2.4.43-0ubuntu1
version.libgl1-mesa-dri: libgl1-mesa-dri 9.1.1-0ubuntu3
version.libgl1-mesa-dri-experimental: libgl1-mesa-dri-experimental N/A
version.libgl1-mesa-glx: libgl1-mesa-glx 9.1.1-0ubuntu3
version.xserver-xorg-core: xserver-xorg-core 2:1.13.3-0ubuntu6
version.xserver-xorg-input-evdev: xserver-xorg-input-evdev 1:2.7.3-0ubuntu2b2
version.xserver-xorg-video-ati: xserver-xorg-video-ati 1:7.1.0-0ubuntu2
version.xserver-xorg-video-intel: xserver-xorg-video-intel 2:2.21.6-0ubuntu4
version.xserver-xorg-video-nouveau: xserver-xorg-video-nouveau 1:1.0.7-0ubuntu1
xserver.bootTime: Mon May 13 20:16:02 2013
xserver.configfile: default
xserver.errors:

xserver.logfile: /var/log/Xorg.0.log
xserver.version: 2:1.13.3-0ubuntu6
xserver.video_driver: intel

Revision history for this message
Mattia Donato (mattia-donato) wrote :
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in xserver-xorg-input-synaptics (Ubuntu):
status: New → Confirmed
Revision history for this message
Mattia Donato (mattia-donato) wrote :

Solution found:
source: https://github.com/mattocompleto/elantech-clickpad-fix

Just make autorun this script:
#!/bin/bash

device=`xinput list "ETPS/2 Elantech Touchpad" | grep -o 'id=[0-9]\+' | egrep "[0-9]{1,}" -o`

i=0
while read label min delim max; do
        if [ $i -eq 0 ]; then
                minx=$min
                maxx=$max
        elif [ $i -eq 1 ]; then
                miny=$min
                maxy=$max
                break
        fi

        (( i++ ))
done < <(xinput list "$device" | grep Range)

middleleft=`echo \($maxx - $minx\) / 2 \* 90 / 100 + $minx | bc -l`
middleright=`echo \($maxx - $minx\) / 2 \* 110 / 100 + $minx | bc -l`
left=`echo $middleright + 1 | bc -l`
right=$maxx
height=`echo \($maxy - $miny\) | bc -l`
top=`echo $height \* 0.82 + $miny | bc -l`
bottom=`echo $height \* 2 + $miny | bc -l`

# enable the clickpad
xinput set-prop "$device" "Synaptics ClickPad" 1

# enable right and middle click (drag & drop selection) for the clickpad
xinput set-prop "$device" "Synaptics Soft Button Areas" $left $right $top $bottom $middleleft $middleright $top $bottom

# enable the triple-finger tap as middle click
synclient TapButton1=1 TapButton2=3 TapButton3=2

Revision history for this message
wm (winemore) wrote :

While clickpad is correctly recognized in 13.10,
the AreaBottomEdge still does not work as expected - fingers outside the area counts to numFingers

Revision history for this message
Pierre Maoui (maouipierre+ubuntuone) wrote :

I also have this bug on 14.10. The AreaBottomEdge doesn't prevent numFingers and it's quite annoying.

Revision history for this message
Pierre Maoui (maouipierre+ubuntuone) wrote :
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.