Friday, 27 January 2012

Wacom tablets in GNOME 3.4

Working from designs.


The cool stuff first

Cosimo Cecchi presents the updated Wacom settings

Go to YouTube directly if you can't see the video here.

A new arrival

As mentioned by Cosimo, we have a new library to help us implement the settings you saw: libwacom.

libwacom is there to give us metadata about tablets, whether or not they are connected to your system, the list of styli it supports, as well as information about the styli themselves. As you can see from the UI, it's pretty important that we know:

  • whether the tablet is builtin (so we know whether you can calibrate it)
  • which form factor it has
  • the list of styli it supports
  • for each stylus, its full name, the number of buttons, what it looks like
In the past, all this information was only available within the drivers (as comments), exported in different ways (sysfs attributes), non-machine readable in public documentation, or, worst of all, hidden in Wacom's internal drivers for OS X or Windows.

So if you have a Wacom tablet, send us a definition file for your tablet, so you can configure it with the impression that the software actually knows about your device.

Where's that configuration again

After knowing what each tablet had to offer, we had to have a way to match the definitions to XInput devices, assign settings per-tablet, and importantly, switch stylus configuration when the user switches stylus. This is done using the new GsdWacomDevice and GsdWacomStylus objects, shared between gnome-settings-daemon (which will apply the configuration) and gnome-control-center (which will set the configuration).

This also means we have a few debugging applications, such as list-wacom in gnome-settings-daemon, to show you the attached GsdWacomDevices, or test-wacom in gnome-control-center, to test display of particular tablets if you don't own them (this is the place where I spend a lot of time).

What's next

Peter Hutterer, my input buddy at Red Hat, who made the original Wacom panel for GNOME 3.2, and the first version of libwacom, is currently spending a lot of time on Multi-Touch, and fixing bugs I report in the Wacom driver.

Jason Gerecke, from Wacom, who did most of the initial work on calibration support, is working on the related display-mapping. This will allow choosing whether a tablet's working area is the whole desktop, or a single monitor when in multiple monitors are used.

For my part, after fixing the layout bugs that so annoy me in the settings panel, I'll be starting work on tablet button mapping. I look forward to making the LEDs on the tablet match up with the selected keyboard shortcut!

Many thanks to Cosimo and Monty for helping out with presenting the work, and doing the video.

11 comments:

m0z said...

I have a Trust (Waltop) tablet at work and a HP Touchsmart (multitouch with fingers and stylus) at home...

Will this setting panel work for me ?

Anyway, such a good job ! Thanks a lot !

Bastien Nocera said...

MoZ: the Waltop tablet will work if it uses the Wacom driver for X.org. I'm not sure it does though.

For the HP Touchsmart, I'm afraid that it won't help. We have other plans for touch and multi-touch devices, currently under design.

Sebseb01 said...

I have a thinkpad(X61t) with a touchscreen(wacom), it's possible to configure finger usage in addition to stylus (mainly calibration) ?
Thanks, and good job !

Máirín Duffy said...

Hi Bastien,

I would be happy to provide a description file for my Lenovo x220's built-in Wacom (right now in F16 the non-stylus buttons don't work at all!) but I ran into some issues with the description file instructions:

For device match, I'm not sure if I should use 'usb' or serial or what? I think it may be considered, by the Wacom driver, to be a serial tablet. I'm really not sure though. :( This is my lsusb output:

Bus 002 Device 003: ID 056a:00e6 Wacom Co., Ltd

"# Class of the tablet. Valid classes include Intuos3, Intuos4, Graphire, Bamboo, Cintiq"

I don't know what class to give it? I guess it's closest to the cintiq, but I don't know if that is the right thing to put here?

The left-hand right-hand thing - how do I know if the tablet supports either direction? I'm not sure that would apply to something like a cintiq or a built-in on a laptop, so should that be set to true or false?

what is a touch ring? (I know the x220 supports touch)

Thanks!

Mika said...

Hi, I made a description file for a bamboo pen & touch tablet. Might not be all correct, but I hope it's a start - where do I send it? I can't quite guess the correct place + your favorite way of getting it. Mailing list? git patch? The raw file?

Cheers & thanks a lot for your work,

Mika

Bastien Nocera said...

Sebseb01: The touch settings would be part of the touch/multi-touch handling mentioned above. But calibration certainly should be possible.

Máirín: Answered your questions in the file itself, let me know if you still have questions.

Mika: Awesome, best is git-formatted patch, via mail. But I'll take anything I can get :)

Anonymous said...

I am deaf.

Is it possible to add captions to that YouTube video?

Thank you.

Bastien Nocera said...

Anonymous: I'm afraid that I don't have time to provide captions. Most of what you can't hear you can read in this blog post though. And I'll gladly link to any efforts subtitling or translating this video.

Steve G said...

How do Wacom feel about you using their registered trademarks in the GUI and in the library name?

Bastien Nocera said...

Steve G: They send us patches :)

Unknown said...
This comment has been removed by a blog administrator.