4

I installed Arch Linux on an Asus C201 Chromebook using this guide (the debian and fedora guides for the notebook didn't work for me and resulted in a black screen).

This worked well more or less out of the box until I upgraded the system using pacman -Syu. Now the touchpad doesn't work properly anymore:

Behaviour description (go to "Update" below for a miracle solution)

  • Trying to move the cursor with a single finger seems to trigger scrolling.
  • I can very slowly move the cursor when using one finger and sort of scratch the touchpad with the nail. But this really only moves the cursor a little.

  • I can also press the touchpad and then move the cursor in which case the cursor moves and highlights.

What I tried so far

  • I double checked /etc/X11/xorg.conf.d/70-synaptics.conf and am using the configuration shown in the arch wiki as an example.
  • I also had a copy of the pre-upgrade synaptics.conf but this didn't change the behavior either.
  • I uninstalled and reinstalled xf86-input-synaptics
  • sudo dmesg | grep elan shows the following two lines:

    [ 1.6 ] i2c 4-0015: Driver elan_i2c requests probe deferral

    [ 408.6 ] elan_i2c 4-0015: invalid report id data (ff)

Summary

Based on the touchpad behaviour, it feels that the upgrade caused havoc with the touchpad configuration. However, the configuration file seems to be ok. Reinstallting the touchpad driver doesn't seem to have an impact.

Any other ideas of what I could do?

/etc/X11/xorg.conf.d/50-synaptics.conf

I uninstalled and reinstalled the synaptics driver and this is the config file:

Section "InputClass"
    Identifier "touchpad"
    Driver "synaptics"
    MatchIsTouchpad "on"
        Option "TapButton1" "1"
        Option "TapButton2" "3"
        Option "TapButton3" "2"
        Option "VertEdgeScroll" "on"
        Option "VertTwoFingerScroll" "on"
        Option "HorizEdgeScroll" "on"
        Option "HorizTwoFingerScroll" "on"
        Option "CircularScrolling" "on"
        Option "CircScrollTrigger" "2"
        Option "EmulateTwoFingerMinZ" "40"
        Option "EmulateTwoFingerMinW" "8"
        Option "CoastingSpeed" "0"
        Option "FingerLow" "30"
        Option "FingerHigh" "50"
        Option "MaxTapTime" "125" EndSection

The file I used before the upgrade only had the changes shown in the arch wiki as a sample configuration.

synclient -l

synclient -l returns:

Parameter settings:
    LeftEdge                = 120
    RightEdge               = 2884
    TopEdge                 = 88
    BottomEdge              = 1554
    FingerLow               = 30
    FingerHigh              = 50
    MaxTapTime              = 125
    MaxTapMove              = 150
    MaxDoubleTapTime        = 100
    SingleTapTimeout        = 180
    ClickTime               = 100
    EmulateMidButtonTime    = 0
    EmulateTwoFingerMinZ    = 40
    EmulateTwoFingerMinW    = 8
    VertScrollDelta         = 68
    HorizScrollDelta        = 68
    VertEdgeScroll          = 1
    HorizEdgeScroll         = 1
    CornerCoasting          = 0
    VertTwoFingerScroll     = 1
    HorizTwoFingerScroll    = 1
    MinSpeed                = 1
    MaxSpeed                = 1.75
    AccelFactor             = 0.0584283
    TouchpadOff             = 0
    LockedDrags             = 0
    LockedDragTimeout       = 5000
    RTCornerButton          = 0
    RBCornerButton          = 0
    LTCornerButton          = 0
    LBCornerButton          = 0
    TapButton1              = 1
    TapButton2              = 3
    TapButton3              = 2
    ClickFinger1            = 1
    ClickFinger2            = 3
    ClickFinger3            = 2
    CircularScrolling       = 1
    CircScrollDelta         = 0.1
    CircScrollTrigger       = 2
    CircularPad             = 0
    PalmDetect              = 0
    PalmMinWidth            = 10
    PalmMinZ                = 200
    CoastingSpeed           = 0
    CoastingFriction        = 50
    PressureMotionMinZ      = 30
    PressureMotionMaxZ      = 160
    PressureMotionMinFactor = 1
    PressureMotionMaxFactor = 1
    GrabEventDevice         = 0
    TapAndDragGesture       = 1
    AreaLeftEdge            = 0
    AreaRightEdge           = 0
    AreaTopEdge             = 0
    AreaBottomEdge          = 0
    HorizHysteresis         = 17
    VertHysteresis          = 17
    ClickPad                = 1
    RightButtonAreaLeft     = 1502
    RightButtonAreaRight    = 0
    RightButtonAreaTop      = 1346
    RightButtonAreaBottom   = 0
    MiddleButtonAreaLeft    = 0
    MiddleButtonAreaRight   = 0
    MiddleButtonAreaTop     = 0
    MiddleButtonAreaBottom  = 0

Update

I found this thread on an arch forum which looked pretty close to my problem. The proposed solution was to downgrade xf86-input-synaptics to 1.8.3-4. This mostly solved the issues, the touchpad was usable in general though I would have needed to change some of the sensitivity settings.

When I tried to use libinput before instead of synaptics, the touchpad didn't work at all, however I never removed the synaptics xorg.conf file as suggested by @mattia.b89. So I uninstalled synaptics again (this is after downgrading it) and removed the xorg.conf file:

  • From the moment I removed the xorg.conf file and synaptics, after reboot, the touchpad was working, however scrolling and multitouch didn't work. I don't understand that at all..... at this point neither synaptics nor libinput was installed.

  • I then installed libinput and now scrolling and multitouch works as intended. I haven't tried to get tapping to work yet, but in any case it is functional now.

This all feels like magic a bit. I'll leave the bounty open for a little bit just to see if someone can explain what just happened. In any case thanks to @mattia.b89 and @C.W. for helping with this.

  • As far as i understand the wiki on touchpad configuration on Chrome OS devices, there should be a specific config file for your Chromebook. Unfortunately the link for this is broken in the wiki. Have you considered using a different input driver like xf86-input-cmt (port of the Chromium OS input driver)? – C.W. Nov 23 '16 at 6:57
  • @C.W. Thanks for that, I just tried to install it, however I get an error that the dependency libdevc is not available for arm7h. Are there any alternatives? – pandita Nov 23 '16 at 8:28
  • may you please add both of your config files to your question? – C.W. Nov 23 '16 at 9:28
  • @C.W. I added the synaptic config file. Let me know which other file would help. – pandita Nov 23 '16 at 10:46
  • please also add your pre-upgrade config copy and the output of synclient -l (this will show the states of all settings) – C.W. Nov 23 '16 at 17:44
1

switch to xf86-input-libinput because it is simpler and based on a more modern code

PS: I know, my statement could not be useful without quotation/be thought as wrong, but you can easily find many sources on internet that talk about it...

  • I installed xf86-input-libinput but then the touchpad is not responding at all.... :( – pandita Nov 25 '16 at 22:27
  • did you remove the old xorg.conf file? – mattia.b89 Nov 26 '16 at 9:08
  • See "Update" in question – pandita Nov 27 '16 at 6:11
  • Glad to see you solved the issue! It's strange that you need to manually install libinput, since it is a dependency of the xf86-input-libinput package (archlinux.org/packages/extra/x86_64/xf86-input-libinput) ?!?!?!?! this will explain the reason why without libinput, it hasn't worked – mattia.b89 Nov 27 '16 at 9:24
1

So I played a little with my synaptics.conf and I was running in trouble while I had enabled all different scrolling methods. YET I can not reproduce your problem on my machine.

Try disabling all scrolling entries except the one you really want to use. You can do this by executing synclient "entry"=0 (entry is the option you want to disable). I personally don't like the circular and edge scrolling.

My synclient -l output now looks like this:

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

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.