Features/SynapticsUpdate

= Synaptics update to 1.x =

Summary
Update Fedora to ship xorg-x11-drv-synaptics version 1.x

Owner

 * Name: Peter Hutterer
 * email: peter DOT hutterer AT redhat DOT com

Current status

 * Targeted release: Fedora 11
 * Last updated: (2009-03-01)
 * Percentage of completion: 100%

Detailed Description
Update Fedora to ship synaptics 1.x by default. F10 shipped 0.15.2, since, synaptics has seen a number of changes aimed at improved autoconfiguration of devices. Synaptics 1.x reads the information from the kernel device and adjusts parameters such as speed, acceleration, etc. automatically depending on the axis resolution. In addition, 1.0 supports Features/InputDeviceProperties for run-time configuration of settings without the need for the (insecure) SHM area.

Benefit to Fedora

 * New devices are supported out-of-the-box: Elantech touchpads, bcm5974 (autoconfiguration), and some touchscreens without buttons.
 * Improved autoconfiguration - no need to manually configure touchpads anymore.
 * Less prone to noise during tapping.

Scope
1.0 is released and shipped in Fedora. Release upstream version 1.1 (scheduled for 2nd March), move into Fedora (1.1 includes the synclient tool without needing SHM, and two-finger emulation based on finger width).

How To Test

 * Install xorg-x11-drv-synaptics from the repository, this will automatically enable synaptics for your touchpad (if you have any)
 * Restart X
 * Test the functionality of the touchpad
 * If you have a multi-touch enabled touchpad, you can scroll using two fingers
 * If you have a single-touch touchpad, you can scroll using the right edge of the touchpad
 * The touchpad should feel responsive without user-specific settings.
 * Check out the synaptics(4) man page, it lists a number of options that can be configured. Enable those options that sound useful to you, and make sure they test
 * You can enable them in the xorg.conf or by saving an .fdi file in /etc/hal/fdi/policy
 * You can run synclient -l and synclient = to change settings at runtime (synapcis v1.1 does not need SHMConfig to be enabled)
 * Requested by FESCo on 2009-02-27
 * Gnome/KDE/XFCE/etc frontends to the old driver should be checked to see if they work with the new driver, and disabled/removed if they don't.

User Experience
Less configuration necessary to get the touchpad into the default state. Tapping (if enabled) is more reliable.

Dependencies

 * xorg-x11-server 1.6 (already in rawhide)

Contingency Plan

 * 1.0 has been in rawhide for a while. If 1.1 isn't ready in time, we stick with 1.0 which provides all the features described except the synclient rework.

Documentation

 * synaptics(4)

Release Notes
The update to synaptics 1.0 may change the behaviour of the touchpad due to some changed default settings. Here is a list of what may change when updating from F10 to F11:
 * Tap-to-click: disabled by default (enabled for devices that do not have physical buttons).
 * Vertical scrolling: disabled for multi-touch touchpads, enabled for touchpads only supporting single-touch.
 * Two-finger scrolling: enabled for multi-touch touchpads, disabled otherwise.
 * Multi-finger click: enabled by default for buttons/fingers 1, 2, and 3 (i.e. holding two fingers down and clicking a button results in a right button click)
 * Speed change: the driver derives settings for speed, acceleration, etc. based on the axis ranges the device advertises. For some users, this may result in the touchpad feeling slower or faster than the previous version.

The update to synaptics 1.1 provides the following additional features:
 * Emulation of two-finger presses through finger with (for touchpads that do not have multi-finger capabilities).
 * synclient does not need SHM anymore, it can list and change settings through Input Device Properties.

Note that all settings can be adjusted by the user. The synaptics(4) man page explains all settings in more detail. Existing settings in the xorg.conf or in HAL's fdi files override the new defaults. The gsynaptics tool uses synclient if available and thus does not need SHM to be enabled anymore either.

Comments and Discussion

 * See Talk:Features/SynapticsUpdate