Since I have them handy, it only makes sense to add them as well.

Signed-off-by: Jason Gerecke <killert...@gmail.com>
---
 data/intuos-12x12.tablet     |    2 +-
 data/intuos-12x18.tablet     |    2 +-
 data/intuos-4x5.tablet       |    2 +-
 data/intuos-6x8.tablet       |    2 +-
 data/intuos-9x12.tablet      |    2 +-
 data/intuos2-12x12.tablet    |    2 +-
 data/intuos2-12x18.tablet    |    2 +-
 data/intuos2-4x5.tablet      |    2 +-
 data/intuos2-6x8.tablet      |    2 +-
 data/intuos2-9x12.tablet     |    2 +-
 data/intuos3-12x12.tablet    |    2 +-
 data/intuos3-12x19.tablet    |    2 +-
 data/intuos3-4x5.tablet      |    2 +-
 data/intuos3-4x6.tablet      |    2 +-
 data/intuos3-6x11.tablet     |    2 +-
 data/intuos3-6x8.tablet      |    2 +-
 data/intuos3-9x12.tablet     |    2 +-
 data/intuos4-12x19.tablet    |    2 +-
 data/intuos4-4x6.tablet      |    2 +-
 data/intuos4-6x9-wl.tablet   |    2 +-
 data/intuos4-6x9.tablet      |    2 +-
 data/intuos4-8x13.tablet     |    2 +-
 data/libwacom.stylus         |   45 ++++++++++++++++++++++++++++++++++++++++++
 libwacom/libwacom-database.c |    4 +++
 libwacom/libwacom.c          |    5 ++++
 libwacom/libwacom.h          |    9 +++++++-
 libwacom/libwacomint.h       |    1 +
 27 files changed, 85 insertions(+), 23 deletions(-)

diff --git a/data/intuos-12x12.tablet b/data/intuos-12x12.tablet
index 7da9d8d..de29bd0 100644
--- a/data/intuos-12x12.tablet
+++ b/data/intuos-12x12.tablet
@@ -4,7 +4,7 @@ DeviceMatch=usb:056a:0023
 Class=Intuos
 Width=12
 Height=12
-Styli=0xd12;0xd1a;0x822;0x82a;0x812;0x832;
+Styli=0xd12;0xd1a;0x822;0x82a;0x812;0x832;0x096;0x094;
 
 [Features]
 Stylus=true
diff --git a/data/intuos-12x18.tablet b/data/intuos-12x18.tablet
index 27018dd..a46f0e2 100644
--- a/data/intuos-12x18.tablet
+++ b/data/intuos-12x18.tablet
@@ -4,7 +4,7 @@ DeviceMatch=usb:056a:0024
 Class=Intuos
 Width=18
 Height=12
-Styli=0xd12;0xd1a;0x822;0x82a;0x812;0x832;
+Styli=0xd12;0xd1a;0x822;0x82a;0x812;0x832;0x096;0x094;
 
 [Features]
 Stylus=true
diff --git a/data/intuos-4x5.tablet b/data/intuos-4x5.tablet
index 8e1a05b..ddcff74 100644
--- a/data/intuos-4x5.tablet
+++ b/data/intuos-4x5.tablet
@@ -4,7 +4,7 @@ DeviceMatch=usb:056a:0020
 Class=Intuos
 Width=5
 Height=4
-Styli=0xd12;0xd1a;0x822;0x82a;0x812;0x832;
+Styli=0xd12;0xd1a;0x822;0x82a;0x812;0x832;0x096;0x094;
 
 [Features]
 Stylus=true
diff --git a/data/intuos-6x8.tablet b/data/intuos-6x8.tablet
index d35dcfa..1a7d62b 100644
--- a/data/intuos-6x8.tablet
+++ b/data/intuos-6x8.tablet
@@ -4,7 +4,7 @@ DeviceMatch=usb:056a:0021
 Class=Intuos
 Width=8
 Height=6
-Styli=0xd12;0xd1a;0x822;0x82a;0x812;0x832;
+Styli=0xd12;0xd1a;0x822;0x82a;0x812;0x832;0x096;0x094;
 
 [Features]
 Stylus=true
