Mouse and Touchpad plug

Registered by Sergey "Shnatsel" Davidoff

# Expected functionality:
- Enable/Disable Horizontal scrolling
- Enable/Disable Natural scrolling
- Enable/Disable Multi-touch
- Enable/Disable Pointer reveal
- Mouse sensitivity and acceleration
- Right or Left handed buttons
- Enable/Disable Tap to click
- Enable/Disable touchpad while typing
- Enable/Disable/Edge/Two-finger scrolling with touchpad
- Enable/Disable common multi-touch gestures.

# Mockups:
DanRabbit: http://danrabbit.deviantart.com/art/Mouse-and-Touchpad-Plug-254063961

# Upstream design:
https://live.gnome.org/Design/SystemSettings/Mouse

Blueprint information

Status:
Complete
Approver:
None
Priority:
High
Drafter:
None
Direction:
Approved
Assignee:
None
Definition:
Approved
Series goal:
None
Implementation:
Implemented
Milestone target:
milestone icon loki-alpha1
Started by
Danielle Foré
Completed by
Danielle Foré

Whiteboard

Related blueprint: https://blueprints.launchpad.net/elementaryos/+spec/basic-tablet-friendliness

There doesn't appear to be a general solution to "natural scroll". There's the .XModmap hack that you can find using Google (which I've implemented), but it turns out that it doesn't work consistently across applications. Most notably, GTK 3.4 (with "smooth scrolling") uses a different input method. It is possible to switch the mapping for synaptics touchpads, but I cannot find out how to get perfectly uniform behaviour across the board. I need to know how elementary wants to handle this. Just support touchpads? Don't support NS at all? Unfortunately, I think the safest option would be not to support it at all: see https://bugzilla.gnome.org/show_bug.cgi?id=674716, comment #2 --vincentnys

As for multitouch, touchegg seems like a valid option. My own touchpad seems too inaccurate to test this, though. Can someone else implement and test this part? --vincentnys

GNOME's mock-up looks cleaner. DanRabbit's mockup-up looks cluttered. --swizzle

It would be great if functionality similar to Solaar ( https://pwr.github.io/Solaar/ ) would be integrated.

(?)

Work Items

Work items:
Multitouch: POSTPONED

This blueprint contains Public information 
Everyone can see this information.