sentelic
sentelic copied to clipboard
merge together all Sentelic patches with proper Signed-off-by lines
I'm creating this issue so everyone who contributed to the Sentelic driver can participate.
AFAIK there are four people that contributed code for the Sentelic driver: Oskari Saarenmaa, Chris, Olivier Goffart and myself.
Some of that code is on GitHub, in disperse forks, some was sent by mail. I think we should clean this mess up a bit and come up with a patch that can be submitted upstream.
How about we do it like this:
- someone forks the official kernel mirror (https://github.com/mirrors/linux), creates a branch
- everyone who contributed sends a patch or attaches a pull request with proper Signed-off-by lines
- someone produces a patch series and submits it upstream
The commit messages would probably have to be redacted a bit more carefully, but I think it's doable.
Oskari, are you willing to do the legwork of forking the kernel mirror and shepherding this issue through LKML? If not, I could volunteer to do that.
I'll try to do that, I finally got back to working on the driver last weekend and confirmed that using all the patches does make the touchpad pretty responsive and both horizontal and vertical two-finger scrolling works.
I however noticed that some of the changes were not necessarily 100% correct wrt the updated documentation that Sentelic provided us and started rewriting the patch, I'll let you know how it progresses.
Just pushed the updated driver to my master as well as to a fork of the upstream repo: https://github.com/saaros/linux/tree/sentelic
I ended up somewhat reinventing the wheel using the latest documentation provided by Sentelic and did not use the actual patches other people posted so I guess my signed-off-by line is enough here. Having a working driver (using patches sent by others) to compare against was a big help though and I can add other tags (ack/cc/tested-by/reviewed-by) to the patch if requested.
Please add a proper signed-off-by line to any future commits for the driver sent to me or to my GitHub repo so we can get the driver upstreamed.
Thanks!
Great, I think it's now turn for @thaelim to re-issue his pull request with signed-off-by lines, then I will submit the patch I made on top of his work.
Thanks for your work!
I updated the driver again to ignore all on-pad-clicks from the hardware in absolute mode, they're handled by other components and filtering out all the events makes at least Gnome's "enable mouse clicks with touchpad" setting work properly. Edge scrolling used to work with an older version of the driver but doesn't work with the current one, once that's sorted out I'll submit the driver upstream.
So what's the current way to make this touchpad working under Linux? I tried to build 3.2.1 kernel with your driver few days ago and nothing was working for me, no egde scrolling, no multitouch, and no middle button support. Don't know if it was me doing something wrong or what. All I got was weird behaviour of touchpad... awkward moving, flipping and so one.
Should I try to build latest (updated today) driver with 3.3-rc1 kernel?
It worked pretty well for me to use the latest patch, still some problems though. I have to reload psmouse after closing my screen and then opening it. And double clicking to drag is delayed. edge scrolling still doesn't work for me, but two finger scrolling works really well. twofinger tap works as a right click so that's cool. All in all I really appreciate the work done, you are princes among men !
The original patch I posted in December was jumpy and not very usable, the updated patches I've posted this week should fix the jumpiness and two-finger scrolling. The updates I just pushed today should also fix edge scrolling and on-pad clicks (actual clicks, not just on-pad taps). I've not yet gotten middle clicks to work.
I'm using the current driver version with Fedora 16's kernel 3.2.1.
Remaining issues that I'm aware of:
- on-pad click & drag
- middle-click emulation
so you are not having trouble with your lid? I believe you said somewhere that you were using an asus ux31, I am as well, just on ubuntu. would it have to do with my sleep scripts? On the windows driver it specifies a small area in the center of the touchpad that reactivates the pad after you have been typing, is this possible? I hate to just ask you to do more work, is there a better way of figuring out how this all works than just reading the entire psmouse module (so I can do some work myself)? One last question is it in the plan to eventually support full gestures like 3/4 finger swipes?
I don't have any issues with sleep on my laptop, I've an Asus UX21E with Fedora 16 and Gnome 3. I don't have any custom sleep scripts, the only non-default thing on my laptop is the kernel which is currently http://koji.fedoraproject.org/koji/buildinfo?buildID=294921 + the sentelic patch.
I haven't used "disable touchpad while typing" on my previous laptops, but I just tried it and it seems to work fine, the touchpad is disabled while you're typing and is reactivated around a second after the last key was pressed.
There's some support for gestures both in the touchpad and in the driver, but gesture mode is not currently enabled. I started experimenting with it in December but I couldn't get gestures & absolute mode to work at the same time so I stopped working on the gesture stuff. The gestures that are implemented in hardware are documented in Documentation/input/sentelic.txt - the hardware supports quite a few of them, when I started working on the driver the updated doc was not yet available.
Thanks for an answer. I'll try the newest version on 3.2.1 kernel in ArchLinux today.
Just tried the newest version with 3.2.1 kernel... still no edge-scrolling, no two-finger scrolling and cursor is jumping when I tap touchpad and don't move finger.
I wonder if Gnome should detect this touchpad now? Cause I'm not able to change any touchdpad settings in Gnome settings.
One thing changed after compilation of new driver. Tap to click stopped working and I have to use touchpad's buttons.
This is getting off-topic for this issue which is about merging the relevant patches, can you open a new one with details about your laptop and touchpad? If the sentelic driver has detected your touchpad you can find the hardware version from dmesg, an example from my Zenbook where I have touchpad settings available in Gnome (and all the settings work):
Jan 24 23:24:54 zen kernel: [22271.423749] psmouse serio4: sentelic: Finger Sensing Pad, hw: 14.3.1, sw: 1.0.0-K-OS1, buttons: 6
Sorry for off-topic, I've just filled new bugreport (https://github.com/saaros/sentelic/issues/4).
Hi,
I tried the latest version on a UX31E and it works great. Using synclient TapButton2=2 I've been able to get middle-click via two-finger tap, so I can paste from the X clipboard. I haven't tried edge scrolling, but two-finger scrolling works fine.
I'm running 3.2.1 from a kernel.org tarball.
Did something changed during last month? Are we getting closer to include this improved driver in kernel?
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=a4c85075f00d56b38f5c277ab89f9aaad69eb17b
Unfortunately the version merged to master breaks horizontal scrolling and doesn't allow disabling click-on-tap. I just sent a patch to address the click-on-tap issues and will look into fixing horizontal scrolling next.
I have two-fingers horizontal scrolling working with kernel version 3.7-rc8 (provided you activate it in xorg's synaptic driver).
You can obtain the patch here: http://sentelic.pkbd.org/20121212-diffoutput.txt
Signed-off-by: Christophe TORDEUX [email protected]
More recent (and better, simpler) version of my parch http://sentelic.pkbd.org/diff/3.7/diffoutput.txt