diff --git a/data/intuos-9x12.tablet b/data/intuos-9x12.tablet
index 6ccea2d..d5f2325 100644
--- a/data/intuos-9x12.tablet
+++ b/data/intuos-9x12.tablet
@@ -4,7 +4,7 @@ DeviceMatch=usb:056a:0022
 Class=Intuos
 Width=12
 Height=9
-Styli=0xd12;0xd1a;0x822;0x82a;0x812;0x832;
+Styli=0xd12;0xd1a;0x822;0x82a;0x812;0x832;0x096;0x094;
 
 [Features]
 Stylus=true
diff --git a/data/intuos2-12x12.tablet b/data/intuos2-12x12.tablet
index bb60ad0..c401c91 100644
--- a/data/intuos2-12x12.tablet
+++ b/data/intuos2-12x12.tablet
@@ -4,7 +4,7 @@ DeviceMatch=usb:056a:0044
 Class=Intuos2
 Width=12
 Height=12
-Styli=0x912;0x91a;0x822;0x82a;0x842;0x852;0x85a;0x812;0x832;
+Styli=0x912;0x91a;0x822;0x82a;0x842;0x852;0x85a;0x812;0x832;0x096;0x094;0x007;
 
 [Features]
 Stylus=true
diff --git a/data/intuos2-12x18.tablet b/data/intuos2-12x18.tablet
index ab8dabd..11bc57a 100644
--- a/data/intuos2-12x18.tablet
+++ b/data/intuos2-12x18.tablet
@@ -4,7 +4,7 @@ DeviceMatch=usb:056a:0045
 Class=Intuos2
 Width=18
 Height=12
-Styli=0x912;0x91a;0x822;0x82a;0x842;0x852;0x85a;0x812;0x832;
+Styli=0x912;0x91a;0x822;0x82a;0x842;0x852;0x85a;0x812;0x832;0x096;0x094;0x007;
 
 [Features]
 Stylus=true
diff --git a/data/intuos2-4x5.tablet b/data/intuos2-4x5.tablet
index 3837687..370e98a 100644
--- a/data/intuos2-4x5.tablet
+++ b/data/intuos2-4x5.tablet
@@ -4,7 +4,7 @@ DeviceMatch=usb:056a:0041
 Class=Intuos2
 Width=5
 Height=4
-Styli=0x912;0x91a;0x822;0x82a;0x842;0x852;0x85a;0x812;0x832;
+Styli=0x912;0x91a;0x822;0x82a;0x842;0x852;0x85a;0x812;0x832;0x096;0x094;0x007;
 
 [Features]
 Stylus=true
diff --git a/data/intuos2-6x8.tablet b/data/intuos2-6x8.tablet
index d205a24..5c189a5 100644
--- a/data/intuos2-6x8.tablet
+++ b/data/intuos2-6x8.tablet
@@ -5,7 +5,7 @@ DeviceMatch=usb:056a:0042
 Class=Intuos2
 Width=8
 Height=6
-Styli=0x912;0x91a;0x822;0x82a;0x842;0x852;0x85a;0x812;0x832;
+Styli=0x912;0x91a;0x822;0x82a;0x842;0x852;0x85a;0x812;0x832;0x096;0x094;0x007;
 
 [Features]
 Stylus=true
diff --git a/data/intuos2-9x12.tablet b/data/intuos2-9x12.tablet
index 1029e08..9f041bc 100644
--- a/data/intuos2-9x12.tablet
+++ b/data/intuos2-9x12.tablet
@@ -4,7 +4,7 @@ DeviceMatch=usb:056a:0043
 Class=Intuos2
 Width=12
 Height=9
-Styli=0x912;0x91a;0x822;0x82a;0x842;0x852;0x85a;0x812;0x832;
+Styli=0x912;0x91a;0x822;0x82a;0x842;0x852;0x85a;0x812;0x832;0x096;0x094;0x007;
 
 [Features]
 Stylus=true
diff --git a/data/intuos3-12x12.tablet b/data/intuos3-12x12.tablet
index f226eca..6b883fe 100644
--- a/data/intuos3-12x12.tablet
+++ b/data/intuos3-12x12.tablet
@@ -4,7 +4,7 @@ DeviceMatch=usb:056a:00b3
 Class=Intuos3
 Width=12
 Height=12
