WacomTabletsUi
Launchpad Entry: wacom-tablets-ui
Created: 2008-11-21
Contributors: Alberto Milone
Packages affected:
Summary
Currently there's no easy way for users to enable, configure and calibrate Wacom Tablets and Tablet PCs as they have to do it manually in the xorg.conf. For this reason we should develop a simple graphical interface which can write user settings to the xorg.conf and which allows testing of the stylus, eraser and buttons inside a drawable area.
Release Note
Ubuntu now provides a simple graphical interface to enable and calibrate computer drawing tablets.
Rationale
Use Cases
* Claire plugs in her USB tablet but HAL detects only the stylus
* Mark wants to configure the sensitivity of his tablet
* John wants to use the touch capability of his tablet PC
* Gwen wants to constrain the movement of her stylus to her first screen
Assumptions
Design
Configuration wizard:
- hardware profiles for different models
- custom profile:
- users are asked a few questions on the characteristics of their tablet/tablet PC
- buttons on the tablet, touchscreen, (serial or USB) connection, etc.
Configuration dialog:
- the different components (stylus, eraser, pad, touch) can be configured separately
- some components are not available in certain hardware configurations
- some options are not available in certain components
- options:
- Mode (Screen, Window → Relative/Absolute)
- Pressure Sensitivity
- Click Threshold (or Button Threshold)
- Speed
- Allow cursor to move across multiple screens (for screens with different resolutions)
- Rotation (?)
- a drawing area to test the pressure sensitivity of stylus and eraser devices
- applies/saves settings (2 alternatives):
- settings are applied and saved only after clicking on the “Apply” button
- settings are applied immediately but are saved only after clicking on the “Save” button
- actions:
- makes the wizard show up when no relevant device is found in the xorg.conf
- allows users to change the tablet model (maybe with a button to run the wizard again)
- displays a dialog to warn the user that s/he has to restart X with the tablet plugged in in order to use it (when the tablet is already configured in the xorg.conf)
UI:
- The first supported frontend will rely upon GTK.
A drawing area (using Cairo and GooCanvas for the GTK UI) for testing
Implementation
Tablet profiles:
hardware profiles for different models (OpenSuse's Sax2 already does this)
- custom profiles for unsupported models
Tablet tools settings (stylus, etc.):
- applied immediately with xsetwacom (without having to restart X)
saved to the xorg.conf through X-Kit and PolicyKit
Wacom options:
- depend on the hardware profile and are set according to what the wacom man page suggests
Allow cursor to move across multiple screens (for screens with different resolutions)
- easy to do with RandR 1.2
Xinerama. Parse the ServerLayout section with X-Kit (ServerFlags too)
Mode has to be set to Relative otherwise the stylus won't be able to move across 2 or more screens
Test/Demo Plan
Unresolved issues
How to deal with screen rotations?
- Use the new Python RandR API
- provide a combobox to allow users to rotate the tablet manually
- create a daemon which listens to rotation events and rotates the tablet automatically
Users will have to restart X:
- after selecting the tablet model in the wizard
- every time they boot with the tablet unplugged (only if they want to use the tablet)
BoF agenda and discussion
Use this section to take notes during the BoF; if you keep it in the approved spec, use it for summarising what was discussed and note any options that were rejected.