saaros / sentelic

Sentelic touchpad driver for Linux kernel
16 stars 1 forks source link

merge together all Sentelic patches with proper Signed-off-by lines #3

Open wulczer opened 12 years ago

wulczer commented 12 years ago

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:

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.

saaros commented 12 years ago

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.

saaros commented 12 years ago

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!

wulczer commented 12 years ago

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!

saaros commented 12 years ago

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.

fenio commented 12 years ago

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?

vanjoe commented 12 years ago

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 !

saaros commented 12 years ago

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.

saaros commented 12 years ago

Remaining issues that I'm aware of:

vanjoe commented 12 years ago

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?

saaros commented 12 years ago

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.

fenio commented 12 years ago

Thanks for an answer. I'll try the newest version on 3.2.1 kernel in ArchLinux today.

fenio commented 12 years ago

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.

saaros commented 12 years ago

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

fenio commented 12 years ago

Sorry for off-topic, I've just filled new bugreport (https://github.com/saaros/sentelic/issues/4).

wulczer commented 12 years ago

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.

fenio commented 12 years ago

Did something changed during last month? Are we getting closer to include this improved driver in kernel?

sergeykostenko commented 12 years ago

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=a4c85075f00d56b38f5c277ab89f9aaad69eb17b

saaros commented 12 years ago

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.

maze05 commented 11 years ago

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 christophe@tordeux.net

maze05 commented 11 years ago

More recent (and better, simpler) version of my parch http://sentelic.pkbd.org/diff/3.7/diffoutput.txt