-Styli=0x913;0x91b;0x813;0x81b;0x823;0x82b;0x801;0x885;
+Styli=0x913;0x91b;0x813;0x81b;0x823;0x82b;0x801;0x885;0x017;0x097;
 
 [Features]
 Stylus=true
diff --git a/data/intuos3-12x19.tablet b/data/intuos3-12x19.tablet
index cce9ecc..6b49940 100644
--- a/data/intuos3-12x19.tablet
+++ b/data/intuos3-12x19.tablet
@@ -4,7 +4,7 @@ DeviceMatch=usb:056a:00b4
 Class=Intuos3
 Width=19
 Height=12
-Styli=0x913;0x91b;0x813;0x81b;0x823;0x82b;0x801;0x885;
+Styli=0x913;0x91b;0x813;0x81b;0x823;0x82b;0x801;0x885;0x017;0x097;
 
 [Features]
 Stylus=true
diff --git a/data/intuos3-4x5.tablet b/data/intuos3-4x5.tablet
index 0dd250b..7eaf9f6 100644
--- a/data/intuos3-4x5.tablet
+++ b/data/intuos3-4x5.tablet
@@ -4,7 +4,7 @@ DeviceMatch=usb:056a:00b0
 Class=Intuos3
 Width=5
 Height=4
-Styli=0x913;0x91b;0x813;0x81b;0x823;0x82b;0x801;0x885;
+Styli=0x913;0x91b;0x813;0x81b;0x823;0x82b;0x801;0x885;0x017;0x097;
 
 [Features]
 Stylus=true
diff --git a/data/intuos3-4x6.tablet b/data/intuos3-4x6.tablet
index 9312e55..03461ca 100644
--- a/data/intuos3-4x6.tablet
+++ b/data/intuos3-4x6.tablet
@@ -4,7 +4,7 @@ DeviceMatch=usb:056a:00b7
 Class=Intuos3
 Width=6
 Height=4
-Styli=0x913;0x91b;0x813;0x81b;0x823;0x82b;0x801;0x885;
+Styli=0x913;0x91b;0x813;0x81b;0x823;0x82b;0x801;0x885;0x017;0x097;
 
 [Features]
 Stylus=true
diff --git a/data/intuos3-6x11.tablet b/data/intuos3-6x11.tablet
index b6f7a97..dd84e55 100644
--- a/data/intuos3-6x11.tablet
+++ b/data/intuos3-6x11.tablet
@@ -4,7 +4,7 @@ DeviceMatch=usb:056a:00b5
 Class=Intuos3
 Width=11
 Height=6
-Styli=0x913;0x91b;0x813;0x81b;0x823;0x82b;0x801;0x885;
+Styli=0x913;0x91b;0x813;0x81b;0x823;0x82b;0x801;0x885;0x017;0x097;
 
 [Features]
 Stylus=true
diff --git a/data/intuos3-6x8.tablet b/data/intuos3-6x8.tablet
index b5716ed..757a779 100644
--- a/data/intuos3-6x8.tablet
+++ b/data/intuos3-6x8.tablet
@@ -4,7 +4,7 @@ DeviceMatch=usb:056a:00b1
 Class=Intuos3
 Width=8
 Height=6
-Styli=0x913;0x91b;0x813;0x81b;0x823;0x82b;0x801;0x885;
+Styli=0x913;0x91b;0x813;0x81b;0x823;0x82b;0x801;0x885;0x017;0x097;
 
 [Features]
 Stylus=true
diff --git a/data/intuos3-9x12.tablet b/data/intuos3-9x12.tablet
index b3b803d..e6c0d1c 100644
--- a/data/intuos3-9x12.tablet
+++ b/data/intuos3-9x12.tablet
@@ -4,7 +4,7 @@ DeviceMatch=usb:056a:00b2
 Class=Intuos3
 Width=12
 Height=9
-Styli=0x913;0x91b;0x813;0x81b;0x823;0x82b;0x801;0x885;
+Styli=0x913;0x91b;0x813;0x81b;0x823;0x82b;0x801;0x885;0x017;0x097;
 
 [Features]
 Stylus=true
