>From 85c9a02a524428b696619df37376b5b26a19fb81 Mon Sep 17 00:00:00 2001
From: Olivier Fourdan <ofour...@redhat.com>
Date: Thu, 25 Oct 2012 13:16:55 +0200
Subject: [PATCH 1/4] data: add image data for cintiq 12wx and Intuos5-m

as SVG files.

Signed-off-by: Olivier Fourdan <ofour...@redhat.com>
---
 configure.ac                 |    1 +
 data/Makefile.am             |    2 +
 data/cintiq-12wx.tablet      |    1 +
 data/intuos5-m.tablet        |    1 +
 data/intuos5-touch-m.tablet  |    1 +
 data/layouts/Makefile.am     |    4 +
 data/layouts/README          |  125 ++++++++++++++++++++++++++++++++++++++++++
 data/layouts/cintiq-12wx.svg |   34 +++++++++++
 data/layouts/intuos5-m.svg   |   29 ++++++++++
 9 files changed, 198 insertions(+), 0 deletions(-)
 create mode 100644 data/layouts/Makefile.am
 create mode 100644 data/layouts/README
 create mode 100644 data/layouts/cintiq-12wx.svg
 create mode 100644 data/layouts/intuos5-m.svg

diff --git a/configure.ac b/configure.ac
index e510e2f..4352b8b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -34,6 +34,7 @@ PKG_CHECK_MODULES(GLIB, glib-2.0 gudev-1.0)
 
 AC_CONFIG_FILES([Makefile
                  data/Makefile
+                 data/layouts/Makefile
                  doc/Makefile
                  test/Makefile
                  tools/Makefile
diff --git a/data/Makefile.am b/data/Makefile.am
index 9f2e8d2..62b4e1d 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -5,3 +5,5 @@ libwacomstylusdir = $(datadir)/libwacom
 dist_libwacomstylus_DATA =  $(shell find $(top_srcdir)/data -name "*.stylus" -printf "%P\n")
 
 EXTRA_DIST = wacom.example
+
+SUBDIRS = layouts
diff --git a/data/cintiq-12wx.tablet b/data/cintiq-12wx.tablet
index 4cb4f27..006500d 100644
--- a/data/cintiq-12wx.tablet
+++ b/data/cintiq-12wx.tablet
@@ -36,6 +36,7 @@ Class=Cintiq
 DeviceMatch=usb:056a:00c6
 Width=10
 Height=7
+Layout=cintiq-12wx.svg
 Styli=0x913;0x91b;0x813;0x81b;0x823;0x82b;0x801;0x885;
 
 [Features]
diff --git a/data/intuos5-m.tablet b/data/intuos5-m.tablet
index fa92f19..153cf84 100644
--- a/data/intuos5-m.tablet
+++ b/data/intuos5-m.tablet
@@ -48,6 +48,7 @@ DeviceMatch=usb:056a:002a
 Class=Intuos5
 Width=9
 Height=6
+Layout=intuos5-m.svg
 Styli=0x802;0x80c;0x804;0x80a;0x40802;0x4080a;0x902;0x90a;0x20802;0x806;
 
 [Features]
diff --git a/data/intuos5-touch-m.tablet b/data/intuos5-touch-m.tablet
index c0bc2f6..c53694e 100644
--- a/data/intuos5-touch-m.tablet
+++ b/data/intuos5-touch-m.tablet
@@ -48,6 +48,7 @@ DeviceMatch=usb:056a:0027
 Class=Intuos5
 Width=9
 Height=6
+Layout=intuos5-m.svg
 Styli=0x802;0x80c;0x804;0x80a;0x40802;0x4080a;0x902;0x90a;0x20802;0x806;
 
 [Features]
diff --git a/data/layouts/Makefile.am b/data/layouts/Makefile.am
new file mode 100644
index 0000000..c6e1157
--- /dev/null
+++ b/data/layouts/Makefile.am
@@ -0,0 +1,4 @@
+libwacomlayoutsdir = $(datadir)/libwacom/images
+dist_libwacomlayouts_DATA =  $(shell find $(top_srcdir)/data/layouts -name "*.svg" -printf "%P\n")
+
+EXTRA_DIST = README
diff --git a/data/layouts/README b/data/layouts/README
new file mode 100644
index 0000000..79d54e0
--- /dev/null
+++ b/data/layouts/README
@@ -0,0 +1,125 @@
+SVG images have a dual purpose, providing an accurate representation of the
+tablets and also providing the size and location of the various controls on
+the device that can be queried by various applications that may need it.
+
+To allow applications to identify each control in the SVG and also apply a
+CSS if desired, the following naming convention applies:
+
+* Buttons
+
+Each button ID in the SVG is built of the string "Button" with ID of the
+button between 'A' and 'Z':
+
+    id="ButtonA"
+    id="ButtonB"
+    ...
+    id="ButtonZ"
+
+The SVG class must contain the button ID of the button between 'A' and 'Z'
+and the more generic class "Button"
+
+    class="A Button"
+    class="B Button"
+    ...
+    class="Z Button"
+
+If the button is a mode-switch button as well, the class list should also
+contain "ModeSwitch":
+
+    class="I ModeSwitch Button"
+
+This would allow to modify the appearance of all the buttons at once via a CSS,
+yet allowing to customize the appearance of single buttons by using the button
+ID.
+
+* Touch Rings/Strips
+
+Touch rings use the following convention:
+
+ - First touch ring:
+
+    id="Ring"
+    class="Ring TouchRing"
+
+ - Second touch ring:
+
+    id="Ring2"
+    class="Ring2 TouchRing"
+
+ - First touch strip:
+
+    id="Strip"
+    class="Strip TouchStrip"
+
+ - Second touch strip:
+
+    id="Strip2"
+    class="Strip2 TouchStrip"
+
+* Labels
+
+The role of the labels in the SVG is to give applications an indication on
+where to place the caption for each button. The actual content of the text
+in the SVG image may not be relevant, what matters is the actual location.
+
+Applications should hide the labels (using CSS) or replace the text with an
+appropriate caption.
+
+ - Button labels
+
+Each button's label ID in the SVG is made of the string "Label" with ID of the
+button to which it applies, between 'A' and 'Z'.
+
+Class includes both the button ID and the string "Label".
+    id="LabelA"
+    class="A Label"
+
+For the special case of mode-switch buttons, the class also list "ModeSwitch":
+
+    id="LabelI"
+    class="I ModeSwitch Label"
+
+ - Touchring button labels
+
+Touch-rings and touch-strips generate Up and Down events, therefore 2 different
+labels are needed for each touch-ring/touch-strip control.
+
+    id="LabelRingUp"
+    class="RingUp Ring Label"
+
+  and
+
+    id="LabelRingDown"
+    class="RingDown Ring Label"
+
+The second touch-ring button is identified by "Ring2" in place of "Ring":
+
+    id="LabelRing2Up"
+    class="Ring2Up Ring2 Label"
+
+  and
+
+    id="LabelRingDown"
+    class="Ring2Down Ring2 Label"
+
+Touchstrips button follow the same naming scheme, using "Strip" and "Strip2"
+to name the first and second touch-strip.
+
+    id="LabelStripUp"
+    class="StripUp Strip Label"
+
+  and
+
+    id="LabelStripDown"
+    class="StripDown Strip Label"
+
+Second touch-strip:
+
+    id="LabelStrip2Up"
+    class="Strip2Up Strip2 Label"
+
+  and
+
+    id="LabelRingDown"
+    class="Strip2Down Strip2 Label"
+
diff --git a/data/layouts/cintiq-12wx.svg b/data/layouts/cintiq-12wx.svg
new file mode 100644
index 0000000..370283d
--- /dev/null
+++ b/data/layouts/cintiq-12wx.svg
@@ -0,0 +1,34 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd";>
+<svg xmlns="http://www.w3.org/2000/svg"; version="1.1"
+     style="color:#000000;stroke:#bebebe;fill:#000000;stroke-linejoin:round;stroke-width:1;font-size:8"
+         id="cintiq-12wx"                                                     width="405" height="270" >
+  <title id="title"                                                                                    >Wacom Cintiq 12WX</title>
+  <rect  id="ButtonA"         class="A Button"                x="40"  y="54"  width="11"  height="17" />
+  <text  id="LabelA"          class="A Label"                 x="60"  y="63"                           >A</text>
+  <rect  id="ButtonB"         class="B Button"                x="40"  y="72"  width="11"  height="17" />
+  <text  id="LabelB"          class="B Label"                 x="60"  y="81"                           >B</text>
+  <rect  id="ButtonC"         class="C Button"                x="28"  y="54"  width="11"  height="35" />
+  <text  id="LabelC"          class="C Label"                 x="60"  y="72"                           >C</text>
+  <rect  id="ButtonD"         class="D Button"                x="28"  y="90"  width="23"  height="11" />
+  <text  id="LabelD"          class="D Label"                 x="60"  y="96"                           >D</text>
+  <rect  id="ButtonE"         class="E Button"                x="352" y="54"  width="11"  height="17" />
+  <text  id="LabelE"          class="E Label"                 x="342" y="63"                           >E</text>
+  <rect  id="ButtonF"         class="F Button"                x="352" y="72"  width="11"  height="17" />
+  <text  id="LabelF"          class="F Label"                 x="342" y="81"                           >F</text>
+  <rect  id="ButtonG"         class="G Button"                x="364" y="54"  width="11"  height="35" />
+  <text  id="LabelG"          class="G Label"                 x="342" y="72"                           >G</text>
+  <rect  id="ButtonH"         class="H Button"                x="352" y="90"  width="23"  height="11" />
+  <text  id="LabelH"          class="H Label"                 x="342" y="96"                           >H</text>
+  <rect  id="ButtonI"         class="I Button"                x="28"  y="42"  width="23"  height="11" />
+  <text  id="LabelI"          class="I Label"                 x="60"  y="51"                           >I</text>
+  <rect  id="ButtonJ"         class="J Button"                x="352" y="42"  width="23"  height="11" />
+  <text  id="LabelJ"          class="J Label"                 x="342" y="51"                           >J</text>
+  <rect  id="Strip"           class="Strip TouchStrip"        x="10"  y="41"  width="12"  height="60" />
+  <text  id="LabelStripUp"    class="StripUp Strip Label"     x="16"  y="30"                           >Up</text>
+  <text  id="LabelStripDown"  class="StripDown Strip Label"   x="16"  y="110"                          >Down</text>
+  <rect  id="Strip2"          class="Strip2 TouchStrip"       x="382" y="41"  width="12"  height="60" />
+  <text  id="LabelStrip2Up"   class="Strip2Up Strip2 Label"   x="388" y="30"                           >Up</text>
+  <text  id="LabelStrip2Down" class="Strip2Down Strip2 Label" x="388" y="110"                          >Down</text>
+</svg>
diff --git a/data/layouts/intuos5-m.svg b/data/layouts/intuos5-m.svg
new file mode 100644
index 0000000..748959f
--- /dev/null
+++ b/data/layouts/intuos5-m.svg
@@ -0,0 +1,29 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd";>
+<svg xmlns="http://www.w3.org/2000/svg"; version="1.1"
+     style="color:#000000;stroke:#bebebe;fill:#f0f0f0;stroke-linejoin:round;stroke-width:1;font-size:8"
+          id="intuos5-m"                                                  width="380" height="250">
+  <title  id="title"                                                                              >Wacom Intuos5 M Touch</title>
+  <rect   id="ButtonB"       class="B Button"             x="24"  y="40"  width="20" height="12" />
+  <text   id="LabelB"        class="B Label"              x="50"  y="46"                          >A</text>
+  <rect   id="ButtonC"       class="C Button"             x="24"  y="54"  width="20" height="12" />
+  <text   id="LabelC"        class="C Label"              x="50"  y="60"                          >B</text>
+  <rect   id="ButtonD"       class="D Button"             x="24"  y="68"  width="20" height="12" />
+  <text   id="LabelD"        class="D Label"              x="50"  y="74"                          >C</text>
+  <rect   id="ButtonE"       class="E Button"             x="24"  y="82"  width="20" height="12" />
+  <text   id="LabelE"        class="E Label"              x="50"  y="88"                          >D</text>
+  <rect   id="ButtonF"       class="F Button"             x="24"  y="156" width="20" height="12" />
+  <text   id="LabelF"        class="F Label"              x="50"  y="162"                         >E</text>
+  <rect   id="ButtonG"       class="G Button"             x="24"  y="170" width="20" height="12" />
+  <text   id="LabelG"        class="G Label"              x="50"  y="176"                         >F</text>
+  <rect   id="ButtonH"       class="H Button"             x="24"  y="184" width="20" height="12" />
+  <text   id="LabelH"        class="H Label"              x="50"  y="190"                         >G</text>
+  <rect   id="ButtonI"       class="I Button"             x="24"  y="198" width="20" height="12" />
+  <text   id="LabelI"        class="I Label"              x="50"  y="206"                         >H</text>
+  <circle id="Ring"          class="Ring TouchRing"      cx="34" cy="125" r="19.5"               />
+  <text   id="LabelRingUp"   class="RingUp Ring Label"    x="60"  y="105"                         >Up</text>
+  <text   id="LabelRingDown" class="RingDown Ring Label"  x="60"  y="145"                         >Down</text>
+  <circle id="ButtonA"       class="A ModeSwitch Button" cx="34" cy="125" r="9.5"                />
+  <text   id="LabelA"        class="A ModeSwitch Label"   x="60"  y="125"                         >I</text>
+</svg>
-- 
1.7.1

------------------------------------------------------------------------------
LogMeIn Central: Instant, anywhere, Remote PC access and management.
Stay in control, update software, and manage PCs from one command center
Diagnose problems and improve visibility into emerging IT issues
Automate, monitor and manage. Do more in less time with Central
http://p.sf.net/sfu/logmein12331_d2d
_______________________________________________
Linuxwacom-devel mailing list
Linuxwacom-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel

Reply via email to