WacomTabletsUi

Differences between revisions 1 and 4 (spanning 3 versions)
Revision 1 as of 2008-11-21 15:43:17
Size: 1475
Editor: host88-86-dynamic
Comment:
Revision 4 as of 2008-11-30 09:53:12
Size: 4006
Editor: host94-94-dynamic
Comment:
Deletions are marked like this. Additions are marked like this.
Line 22: Line 22:
* 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
Line 28: Line 36:
 * This program will access the xorg.conf through X-Kit and PolicyKit and deal with different pointer devices through backend which in turn will rely on a specific widget toolkit. The first supported backend will rely upon GTK since GDK already supports graphics tablets through the XInput extension.  * '''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.
Line 30: Line 42:
 * A drawable area (using Cairo and GooCanvas) will allow users to test the stylus, 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
Line 33: Line 68:

 * '''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)
Line 41: Line 90:
 * '''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)
  • 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)

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.


CategorySpec

X/Blueprints/WacomTabletsUi (last edited 2009-05-18 10:23:11 by ip-81-11-185-100)