Page 1 of 2 12 LastLast
Results 1 to 10 of 11

Thread: Sentelic touchpads: horizontal two-finger scrolling fixed

  1. #1
    Join Date
    Jan 2012
    Beans
    18

    Sentelic touchpads: horizontal two-finger scrolling fixed

    I have created a patch of the kernel that makes horizontal two-finger scrolling become functional on Sentelic touchpads. After applying the patch, you need to activate it in synaptics xorg driver, and then it just works.

    Vertical two-finger scrolling also becomes much smoother.

    The kernel version on which I have worked is 3.7-rc8 (3.7-rc7 will work fine also if you apply the patch against it; other versions, I don't know)

    I'm going to attempt a first submission of my patch to the relevant kernel maintainer in a few minutes. I guess at best what they'll do is ask me for changes.

    Here's where you can help:
    I own a Sentelic touchpad version STL3888_C0, so I'm sure my patch works with this version of the touchpad. But, I need to know if and how it works on earlier and later versions of the touchpad. If you do own a Sentelic touchpad of an earlier or later version, you can help me, and the community by trying the following:
    1) Download, compile and install kernel version 3.7-r7 or 3.7-rc8.
    2) Activate horizontal two-finger scrolling in xorg through by configuring the synaptics driver with the following directive:
    Option "HorizTwoFingerScroll" "1"
    3) Open your favorite X app, and make a status on how horizontal and vertical two-finger scrolling work for you.
    4) Apply my patch, recompile and replace the psmouse.ko module by the patched version that you just compiled
    5) rmmod psmouse && modprobe psmouse; ; after reloading the driver, retrieve the kernel log message you get, in contains the version of your touchpad
    6) Retry horizontal and vertical two-finger scrolling
    7) Give feedback by reply to this thread

    You can obtain my patch through git:
    Code:
    git clone git://sentelic.pkbd.org/sentelic.git
    You can also apply it as a diff against the kernel source tree versions 2.7-rc7 or 3.7-rc8. The diff can be found in the git repository, or you can download it directly by following this link:
    http://sentelic.pkbd.org/20121212-diffoutput.txt

    If there's any problem with either of these downloads, please let me know.
    Last edited by maze2; December 13th, 2012 at 08:13 PM.

  2. #2
    Join Date
    May 2007
    Beans
    131

    Re: Sentelic touchpads: horizontal two-finger scrolling fixed

    I will gladly try your patch. I have some questions first however.

    1. How do I find my touchpad version?

    2. Is it necessary to recompile the whole kernel to try it, or is there a faster way?

  3. #3
    Join Date
    Jan 2012
    Beans
    18

    Re: Sentelic touchpads: horizontal two-finger scrolling fixed

    1) yes sorry, lspci does not work, my bad. Simplest way to get your touchpad version is:

    Code:
    dmesg|grep sentelic
    You get a kernel log message every time the psmouse module is loaded. The version of your touchpad is given in there as a number. The correspondance to actual named versions is in sentelic.h. For example for me it's like that:

    Code:
    [376632.331405] psmouse serio4: sentelic: Finger Sensing Pad, hw: 14.3.1, sn: 58037, sw: 1.1.0-K
    My touchpad version is "14" corresponding to FSP_VER_STL3888_C0.

    2) Basically you do have to recompile at least the kernel module. If you don't have already a compiled kernel, you have to compile one which takes a while. If you already have a compiled kernel, just apply the patch, then issue the make command. It will be short because it'll only recompile the psmouse module psmouse.ko. Then you can simply replace the module in the installed modules tree which is:
    Code:
    /lib/modules/your-kernel-version/kernel/drivers/input/mouse/psmouse.ko


    IMPORTANT
    : please download http://sentelic.pkbd.org/diff/3.7/diffoutput.txt to get the latest version of the patch.

    This new patch is much simpler for the same effect.

  4. #4
    Join Date
    May 2007
    Beans
    131

    Re: Sentelic touchpads: horizontal two-finger scrolling fixed

    Awesome. Two finger scroll AND horizontal two finger scroll went from unusable to being quite pleasant to use. With this fix I'd actually say the touchpad is more responsive than in Windows. I cloned the diff from git instead of using the http-link, but I assume they are the same?

    However, it seems I have the exact same version as you do, so unfortunately I cannot help you there.

  5. #5
    Join Date
    May 2007
    Beans
    131

    Re: Sentelic touchpads: horizontal two-finger scrolling fixed

    OK, this is bad. When I started the computer now the touchpad started behaving very irratically -- sometimes not responding, overshooting, random clicks.

    I tried using the original psmouse module, as well as one that came with an older kernel, but I still get the same problem. Is there anything in the new firmware I tried that might have caused this?

  6. #6
    Join Date
    Jan 2012
    Beans
    18

    Re: Sentelic touchpads: horizontal two-finger scrolling fixed

    Well I'd say no, there is nothing in the modified driver which could cause this, since I changed only the way information is reported to userspace.

    I haven't changed, removed or added any values written into the hardware registers, for instance.

    Did the issue persist after rebooting again, or better, after shutting down the computer, waiting for maybe 20 seconds, and starting it again?
    Last edited by maze2; December 27th, 2012 at 08:37 PM.

  7. #7
    Join Date
    Jan 2012
    Beans
    18

    Re: Sentelic touchpads: horizontal two-finger scrolling fixed

    Just in case, you could try to add this kernel boot parameter:
    Code:
    i8042.reset=1
    (this can be done from /etc/default/grub, then I think you have to use update-grub2 to regenerate your grub.cfg file)

    I found this here:
    http://en.gentoo-wiki.com/wiki/Sentelic_touchpad

    And it's also mentioned here:
    http://en.gentoo-wiki.com/wiki/MSI_Wind

    In case the touchpad "sporadically doesn't work after booting" which seems to fit your issue.
    Last edited by maze2; December 27th, 2012 at 08:37 PM.

  8. #8
    Join Date
    Jan 2012
    Beans
    18

    Re: Sentelic touchpads: horizontal two-finger scrolling fixed

    Quote Originally Posted by AbtZ View Post
    I cloned the diff from git instead of using the http-link, but I assume they are the same?
    The diff from the link below is the same as what you can clone through git:
    http://sentelic.pkbd.org/diff/3.7/diffoutput.txt
    (you can also access the above link from the site's home page)

    I have an old link which is an outdated version which I leave in there for maybe a few weeks since I linked it in a couple of places where I can't edit:
    http://sentelic.pkbd.org/20121212-diffoutput.txt
    So you shouldn't use this version of the diff, it's outdated.

  9. #9
    Join Date
    Oct 2009
    Beans
    12

    Re: Sentelic touchpads: horizontal two-finger scrolling fixed

    I'm currently using the saaros patch on my zenbook for vertical scrolling. Is yours a variation of this one?

    Also it seems I'm unable to connect to your git repository.

  10. #10
    Join Date
    Jan 2012
    Beans
    18

    Re: Sentelic touchpads: horizontal two-finger scrolling fixed

    Quote Originally Posted by pezed View Post
    I'm currently using the saaros patch on my zenbook for vertical scrolling. Is yours a variation of this one?
    My patch in its last incarnation is a very simple (one line!) modification of the stock Sentelic driver from the official mainline kernel 3.7 and 3.8.

    I don't know if Saaros patch was included into the mainline kernel at some point in the past. If it was, there have been other changes since.

    Quote Originally Posted by pezed View Post
    Also it seems I'm unable to connect to your git repository.
    It seems that my repo is up right now as I write this.

    It also seems that Abtz succesfully did download from the git repo a few days ago.

    Could be that you tried immediately after my ISP changed my IP address (I'm stuck with a dynamic IP with my current ISP). Every 24 hours my IP changes and it can take a few minutes before DNS servers are updated all around the world.

    I did some trials yesterday, and it seems that my patch also resurrects two-finger tapping. For all useful purposes, I'll post my /etc/X11/xorg.conf.d/50-synaptics.conf below. With this it seems that I get the following:


    • Left click with a one-finger click or one-finger tap
    • Right click with a two-finger click
    • Middle click with a two-finger tap (does not work without the patch)
    • Vertical two-finger scrolling (kind of works without the patch bu the patch makes it much smoother)
    • Horizontal two-finger scrolling (does not work without the patch)

    Code:
    Section "InputClass"
            Identifier "touchpad catchall"
            Driver "Synaptics"
            MatchIsTouchpad "on"
            MatchDevicePath "/dev/input/event*"
            Option "HorizTwoFingerScroll"  "1"
            Option "TapButton1"  "1"
            Option "TapButton2"  "2"
    EndSection
    
    Section "InputClass"
            Identifier "touchpad ignore duplicates"
            MatchIsTouchpad "on"
            MatchOS "Linux"
            MatchDevicePath "/dev/input/mouse*"
            Option "Ignore" "on"
    EndSection
    
    Section "InputClass"
            Identifier "Default clickpad buttons"
            MatchDriver "synaptics"
            Option "SoftButtonAreas" "50% 0 82% 0 0 0 0 0"
    EndSection
    
    Section "InputClass"
            Identifier "Disable clickpad buttons on Apple touchpads"
            MatchProduct "Apple|bcm5974"
            MatchDriver "synaptics"
            Option "SoftButtonAreas" "0 0 0 0 0 0 0 0"
    EndSection

Page 1 of 2 12 LastLast

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •