Hello community, here is the log from the commit of package libwacom for openSUSE:Factory checked in at 2012-07-18 17:31:19 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libwacom (Old) and /work/SRC/openSUSE:Factory/.libwacom.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libwacom", Maintainer is "" Changes: -------- --- /work/SRC/openSUSE:Factory/libwacom/libwacom.changes 2012-05-22 10:10:32.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.libwacom.new/libwacom.changes 2012-07-18 17:31:20.000000000 +0200 @@ -1,0 +2,10 @@ +Sat Jul 14 07:33:49 UTC 2012 - [email protected] + +- Update to version 0.6: + + More metadata for: + - NTrig tablet PC + - ISDv4 0x93, 0x90, 0xED, 0xEF + - Bamboo Pen, Fun, Craft, Touch + + Support for debugging with uinput devices. + +------------------------------------------------------------------- Old: ---- libwacom-0.5.tar.bz2 New: ---- libwacom-0.6.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libwacom.spec ++++++ --- /var/tmp/diff_new_pack.laMBWo/_old 2012-07-18 17:31:22.000000000 +0200 +++ /var/tmp/diff_new_pack.laMBWo/_new 2012-07-18 17:31:22.000000000 +0200 @@ -17,7 +17,7 @@ Name: libwacom -Version: 0.5 +Version: 0.6 Release: 0 Summary: Library to identify wacom tablets License: MIT ++++++ libwacom-0.5.tar.bz2 -> libwacom-0.6.tar.bz2 ++++++ ++++ 2661 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libwacom-0.5/NEWS new/libwacom-0.6/NEWS --- old/libwacom-0.5/NEWS 2012-05-02 02:59:13.000000000 +0200 +++ new/libwacom-0.6/NEWS 2012-06-26 03:57:13.000000000 +0200 @@ -1,3 +1,10 @@ +libwacom 0.6: +- More metadata for: + - NTrig tablet PC + - ISDv4 0x93, 0x90, 0xED, 0xEF + - Bamboo Pen, Fun, Craft, Touch +- Support for debugging with uinput devices + libwacom 0.5: - Add support for multiple match statements - Add support for bluetotooth devices diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libwacom-0.5/README new/libwacom-0.6/README --- old/libwacom-0.5/README 2011-11-28 23:32:59.000000000 +0100 +++ new/libwacom-0.6/README 2012-06-04 01:59:08.000000000 +0200 @@ -1,3 +1,20 @@ libwacom is a library to identify wacom tablets and their model-specific features. It provides easy access to information such as "is this a built-in on-screen tablet", "what is the size of this model", etc. + +== Debugging libwacom with uinput devices == +libwacom by default will not recognise uinput devices. To debug and test, a +physical device must be connected. + +Custom udev rules are provided to help debug uinput device. Run + generate-udev-rules --with-uinput-rules +to generate these rules and apply them locally. Devices will then be tagged +as required and can be debugged. + +Some limitations: +* For these rules to work, the device must be listed in the database. +* libwacom will check UINPUT_* properties on the uinput device, if they do + not get applied, the device will not be visible + +DO NOT USE THESE UINPUT RULES unless you are debugging with uinput devices. +Remove the rules once debugging is done. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libwacom-0.5/configure.ac new/libwacom-0.6/configure.ac --- old/libwacom-0.5/configure.ac 2012-05-01 05:07:35.000000000 +0200 +++ new/libwacom-0.6/configure.ac 2012-06-26 03:52:00.000000000 +0200 @@ -1,6 +1,6 @@ # Initialize Autoconf AC_PREREQ([2.60]) -AC_INIT([libwacom], [0.5]) +AC_INIT([libwacom], [0.6]) AC_CONFIG_HEADERS([config.h]) # Initialize Automake @@ -17,7 +17,7 @@ # - If binary compatibility has been broken (eg removed or changed interfaces) # change to C+1:0:0 # - If the interface is the same as the previous version, change to C:R+1:A -LIBWACOM_LT_VERSION=2:0:0 +LIBWACOM_LT_VERSION=3:0:1 AC_SUBST(LIBWACOM_LT_VERSION) # Initialize libtool diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libwacom-0.5/data/bamboo-2fg-4x5.tablet new/libwacom-0.6/data/bamboo-2fg-4x5.tablet --- old/libwacom-0.5/data/bamboo-2fg-4x5.tablet 1970-01-01 01:00:00.000000000 +0100 +++ new/libwacom-0.6/data/bamboo-2fg-4x5.tablet 2012-06-04 02:02:39.000000000 +0200 @@ -0,0 +1,23 @@ +# Wacom +# Bamboo Pen & Touch +# CTH-460 +# +# first generation BambooPT +# +# stylus with two buttons and eraser; 2FG touch +# Pen active area: 5.8 x 3.62in +# Touch active area: 4.92 x 3.35in + +[Device] +Name=Wacom Bamboo 2FG 4x5 +DeviceMatch=usb:056a:00d1 +Class=Bamboo +Width=6 +Height=4 + +[Features] +Stylus=true +Reversible=true +Touch=true +Buttons=4 +BuiltIn=false diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libwacom-0.5/data/bamboo-2fg-6x8.tablet new/libwacom-0.6/data/bamboo-2fg-6x8.tablet --- old/libwacom-0.5/data/bamboo-2fg-6x8.tablet 1970-01-01 01:00:00.000000000 +0100 +++ new/libwacom-0.6/data/bamboo-2fg-6x8.tablet 2012-06-04 02:02:39.000000000 +0200 @@ -0,0 +1,23 @@ +# Wacom +# Bamboo Fun +# CTH-661 +# +# first generation BambooPT +# +# stylus with two buttons and eraser; 2FG touch +# Pen active area: 8.53 x 5.40 in +# Touch active area: 7.48 x 5.12 in + +[Device] +Name=Wacom Bamboo 2FG 6x8 +DeviceMatch=usb:056a:00d3 +Class=Bamboo +Width=9 +Height=5 + +[Features] +Stylus=true +Reversible=true +Touch=true +Buttons=4 +BuiltIn=false diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libwacom-0.5/data/bamboo-2fg.tablet new/libwacom-0.6/data/bamboo-2fg.tablet --- old/libwacom-0.5/data/bamboo-2fg.tablet 1970-01-01 01:00:00.000000000 +0100 +++ new/libwacom-0.6/data/bamboo-2fg.tablet 2012-06-04 02:02:39.000000000 +0200 @@ -0,0 +1,22 @@ +# Wacom +# Bamboo Touch +# CTT-460 +# +# first generation BambooPT +# +# no stylus; 2FG touch +# Touch active area: 4.92 x 3.35in + +[Device] +Name=Wacom Bamboo 2FG +DeviceMatch=usb:056a:00d0 +Class=Bamboo +Width=5 +Height=3 + +[Features] +Stylus=false +Reversible=true +Touch=true +Buttons=4 +BuiltIn=false diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libwacom-0.5/data/bamboo-craft.tablet new/libwacom-0.6/data/bamboo-craft.tablet --- old/libwacom-0.5/data/bamboo-craft.tablet 1970-01-01 01:00:00.000000000 +0100 +++ new/libwacom-0.6/data/bamboo-craft.tablet 2012-06-04 02:02:39.000000000 +0200 @@ -0,0 +1,23 @@ +# Wacom +# Bamboo Craft +# CTH-461 +# +# first generation BambooPT +# +# stylus with two buttons and eraser; 2FG touch +# Pen active area: 5.8 x 3.62in +# Touch active area: 4.92 x 3.35in + +[Device] +Name=Wacom Bamboo Craft +DeviceMatch=usb:056a:00d2 +Class=Bamboo +Width=6 +Height=4 + +[Features] +Stylus=true +Reversible=true +Touch=true +Buttons=4 +BuiltIn=false diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libwacom-0.5/data/bamboo-pen-and-touch.tablet new/libwacom-0.6/data/bamboo-pen-and-touch.tablet --- old/libwacom-0.5/data/bamboo-pen-and-touch.tablet 2012-05-01 05:02:19.000000000 +0200 +++ new/libwacom-0.6/data/bamboo-pen-and-touch.tablet 1970-01-01 01:00:00.000000000 +0100 @@ -1,31 +0,0 @@ -[Device] -# Bamboo Pen & Touch (CTH-460-DE), 2nd generation bamboo -Name=Wacom Bamboo Pen & Touch - -DeviceMatch=usb:056a:00d1 - -Class=Bamboo - -# There are two widths and heigths, one for pen input, one for touch. -# The one for pen is bigger, but in linux, only the smaller one works. -# But as the width is advertised as the bigger one for pen input, I put the pen input here. -Width=6 -Height=4 - -# The other stylusses don't match it, it has two buttons and an eraser. -Styli=0xfffff - -[Features] -Stylus=true - -Reversible=true - -Touch=true - -Ring=false -Ring2=false - -Buttons=4 - -BuiltIn=false - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libwacom-0.5/data/bamboo-pen.tablet new/libwacom-0.6/data/bamboo-pen.tablet --- old/libwacom-0.5/data/bamboo-pen.tablet 1970-01-01 01:00:00.000000000 +0100 +++ new/libwacom-0.6/data/bamboo-pen.tablet 2012-05-29 06:42:14.000000000 +0200 @@ -0,0 +1,22 @@ +# Wacom +# Bamboo Pen +# CTL-460 +# +# first generation BambooPT +# +# stylus with two buttons and no eraser +# Pen active area: 5.8 x 3.62in + +[Device] +Name=Wacom Bamboo Pen +DeviceMatch=usb:056a:00d4 +Class=Bamboo +Width=6 +Height=4 + +[Features] +Stylus=true +Reversible=true +Touch=false +Buttons=0 +BuiltIn=false diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libwacom-0.5/data/cintiq-21ux2.tablet new/libwacom-0.6/data/cintiq-21ux2.tablet --- old/libwacom-0.5/data/cintiq-21ux2.tablet 2012-04-16 05:58:37.000000000 +0200 +++ new/libwacom-0.6/data/cintiq-21ux2.tablet 2012-05-29 06:40:51.000000000 +0200 @@ -1,5 +1,5 @@ # Wacom -# Cintiq 21UX +# Cintiq 21UX2 # DTK-2100 # # Button Map: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libwacom-0.5/data/dti-520.tablet new/libwacom-0.6/data/dti-520.tablet --- old/libwacom-0.5/data/dti-520.tablet 2012-05-01 05:01:56.000000000 +0200 +++ new/libwacom-0.6/data/dti-520.tablet 2012-06-04 01:59:08.000000000 +0200 @@ -20,7 +20,8 @@ Class=PenDisplay Width=14 Height=12 -Styli=0xfffff; +# FIXME does the stylus have an eraser? +# Styli=0xfffff; [Features] # This tablet does not appear to support erasers on styli diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libwacom-0.5/data/isdv4-90.tablet new/libwacom-0.6/data/isdv4-90.tablet --- old/libwacom-0.5/data/isdv4-90.tablet 1970-01-01 01:00:00.000000000 +0100 +++ new/libwacom-0.6/data/isdv4-90.tablet 2012-05-29 06:42:15.000000000 +0200 @@ -0,0 +1,18 @@ +# USB tablet PC models: ASUS R1E and ASUS R1F +# +# stylus with one button and eraser +# +# Screen size 11.7 x 7.9; 13.3" diagonal + +[Device] +Name=Wacom ISDv4 90 +DeviceMatch=usb:056a:0090;serial:056a:0090 +Class=ISDV4 +Width=12 +Height=8 + +[Features] +Stylus=true +Touch=false +Buttons=0 +BuiltIn=true diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libwacom-0.5/data/isdv4-93.tablet new/libwacom-0.6/data/isdv4-93.tablet --- old/libwacom-0.5/data/isdv4-93.tablet 1970-01-01 01:00:00.000000000 +0100 +++ new/libwacom-0.6/data/isdv4-93.tablet 2012-05-29 06:42:16.000000000 +0200 @@ -0,0 +1,18 @@ +# USB tablet PC models: HP Pavilion TX2000 and HP Pavilion TX2500 +# +# stylus with two buttons and eraser; 1FGT touchscreen +# +# Screen size 10.2 x 6.4; 12.1" diagonal + +[Device] +Name=Wacom ISDv4 93 +DeviceMatch=usb:056a:0093;serial:056a:0093 +Class=ISDV4 +Width=10 +Height=6 + +[Features] +Stylus=true +Touch=true +Buttons=0 +BuiltIn=true diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libwacom-0.5/data/isdv4-ed.tablet new/libwacom-0.6/data/isdv4-ed.tablet --- old/libwacom-0.5/data/isdv4-ed.tablet 1970-01-01 01:00:00.000000000 +0100 +++ new/libwacom-0.6/data/isdv4-ed.tablet 2012-05-29 06:40:47.000000000 +0200 @@ -0,0 +1,12 @@ +# this is for the Wacom pen + touchscreen as found in the Panasonic CF-H2 laptop. + +[Device] +Name=Wacom ISDv4 ED +DeviceMatch=usb:056a:00ed +Class=ISDV4 + +[Features] +Stylus=true +Touch=true +BuiltIn=true +Buttons=0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libwacom-0.5/data/isdv4-ef.tablet new/libwacom-0.6/data/isdv4-ef.tablet --- old/libwacom-0.5/data/isdv4-ef.tablet 1970-01-01 01:00:00.000000000 +0100 +++ new/libwacom-0.6/data/isdv4-ef.tablet 2012-05-29 06:40:46.000000000 +0200 @@ -0,0 +1,11 @@ +# this is for the Wacom pen as found in a limited special Tablet PC edition + +[Device] +Name=Wacom ISDv4 EF +DeviceMatch=usb:056a:00ef +Class=ISDV4 + +[Features] +Stylus=true +BuiltIn=true +Buttons=0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libwacom-0.5/data/libwacom.stylus new/libwacom-0.6/data/libwacom.stylus --- old/libwacom-0.5/data/libwacom.stylus 2012-04-16 05:58:37.000000000 +0200 +++ new/libwacom-0.6/data/libwacom.stylus 2012-06-04 02:02:39.000000000 +0200 @@ -19,13 +19,15 @@ Type=Inking [0x801] -Name=Intuos3 Inking Pen +# Intuos3 and Cintiq 21UX +Name=Inking Pen Buttons=0 HasEraser=false Type=Inking [0x20802] -Name=Intuos4 Inking Pen +# Intuos4, 5 and Cintiq 21UX2, 24HD +Name=Inking Pen Buttons=0 HasEraser=false Type=Inking @@ -45,49 +47,57 @@ Type=Classic [0x842] -Name=Intuos2 Designer Pen +# Intuos2 +Name=Designer Pen HasEraser=false Buttons=2 Type=General [0x852] -Name=Intuos2 Grip Pen +# Intuos2 +Name=Grip Pen HasEraser=true Buttons=2 Type=General [0x823] -Name=Intuos3 Grip Pen +# Intuos3 and Cintiq 21UX +Name=Grip Pen HasEraser=true Buttons=2 Type=General [0x813] -Name=Intuos3 Classic Pen +# Intuos3 and Cintiq 21UX +Name=Classic Pen HasEraser=true Buttons=2 Type=Classic [0x885] -Name=Intuos3 6D Art Pen +# Intuos3 and Cintiq 21UX +Name=6D Art Pen HasEraser=false Buttons=0 Type=Marker [0x802] -Name=Intuos4 Grip Pen +# Intuos4, 5 and Cintiq 21UX2, 24HD +Name=Grip Pen HasEraser=true Buttons=2 Type=General [0x804] -Name=Intuos4 Art Pen +# Intuos4, 5 and Cintiq 21UX2, 24HD +Name=Art Pen HasEraser=true Buttons=2 Type=Marker [0x40802] -Name=Intuos4 Classic Pen +# Intuos4, 5 and Cintiq 21UX2, 24HD +Name=Classic Pen HasEraser=true Buttons=2 Type=Classic @@ -114,67 +124,83 @@ # Intuos and Intuos2 Name=Classic Pen Eraser IsEraser=true +Type=Classic [0x85a] -Name=Intuos2 Grip Pen Eraser +# Intuos2 +Name=Grip Pen Eraser IsEraser=true +Type=General [0x91a] -Name=Intuos2 Airbrush Pen Eraser +# Intuos2 +Name=Airbrush Pen Eraser IsEraser=true +Type=Airbrush [0xd1a] -Name=Intuos Airbrush Pen Eraser +# Intuos +Name=Airbrush Pen Eraser IsEraser=true +Type=Airbrush [0x0fa] Name=Eraser IsEraser=true [0x82b] -Name=Intuos3 Grip Pen Eraser +# Intuos3 and Cintiq 21UX +Name=Grip Pen Eraser IsEraser=true Type=General [0x81b] -Name=Intuos3 Classic Pen Eraser +# Intuos3 and Cintiq 21UX +Name=Classic Pen Eraser IsEraser=true Type=Classic [0x91b] -Name=Intuos3 Airbrush Pen Eraser +# Intuos3 and Cintiq 21UX +Name=Airbrush Pen Eraser IsEraser=true Type=Airbrush [0x80c] -Name=Intuos4 Art Pen Eraser +# Intuos4, 5 and Cintiq 21UX2, 24HD +Name=Art Pen Eraser IsEraser=true Type=Marker [0x80a] -Name=Intuos4 Grip Pen Eraser +# Intuos4, 5 and Cintiq 21UX2, 24HD +Name=Grip Pen Eraser IsEraser=true Type=General [0x4080a] -Name=Intuos4 Classic Pen Eraser +# Intuos4, 5 and Cintiq 21UX2, 24HD +Name=Classic Pen Eraser IsEraser=true Type=Classic [0x90a] -Name=Intuos4 Airbrush Pen Eraser +# Intuos4, 5 and Cintiq 21UX2, 24HD +Name=Airbrush Pen Eraser IsEraser=true Type=Airbrush # Airbrush pen has eraser [0xd12] -Name=Intuos Airbrush Pen +# Intuos +Name=Airbrush Pen HasEraser=true Buttons=1 Type=Airbrush [0x912] -Name=Intuos2 Airbrush Pen +# Intuos2 +Name=Airbrush Pen HasEraser=true Buttons=1 Type=Airbrush @@ -185,13 +211,15 @@ Type=Airbrush [0x913] -Name=Intuos3 Airbrush Pen +# Intuos3 and Cintiq 21UX +Name=Airbrush Pen Buttons=1 HasEraser=true Type=Airbrush [0x902] -Name=Intuos4 Airbrush Pen +# Intuos4, 5 and Cintiq 21UX2, 24HD +Name=Airbrush Pen Buttons=1 HasEraser=true Type=Airbrush @@ -205,13 +233,15 @@ Buttons=5 [0x097] -Name=Intuos3 Lens Cursor +# Intuos3 +Name=Lens Cursor Type=Puck HasLens=True Buttons=5 [0x006] -Name=Intuos4 Lens Cursor +# Intuos4 and Intuos5 +Name=Lens Cursor Type=Puck HasLens=True Buttons=5 @@ -224,19 +254,22 @@ Buttons=5 [0x007] -Name=Intuos2 2D Mouse +# Intuos3 +Name=2D Mouse Type=Puck HasLens=False Buttons=3 [0x017] -Name=Intuos3 Mouse +# Intuos3 +Name=Mouse Type=Puck HasLens=False Buttons=5 [0x806] -Name=Intuos4 Five Button Mouse +# Intuos4 and Intuos5 +Name=Five Button Mouse Type=Puck HasLens=False Buttons=5 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libwacom-0.5/data/n-trig-pen.tablet new/libwacom-0.6/data/n-trig-pen.tablet --- old/libwacom-0.5/data/n-trig-pen.tablet 1970-01-01 01:00:00.000000000 +0100 +++ new/libwacom-0.6/data/n-trig-pen.tablet 2012-05-29 06:42:17.000000000 +0200 @@ -0,0 +1,19 @@ +# USB tablet PC models: HP TouchSmart TX2z, Dell Latitude XT, and Dell Latitude XT2 +# +# stylus with two buttons and no eraser; 4FGT touchscreen +# +# HP Screen size 10.2 x 6.4; 12.1" diagonal +# Dell Screen size 10.3 x 6.4; 12.1" diagonal + +[Device] +Name=N-Trig Pen +DeviceMatch=usb:1b96:0001 +Class=ISDV4 +Width=10 +Height=6 + +[Features] +Stylus=true +Touch=true +Buttons=0 +BuiltIn=true diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libwacom-0.5/doc/html/files.html new/libwacom-0.6/doc/html/files.html --- old/libwacom-0.5/doc/html/files.html 2012-05-02 02:47:26.000000000 +0200 +++ new/libwacom-0.6/doc/html/files.html 2012-06-26 03:52:23.000000000 +0200 @@ -99,7 +99,7 @@ <hr class="footer"/><address class="footer"><small> -Generated on Wed May 2 2012 10:47:26 for libwacom by  <a href="http://www.doxygen.org/index.html"> +Generated on Tue Jun 26 2012 11:52:23 for libwacom by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.0 </small></address> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libwacom-0.5/doc/html/globals.html new/libwacom-0.6/doc/html/globals.html --- old/libwacom-0.5/doc/html/globals.html 2012-05-02 02:47:26.000000000 +0200 +++ new/libwacom-0.6/doc/html/globals.html 2012-06-26 03:52:23.000000000 +0200 @@ -446,7 +446,7 @@ <hr class="footer"/><address class="footer"><small> -Generated on Wed May 2 2012 10:47:26 for libwacom by  <a href="http://www.doxygen.org/index.html"> +Generated on Tue Jun 26 2012 11:52:23 for libwacom by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.0 </small></address> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libwacom-0.5/doc/html/globals_defs.html new/libwacom-0.6/doc/html/globals_defs.html --- old/libwacom-0.5/doc/html/globals_defs.html 2012-05-02 02:47:26.000000000 +0200 +++ new/libwacom-0.6/doc/html/globals_defs.html 2012-06-26 03:52:23.000000000 +0200 @@ -110,7 +110,7 @@ <hr class="footer"/><address class="footer"><small> -Generated on Wed May 2 2012 10:47:26 for libwacom by  <a href="http://www.doxygen.org/index.html"> +Generated on Tue Jun 26 2012 11:52:23 for libwacom by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.0 </small></address> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libwacom-0.5/doc/html/globals_enum.html new/libwacom-0.6/doc/html/globals_enum.html --- old/libwacom-0.5/doc/html/globals_enum.html 2012-05-02 02:47:26.000000000 +0200 +++ new/libwacom-0.6/doc/html/globals_enum.html 2012-06-26 03:52:23.000000000 +0200 @@ -125,7 +125,7 @@ <hr class="footer"/><address class="footer"><small> -Generated on Wed May 2 2012 10:47:26 for libwacom by  <a href="http://www.doxygen.org/index.html"> +Generated on Tue Jun 26 2012 11:52:23 for libwacom by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.0 </small></address> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libwacom-0.5/doc/html/globals_eval.html new/libwacom-0.6/doc/html/globals_eval.html --- old/libwacom-0.5/doc/html/globals_eval.html 2012-05-02 02:47:26.000000000 +0200 +++ new/libwacom-0.6/doc/html/globals_eval.html 2012-06-26 03:52:23.000000000 +0200 @@ -252,7 +252,7 @@ <hr class="footer"/><address class="footer"><small> -Generated on Wed May 2 2012 10:47:26 for libwacom by  <a href="http://www.doxygen.org/index.html"> +Generated on Tue Jun 26 2012 11:52:23 for libwacom by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.0 </small></address> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libwacom-0.5/doc/html/globals_func.html new/libwacom-0.6/doc/html/globals_func.html --- old/libwacom-0.5/doc/html/globals_func.html 2012-05-02 02:47:26.000000000 +0200 +++ new/libwacom-0.6/doc/html/globals_func.html 2012-06-26 03:52:23.000000000 +0200 @@ -258,7 +258,7 @@ <hr class="footer"/><address class="footer"><small> -Generated on Wed May 2 2012 10:47:26 for libwacom by  <a href="http://www.doxygen.org/index.html"> +Generated on Tue Jun 26 2012 11:52:23 for libwacom by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.0 </small></address> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libwacom-0.5/doc/html/globals_type.html new/libwacom-0.6/doc/html/globals_type.html --- old/libwacom-0.5/doc/html/globals_type.html 2012-05-02 02:47:26.000000000 +0200 +++ new/libwacom-0.6/doc/html/globals_type.html 2012-06-26 03:52:23.000000000 +0200 @@ -119,7 +119,7 @@ <hr class="footer"/><address class="footer"><small> -Generated on Wed May 2 2012 10:47:26 for libwacom by  <a href="http://www.doxygen.org/index.html"> +Generated on Tue Jun 26 2012 11:52:23 for libwacom by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.0 </small></address> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libwacom-0.5/doc/html/index.html new/libwacom-0.6/doc/html/index.html --- old/libwacom-0.5/doc/html/index.html 2012-05-02 02:47:26.000000000 +0200 +++ new/libwacom-0.6/doc/html/index.html 2012-06-26 03:52:23.000000000 +0200 @@ -111,7 +111,7 @@ <hr class="footer"/><address class="footer"><small> -Generated on Wed May 2 2012 10:47:26 for libwacom by  <a href="http://www.doxygen.org/index.html"> +Generated on Tue Jun 26 2012 11:52:23 for libwacom by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.0 </small></address> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libwacom-0.5/doc/html/libwacom_8h.html new/libwacom-0.6/doc/html/libwacom_8h.html --- old/libwacom-0.5/doc/html/libwacom_8h.html 2012-05-02 02:47:26.000000000 +0200 +++ new/libwacom-0.6/doc/html/libwacom_8h.html 2012-06-26 03:52:23.000000000 +0200 @@ -1903,7 +1903,7 @@ <hr class="footer"/><address class="footer"><small> -Generated on Wed May 2 2012 10:47:26 for libwacom by  <a href="http://www.doxygen.org/index.html"> +Generated on Tue Jun 26 2012 11:52:23 for libwacom by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.0 </small></address> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libwacom-0.5/doc/html/libwacom_8h_source.html new/libwacom-0.6/doc/html/libwacom_8h_source.html --- old/libwacom-0.5/doc/html/libwacom_8h_source.html 2012-05-02 02:47:26.000000000 +0200 +++ new/libwacom-0.6/doc/html/libwacom_8h_source.html 2012-06-26 03:52:23.000000000 +0200 @@ -318,7 +318,7 @@ <hr class="footer"/><address class="footer"><small> -Generated on Wed May 2 2012 10:47:26 for libwacom by  <a href="http://www.doxygen.org/index.html"> +Generated on Tue Jun 26 2012 11:52:23 for libwacom by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.0 </small></address> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libwacom-0.5/libwacom/libwacom-database.c new/libwacom-0.6/libwacom/libwacom-database.c --- old/libwacom-0.5/libwacom/libwacom-database.c 2012-05-01 05:01:56.000000000 +0200 +++ new/libwacom-0.6/libwacom/libwacom-database.c 2012-06-04 01:59:08.000000000 +0200 @@ -142,7 +142,7 @@ return 0; strs = g_strsplit(match, ";", 0); - for (i = 0; strs[i] != NULL; i++) { + for (i = 0; strs[i] != NULL && *strs[i] != '\0'; i++) { char busstr[64]; int vendor_id, product_id; WacomBusType bus; @@ -369,9 +369,10 @@ g_strfreev (styli_list); device->supported_styli = (int *) g_array_free (array, FALSE); } else { - device->supported_styli = g_new (int, 1); - *device->supported_styli = 0xfffff; - device->num_styli = 1; + device->supported_styli = g_new (int, 2); + device->supported_styli[0] = WACOM_STYLUS_FALLBACK_ID; + device->supported_styli[1] = WACOM_ERASER_FALLBACK_ID; + device->num_styli = 2; } /* Features */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libwacom-0.5/libwacom/libwacom.c new/libwacom-0.6/libwacom/libwacom.c --- old/libwacom-0.5/libwacom/libwacom.c 2012-05-01 05:01:56.000000000 +0200 +++ new/libwacom-0.6/libwacom/libwacom.c 2012-06-25 02:15:28.000000000 +0200 @@ -47,6 +47,34 @@ g_udev_device_get_property_as_boolean (device, "ID_INPUT_TOUCHPAD"); } +/* Overriding SUBSYSTEM isn't allowed in udev (works sometimes, but not + * always). For evemu devices we need to set custom properties to make them + * detected by libwacom. + */ +static char * +get_uinput_subsystem (GUdevDevice *device) +{ + const char *bus_str; + GUdevDevice *parent; + + + bus_str = NULL; + parent = g_object_ref (device); + + while (parent && !g_udev_device_get_property_as_boolean (parent, "UINPUT_DEVICE")) { + GUdevDevice *old_parent = parent; + parent = g_udev_device_get_parent (old_parent); + g_object_unref (old_parent); + } + + if (parent) { + bus_str = g_udev_device_get_property (parent, "UINPUT_SUBSYSTEM"); + g_object_unref (parent); + } + + return bus_str ? g_strdup (bus_str) : NULL; +} + static char * get_bus (GUdevDevice *device) { @@ -54,23 +82,30 @@ char *bus_str; GUdevDevice *parent; + bus_str = get_uinput_subsystem (device); + if (bus_str) + return bus_str; + subsystem = g_udev_device_get_subsystem (device); parent = g_object_ref (device); while (parent && g_strcmp0 (subsystem, "input") == 0) { GUdevDevice *old_parent = parent; parent = g_udev_device_get_parent (old_parent); - subsystem = g_udev_device_get_subsystem (parent); + if (parent) + subsystem = g_udev_device_get_subsystem (parent); g_object_unref (old_parent); } - if (g_strcmp0 (subsystem, "tty") == 0 || g_strcmp0 (subsystem, "serio") == 0) - bus_str = g_strdup ("serial"); - else - bus_str = g_strdup (subsystem); + if (parent) { + if (g_strcmp0 (subsystem, "tty") == 0 || g_strcmp0 (subsystem, "serio") == 0) + bus_str = g_strdup ("serial"); + else + bus_str = g_strdup (subsystem); - if (parent) g_object_unref (parent); + } else + bus_str = strdup("unknown"); return bus_str; } @@ -150,12 +185,27 @@ *bus = bus_from_str (bus_str); if (*bus == WBUSTYPE_USB) { const char *vendor_str, *product_str; + GUdevDevice *parent; vendor_str = g_udev_device_get_property (device, "ID_VENDOR_ID"); product_str = g_udev_device_get_property (device, "ID_MODEL_ID"); + parent = NULL; + /* uinput devices have the props set on the parent, there is + * nothing a a udev rule can match on on the child */ + if (!vendor_str || !product_str) { + parent = g_udev_device_get_parent (device); + if (parent) { + vendor_str = g_udev_device_get_property (parent, "ID_VENDOR_ID"); + product_str = g_udev_device_get_property (parent, "ID_MODEL_ID"); + } + } + *vendor_id = strtol (vendor_str, NULL, 16); *product_id = strtol (product_str, NULL, 16); + + if (parent) + g_object_unref (parent); } else if (*bus == WBUSTYPE_BLUETOOTH || *bus == WBUSTYPE_SERIAL) { GUdevDevice *parent; const char *product_str; @@ -177,11 +227,17 @@ g_object_unref (old_parent); } - g_assert (product_str); - if (sscanf(product_str, "%d/%x/%x/%d", &garbage, vendor_id, product_id, &garbage) != 4) { - libwacom_error_set(error, WERROR_UNKNOWN_MODEL, "Unimplemented serial bus"); - g_object_unref(parent); - goto bail; + if (product_str) { + if (sscanf(product_str, "%d/%x/%x/%d", &garbage, vendor_id, product_id, &garbage) != 4) { + libwacom_error_set(error, WERROR_UNKNOWN_MODEL, "Unable to parse model identification"); + g_object_unref(parent); + goto bail; + } + } else { + g_assert(*bus == WBUSTYPE_SERIAL); + + *vendor_id = 0; + *product_id = 0; } if (parent) g_object_unref (parent); @@ -278,6 +334,8 @@ int libwacom_compare(WacomDevice *a, WacomDevice *b, WacomCompareFlags flags) { + g_return_val_if_fail(a || b, 0); + if ((a && !b) || (b && !a)) return 1; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libwacom-0.5/missing new/libwacom-0.6/missing --- old/libwacom-0.5/missing 2011-11-28 23:36:13.000000000 +0100 +++ new/libwacom-0.6/missing 2012-06-26 03:51:04.000000000 +0200 @@ -1,10 +1,10 @@ #! /bin/sh # Common stub for a few missing GNU programs while installing. -scriptversion=2009-04-28.21; # UTC +scriptversion=2012-01-06.13; # UTC # Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006, -# 2008, 2009 Free Software Foundation, Inc. +# 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. # Originally by Fran,cois Pinard <[email protected]>, 1996. # This program is free software; you can redistribute it and/or modify @@ -84,7 +84,6 @@ help2man touch the output file lex create \`lex.yy.c', if possible, from existing .c makeinfo touch the output file - tar try tar, gnutar, gtar, then tar without non-portable flags yacc create \`y.tab.[ch]', if possible, from existing .[ch] Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and @@ -122,15 +121,6 @@ # Not GNU programs, they don't have --version. ;; - tar*) - if test -n "$run"; then - echo 1>&2 "ERROR: \`tar' requires --run" - exit 1 - elif test "x$2" = "x--version" || test "x$2" = "x--help"; then - exit 1 - fi - ;; - *) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. @@ -226,7 +216,7 @@ \`Bison' from any GNU archive site." rm -f y.tab.c y.tab.h if test $# -ne 1; then - eval LASTARG="\${$#}" + eval LASTARG=\${$#} case $LASTARG in *.y) SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` @@ -256,7 +246,7 @@ \`Flex' from any GNU archive site." rm -f lex.yy.c if test $# -ne 1; then - eval LASTARG="\${$#}" + eval LASTARG=\${$#} case $LASTARG in *.l) SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` @@ -318,41 +308,6 @@ touch $file ;; - tar*) - shift - - # We have already tried tar in the generic part. - # Look for gnutar/gtar before invocation to avoid ugly error - # messages. - if (gnutar --version > /dev/null 2>&1); then - gnutar "$@" && exit 0 - fi - if (gtar --version > /dev/null 2>&1); then - gtar "$@" && exit 0 - fi - firstarg="$1" - if shift; then - case $firstarg in - *o*) - firstarg=`echo "$firstarg" | sed s/o//` - tar "$firstarg" "$@" && exit 0 - ;; - esac - case $firstarg in - *h*) - firstarg=`echo "$firstarg" | sed s/h//` - tar "$firstarg" "$@" && exit 0 - ;; - esac - fi - - echo 1>&2 "\ -WARNING: I can't seem to be able to run \`tar' with the given arguments. - You may want to install GNU tar or Free paxutils, or check the - command line arguments." - exit 1 - ;; - *) echo 1>&2 "\ WARNING: \`$1' is needed, and is $msg. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libwacom-0.5/test/Makefile.am new/libwacom-0.6/test/Makefile.am --- old/libwacom-0.5/test/Makefile.am 2012-05-01 05:07:35.000000000 +0200 +++ new/libwacom-0.6/test/Makefile.am 2012-06-04 01:59:08.000000000 +0200 @@ -7,3 +7,9 @@ load_LDADD=$(top_builddir)/libwacom/libwacom.la dbverify_LDADD=$(top_builddir)/libwacom/libwacom.la tablet_validity_LDADD=$(top_builddir)/libwacom/libwacom.la + +clean-local: clean-local-check +.PHONY: clean-local-check + +clean-local-check: + rm -rf tmp.dbverify.* diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libwacom-0.5/test/dbverify.c new/libwacom-0.6/test/dbverify.c --- old/libwacom-0.5/test/dbverify.c 2012-04-30 07:47:53.000000000 +0200 +++ new/libwacom-0.6/test/dbverify.c 2012-06-25 02:41:24.000000000 +0200 @@ -127,8 +127,8 @@ assert(*devices); dirname = strdup("tmp.dbverify.XXXXXX"); - dirname = mkdtemp(dirname); - assert(dirname); + assert(mkdtemp(dirname)); /* just check for non-null to avoid + Coverity complaints */ for (device = devices, i = 0; *device; device++, i++) { int i; @@ -159,6 +159,7 @@ fd_stylus = open(path, O_WRONLY|O_CREAT, S_IRWXU); assert(fd_stylus >= 0); libwacom_print_stylus_description(fd_stylus, stylus); + close(fd_stylus); } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libwacom-0.5/test/tablet-validity.c new/libwacom-0.6/test/tablet-validity.c --- old/libwacom-0.5/test/tablet-validity.c 2012-05-01 05:07:35.000000000 +0200 +++ new/libwacom-0.6/test/tablet-validity.c 2012-06-04 02:02:39.000000000 +0200 @@ -40,10 +40,26 @@ #include <assert.h> #include <unistd.h> -static void verify_tablet(WacomDevice *device) +static int eraser_is_present(WacomDeviceDatabase *db, const int *styli, int nstyli, WacomStylusType type) +{ + int i; + + for (i = 0; i < nstyli; i++) { + const WacomStylus *stylus; + stylus = libwacom_stylus_get_for_id (db, styli[i]); + if (libwacom_stylus_is_eraser (stylus) && + libwacom_stylus_get_type (stylus) == type) + return 1; + } + + return 0; +} + +static void verify_tablet(WacomDeviceDatabase *db, WacomDevice *device) { const char *name; - int nstyli; + const int *styli; + int nstyli, i; name = libwacom_get_name(device); if (strcmp(name, "Generic") == 0) @@ -65,8 +81,46 @@ assert(libwacom_get_height(device) > 0); } assert(libwacom_get_num_buttons(device) >= 0); - assert(libwacom_get_supported_styli(device, &nstyli) != NULL); - assert(nstyli > 0); + + styli = libwacom_get_supported_styli(device, &nstyli); + assert(styli != NULL); + assert(nstyli >= 1); + + switch(libwacom_get_class(device)) { + case WCLASS_BAMBOO: + case WCLASS_ISDV4: + case WCLASS_PEN_DISPLAYS: + case WCLASS_GRAPHIRE: + break; + case WCLASS_INTUOS: + case WCLASS_INTUOS2: + case WCLASS_INTUOS3: + case WCLASS_INTUOS4: + case WCLASS_CINTIQ: + { + int i; + for (i = 0; i < nstyli; i++) { + assert(styli[i] != WACOM_STYLUS_FALLBACK_ID); + assert(styli[i] != WACOM_ERASER_FALLBACK_ID); + } + } + default: + assert(1); /* don't get here */ + } + + for (i = 0; i < nstyli; i++) { + const WacomStylus *stylus; + const char *stylus_name; + stylus = libwacom_stylus_get_for_id (db, styli[i]); + assert(stylus); + stylus_name = libwacom_stylus_get_name (stylus); + assert(stylus_name); + if (libwacom_stylus_has_eraser (stylus)) { + WacomStylusType type; + type = libwacom_stylus_get_type (stylus); + assert(eraser_is_present (db, styli, nstyli, type)); + } + } assert(libwacom_get_ring_num_modes(device) >= 0); assert(libwacom_get_ring2_num_modes(device) >= 0); assert(libwacom_get_num_strips(device) >= 0); @@ -89,7 +143,7 @@ assert(*devices); for (device = devices; *device; device++) - verify_tablet(*device); + verify_tablet(db, *device); libwacom_database_destroy (db); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libwacom-0.5/tools/Makefile.am new/libwacom-0.6/tools/Makefile.am --- old/libwacom-0.5/tools/Makefile.am 2012-05-01 05:07:35.000000000 +0200 +++ new/libwacom-0.6/tools/Makefile.am 2012-06-04 01:59:08.000000000 +0200 @@ -2,13 +2,14 @@ noinst_PROGRAMS = generate-udev-rules list-devices generate_udev_rules_SOURCES = generate-udev-rules.c -generate_udev_rules_LDADD=$(top_builddir)/libwacom/libwacom.la +generate_udev_rules_LDADD=$(top_builddir)/libwacom/libwacom.la $(GLIB_LIBS) +generate_udev_rules_CFLAGS=$(GLIB_CFLAGS) list_devices_SOURCES = list-devices.c list_devices_LDADD=$(top_builddir)/libwacom/libwacom.la bin_PROGRAMS = libwacom-list-local-devices libwacom_list_local_devices_SOURCES = list-local-devices.c -libwacom_list_local_devices_LDADD=$(top_builddir)/libwacom/libwacom.la +libwacom_list_local_devices_LDADD=$(top_builddir)/libwacom/libwacom.la $(GLIB_LIBS) libwacom_list_local_devices_CFLAGS=$(GLIB_CFLAGS) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libwacom-0.5/tools/generate-udev-rules.c new/libwacom-0.6/tools/generate-udev-rules.c --- old/libwacom-0.5/tools/generate-udev-rules.c 2012-04-30 06:29:47.000000000 +0200 +++ new/libwacom-0.6/tools/generate-udev-rules.c 2012-06-04 01:59:08.000000000 +0200 @@ -29,8 +29,18 @@ #endif #include <stdio.h> +#include <stdlib.h> #include <string.h> #include "libwacom.h" +#include <glib/gi18n.h> +#include <glib.h> + +static gboolean need_uinput_rules = FALSE; + +static GOptionEntry opts[] = { + {"with-uinput-rules", 0, 0, G_OPTION_ARG_NONE, &need_uinput_rules, N_("Print udev rules for uinput devices"), NULL }, + {NULL} +}; static void print_udev_header (void) { @@ -48,7 +58,7 @@ int vendor = libwacom_match_get_vendor_id (match); int product = libwacom_match_get_product_id (match); int has_touch = libwacom_has_touch (device); - static char *touchpad; + char *touchpad; if (bus_type_filter != type) return; @@ -73,6 +83,45 @@ } } +static void print_uinput_entry_for_match (WacomDevice *device, const WacomMatch *match, + WacomBusType bus_type_filter) +{ + WacomBusType type = libwacom_match_get_bustype (match); + int vendor = libwacom_match_get_vendor_id (match); + int product = libwacom_match_get_product_id (match); + const char *subsystem; + + if (bus_type_filter != type) + return; + + switch(type) { + case WBUSTYPE_USB: subsystem = "usb"; break; + case WBUSTYPE_BLUETOOTH: subsystem = "bluetooth"; break; + case WBUSTYPE_SERIAL: subsystem = "tty"; break; + default: + return; + } + + printf("ENV{DEVPATH}==\"/devices/virtual/*\", " + "ENV{PRODUCT}==\"*/%x/%x/*\", " + "ENV{UINPUT_DEVICE}=\"1\", " + "ENV{UINPUT_SUBSYSTEM}=\"%s\", " + "ENV{ID_VENDOR_ID}=\"%04x\", " + "ENV{ID_MODEL_ID}=\"%04x\", " + "\n", vendor, product, + subsystem, vendor, product); +} + +static void print_uinput_entry (WacomDevice *device, WacomBusType bus_type_filter) +{ + const WacomMatch **matches, **match; + + matches = libwacom_get_matches(device); + for (match = matches; *match; match++) + print_uinput_entry_for_match(device, *match, bus_type_filter); +} + + static void print_udev_entry (WacomDevice *device, WacomBusType bus_type_filter) { const WacomMatch **matches, **match; @@ -97,6 +146,22 @@ { WacomDeviceDatabase *db; WacomDevice **list, **p; + GOptionContext *context; + GError *error; + + context = g_option_context_new (NULL); + + g_option_context_add_main_entries (context, opts, NULL); + error = NULL; + + if (!g_option_context_parse (context, &argc, &argv, &error)) { + if (error != NULL) { + fprintf (stderr, "%s\n", error->message); + g_error_free (error); + } + return EXIT_FAILURE; + } + db = libwacom_database_new_for_path(TOPSRCDIR"/data"); @@ -109,11 +174,19 @@ print_udev_header (); for (p = list; *p; p++) print_udev_entry ((WacomDevice *) *p, WBUSTYPE_USB); + print_udev_trailer (); for (p = list; *p; p++) print_udev_entry ((WacomDevice *) *p, WBUSTYPE_BLUETOOTH); + if (need_uinput_rules) { + for (p = list; *p; p++) + print_uinput_entry ((WacomDevice *) *p, WBUSTYPE_USB); + for (p = list; *p; p++) + print_uinput_entry ((WacomDevice *) *p, WBUSTYPE_BLUETOOTH); + } + libwacom_database_destroy (db); return 0; -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