diff --git a/data/intuos4-12x19.tablet b/data/intuos4-12x19.tablet
index 4dab324..46b8364 100644
--- a/data/intuos4-12x19.tablet
+++ b/data/intuos4-12x19.tablet
@@ -4,7 +4,7 @@ DeviceMatch=usb:056a:00bb
 Class=Intuos4
 Width=19
 Height=12
-Styli=0x802;0x80c;0x804;0x80a;0x40802;0x4080a;0x902;0x90a;0x20802;
+Styli=0x802;0x80c;0x804;0x80a;0x40802;0x4080a;0x902;0x90a;0x20802;0x806;0x006;
 
 [Features]
 Reversible=true
diff --git a/data/intuos4-4x6.tablet b/data/intuos4-4x6.tablet
index f6f99ed..876c8d8 100644
--- a/data/intuos4-4x6.tablet
+++ b/data/intuos4-4x6.tablet
@@ -4,7 +4,7 @@ DeviceMatch=usb:056a:00b8
 Class=Intuos4
 Width=6
 Height=4
-Styli=0x802;0x80c;0x804;0x80a;0x40802;0x4080a;0x902;0x90a;0x20802;
+Styli=0x802;0x80c;0x804;0x80a;0x40802;0x4080a;0x902;0x90a;0x20802;0x806;
 
 [Features]
 Reversible=true
diff --git a/data/intuos4-6x9-wl.tablet b/data/intuos4-6x9-wl.tablet
index 0761f6e..3e6e52c 100644
--- a/data/intuos4-6x9-wl.tablet
+++ b/data/intuos4-6x9-wl.tablet
@@ -5,7 +5,7 @@ DeviceMatch=usb:056a:00bc
 Class=Intuos4
 Width=8
 Height=5
-Styli=0x802;0x80c;0x804;0x80a;0x40802;0x4080a;0x902;0x90a;0x20802;
+Styli=0x802;0x80c;0x804;0x80a;0x40802;0x4080a;0x902;0x90a;0x20802;0x806;
 
 [Features]
 Reversible=true
diff --git a/data/intuos4-6x9.tablet b/data/intuos4-6x9.tablet
index 4d83027..6061203 100644
--- a/data/intuos4-6x9.tablet
+++ b/data/intuos4-6x9.tablet
@@ -4,7 +4,7 @@ DeviceMatch=usb:056a:00b9
 Class=Intuos4
 Width=9
 Height=6
-Styli=0x802;0x80c;0x804;0x80a;0x40802;0x4080a;0x902;0x90a;0x20802;
+Styli=0x802;0x80c;0x804;0x80a;0x40802;0x4080a;0x902;0x90a;0x20802;0x806;
 
 [Features]
 Reversible=true
diff --git a/data/intuos4-8x13.tablet b/data/intuos4-8x13.tablet
index a0f1503..7de50f6 100644
--- a/data/intuos4-8x13.tablet
+++ b/data/intuos4-8x13.tablet
@@ -4,7 +4,7 @@ DeviceMatch=usb:056a:00ba
 Class=Intuos4
 Width=13
 Height=8
-Styli=0x802;0x80c;0x804;0x80a;0x40802;0x4080a;0x902;0x90a;0x20802;
+Styli=0x802;0x80c;0x804;0x80a;0x40802;0x4080a;0x902;0x90a;0x20802;0x806;0x006;
 
 [Features]
 Reversible=true
diff --git a/data/libwacom.stylus b/data/libwacom.stylus
index 44485c8..c5c144d 100644
--- a/data/libwacom.stylus
+++ b/data/libwacom.stylus
@@ -195,3 +195,48 @@ Name=Intuos4 Airbrush Pen
 Buttons=1
 HasEraser=true
 Type=Airbrush
