LucidTouchpadConfig

Differences between revisions 1 and 9 (spanning 8 versions)
Revision 1 as of 2009-09-30 02:45:01
Size: 3697
Editor: CPE52544c04a312-CM00169243eab6
Comment:
Revision 9 as of 2009-11-20 17:50:46
Size: 2913
Editor: 63
Comment:
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
 * '''Launchpad Entry''': UbuntuSpec:touchpad-config-kde
 * '''Created''':
 * '''Launchpad Entry''': UbuntuSpec:kubuntu-lucid-touchpad-config
 * '''Created''': 2009-09-30
Line 6: Line 6:
 * '''Packages affected''':  * '''Packages affected''': kubuntu-desktop
Line 10: Line 10:
It should be easy to make a USB Image in any environment, including those with text only consoles, like in a server environment. KDE is currently missing a way to easily configure a touchpad for advanced options such as scroll area or disabling touchpad while typing.
Line 12: Line 12:
The groundwork is already completed for supporting multiple frontends and backends with the existing usb-creator for KDE, GTK and Windows. A sensible next step would be to have either a command line mode or ncurses mode which would allow one to make a startup disk from any text console. KDE should have a KControl module for configuring this. This used to be provided by the QSynaptics package, which is no longer maintained and is only for KDE/Qt 3.X.
Line 16: Line 16:
usb-creator-console provides a text only interface to the usb-creator package, allowing the end-user to make a startup disk via any Linux text based console. This is especially useful in server environments, where a graphical console may not exist, but where the user would still like to have a usb startup disk created. A new touchpad configuration modules is available and installed by default, allowing the end-user to tweak their laptop touchpad and modify advanced settings like multi-touch, disable while typing, etc.
Line 20: Line 20:
There are cases where a graphical environment may not be available, but the end-user may desire to make a startup disk via a non-gui console. For example, in a server environment, is would be highly unlikely that the server would have a local X server running. For most users, the default Xinput settings for their touchpad will be adequate. However, there are cases where advanced settings would be beneficial to tweak how their touchpad behaves. This becomes especially important for features such as multi-touch or multi-tap, defining scroll areas, setting sensitivity, etc. Some laptops also have misbehaving touchpads, that are too sensitive with their default settings (e.g. Dell Mini 10v). Allowing the user an easy way to adjust these settings will result in a better overall user experience.
Line 24: Line 24:
Server Admin Karl has a new server installed and working. He now wishes he had a live USB image startup disk to use as his server does not have a permanent CD-ROM. The server has no X server running, and he does not wish to
install one simply to make a startup disk.
jr finds that while typing, his hands sometimes accidentally activate the touchpad, causing erroneous clicks or mouse movement. jr wishes there was a way to set the 'disable while typing' feature available in his touchpad to prevent this.
Line 27: Line 26:
Server Admin Jody has a server, and wishes to have a custom USB startup disk with persistence. The server is headless and only has a Async terminal, so generating a statup disk via a graphical environment is not possible. Roman has a very small touchpad, and would like to disable the scrollbar area, as it impedes the available screen area used by the touchpad.
Line 31: Line 30:
The Ubuntu Linux system has an active console from which to launch the text only usb-creator-console. This could be one of the active tty's or an async terminal connection.

The server will require device-kit disks, and python and possibly ncurses, which should all be available on the majority of systems with a default install.
Touchpad interface is exposed via XInput. The KControl module will interface with XInput to get/set touchpad settings.
 
Line 37: Line 34:
Either a command line based module or ncurses interface will be developed.

The command line interface would be trivial, but possibly limited. It would require the user have advanced knowledge of the devices and possibly manually mounting these devices ahead of time.

A ncurses interface would be more involved, but would be easier for the user to use, as no advanced knowledge of the devices would be required and mounting would be taken care of within the ncurses interface (using the devicekit-disks back-end).
The module will be a native KDE application, which will allow us to upstream the project to KDE, and will integrate nicely.
Line 45: Line 38:
Add a new usb-creator-console binary to existing usb-creator package. There is a module available by a third party author at http://kde-apps.org/content/show.php/kcm_touchpad?content=113335 Package this and include in the archive, a SRU will be needed to get it into main.
Line 47: Line 40:
=== UI Changes === We will perform a usability review on the UI to ensure it covers the necessary features in a manor clear to the user. We will peer review the code to ensure it is of suitable quality for inclusion in main and likely to be accepted by upstream. We will work closely with the upstream developer to provide direction, support and assist in getting this upstreamed to KDE for 4.5.
Line 49: Line 42:
usb-creator-console would provide a new interface frontend, similar to either usb-creator-kde, usb-creator-gtk or the windows interface.

The addition of the new binary would not impact the existing interfaces, and would appear as a seperate stand alone package (deb).

=== Code Changes ===

 * Add new usb-creator-console binary
 * Update packaging to include new binary and package into seperate deb
 * Update packaging dependancies for build time and runtime (on usb-creator-console)
 * Add man page for new package (similar to gtk and kde man pages)
 * Update unit tests to accomodate new package

=== Migration ===

None: this is a new package and a previous way has not existed up to this point.
Settings are saved across reboots, we will review the method that allows this to ensure it is reliable.
Line 67: Line 46:
TODO: complete test plan after spec approved and work has been started

== Unresolved issues ==

== BoF agenda and discussion ==
Verify features work on a variety of touchpads and that settings are saved/restored for each setting.

Summary

KDE is currently missing a way to easily configure a touchpad for advanced options such as scroll area or disabling touchpad while typing.

KDE should have a KControl module for configuring this. This used to be provided by the QSynaptics package, which is no longer maintained and is only for KDE/Qt 3.X.

Release Note

A new touchpad configuration modules is available and installed by default, allowing the end-user to tweak their laptop touchpad and modify advanced settings like multi-touch, disable while typing, etc.

Rationale

For most users, the default Xinput settings for their touchpad will be adequate. However, there are cases where advanced settings would be beneficial to tweak how their touchpad behaves. This becomes especially important for features such as multi-touch or multi-tap, defining scroll areas, setting sensitivity, etc. Some laptops also have misbehaving touchpads, that are too sensitive with their default settings (e.g. Dell Mini 10v). Allowing the user an easy way to adjust these settings will result in a better overall user experience.

User stories

jr finds that while typing, his hands sometimes accidentally activate the touchpad, causing erroneous clicks or mouse movement. jr wishes there was a way to set the 'disable while typing' feature available in his touchpad to prevent this.

Roman has a very small touchpad, and would like to disable the scrollbar area, as it impedes the available screen area used by the touchpad.

Assumptions

Touchpad interface is exposed via XInput. The KControl module will interface with XInput to get/set touchpad settings.

Design

The module will be a native KDE application, which will allow us to upstream the project to KDE, and will integrate nicely.

Implementation

There is a module available by a third party author at http://kde-apps.org/content/show.php/kcm_touchpad?content=113335 Package this and include in the archive, a SRU will be needed to get it into main.

We will perform a usability review on the UI to ensure it covers the necessary features in a manor clear to the user. We will peer review the code to ensure it is of suitable quality for inclusion in main and likely to be accepted by upstream. We will work closely with the upstream developer to provide direction, support and assist in getting this upstreamed to KDE for 4.5.

Settings are saved across reboots, we will review the method that allows this to ensure it is reliable.

Test/Demo Plan

Verify features work on a variety of touchpads and that settings are saved/restored for each setting.


CategorySpec

Kubuntu/Specs/LucidTouchpadConfig (last edited 2010-01-15 03:00:59 by d-65-175-172-80)