+
+# Puck devices
+[0x096]
+# Intuos and Intuos2
+Name=Lens Cursor
+Type=Puck
+HasLens=True
+Buttons=5
+
+[0x097]
+Name=Intuos3 Lens Cursor
+Type=Puck
+HasLens=True
+Buttons=5
+
+[0x006]
+Name=Intuos4 Lens Cursor
+Type=Puck
+HasLens=True
+Buttons=5
+
+[0x094]
+# Intuos and Intuos2
+Name=4D Mouse
+Type=Puck
+HasLens=False
+Buttons=5
+
+[0x007]
+Name=Intuos2 2D Mouse
+Type=Puck
+HasLens=False
+Buttons=3
+
+[0x017]
+Name=Intuos3 Mouse
+Type=Puck
+HasLens=False
+Buttons=5
+
+[0x806]
+Name=Intuos4 Five Button Mouse
+Type=Puck
+HasLens=False
+Buttons=5
diff --git a/libwacom/libwacom-database.c b/libwacom/libwacom-database.c
index c7b4448..c6638d1 100644
--- a/libwacom/libwacom-database.c
+++ b/libwacom/libwacom-database.c
@@ -77,6 +77,8 @@ type_from_str (const char *type)
                return WSTYLUS_MARKER;
        if (strcmp (type, "Stroke") == 0)
                return WSTYLUS_STROKE;
+       if (strcmp (type, "Puck") == 0)
+               return WSTYLUS_PUCK;
        return WSTYLUS_UNKNOWN;
 }
 
@@ -167,9 +169,11 @@ libwacom_parse_stylus_keyfile(WacomDeviceDatabase *db, 
const char *path)
                                stylus->num_buttons = -1;
                                g_clear_error (&error);
                        }
+                       stylus->has_lens = g_key_file_get_boolean(keyfile, 
groups[i], "HasLens", NULL);
                } else {
                        stylus->num_buttons = 0;
                        stylus->has_eraser = FALSE;
+                       stylus->has_lens = FALSE;
                }
 
                type = g_key_file_get_string(keyfile, groups[i], "Type", NULL);
diff --git a/libwacom/libwacom.c b/libwacom/libwacom.c
index f56a339..de8ce34 100644
--- a/libwacom/libwacom.c
+++ b/libwacom/libwacom.c
@@ -438,6 +438,11 @@ int libwacom_stylus_is_eraser (const WacomStylus *stylus)
        return stylus->is_eraser;
 }
 
+int libwacom_stylus_has_lens (const WacomStylus *stylus)
+{
+       return stylus->has_lens;
+}
+
 WacomStylusType libwacom_stylus_get_type (const WacomStylus *stylus)
 {
        if (stylus->type == WSTYLUS_UNKNOWN) {
diff --git a/libwacom/libwacom.h b/libwacom/libwacom.h
index bda4e59..4b927b9 100644
--- a/libwacom/libwacom.h
+++ b/libwacom/libwacom.h
@@ -126,7 +126,8 @@ typedef enum {
     WSTYLUS_AIRBRUSH,
     WSTYLUS_CLASSIC,
     WSTYLUS_MARKER,
-    WSTYLUS_STROKE
+    WSTYLUS_STROKE,
+    WSTYLUS_PUCK
 } WacomStylusType;
 
 /**
@@ -391,6 +392,12 @@ int         libwacom_stylus_is_eraser (const WacomStylus 
*stylus);
 
 /**
  * @param stylus The stylus to query
+ * @return Whether the stylus has a lens
+ */
+int         libwacom_stylus_has_lens (const WacomStylus *stylus);
+
+/**
+ * @param stylus The stylus to query
  * @return The type of stylus
  */
 WacomStylusType libwacom_stylus_get_type (const WacomStylus *stylus);
diff --git a/libwacom/libwacomint.h b/libwacom/libwacomint.h
index ce01f51..7907cf0 100644
--- a/libwacom/libwacomint.h
+++ b/libwacom/libwacomint.h
@@ -81,6 +81,7 @@ struct _WacomStylus {
        int num_buttons;
        gboolean has_eraser;
        gboolean is_eraser;
+       gboolean has_lens;
        WacomStylusType type;
 };
 
-- 
1.7.8.4


------------------------------------------------------------------------------
Keep Your Developer Skills Current with LearnDevNow!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-d2d
_______________________________________________
Linuxwacom-devel mailing list
Linuxwacom-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel

Reply via email to