Note that the MobileStudio Pro introduces a new "Pro Pen" which supports
8K pressure levels. The ID of this pen is identical to that of a (less
featureful) pen used by the Intuos2, so we have to slightly modify the
existing entry. Ideally, we would have some way to define multiple pens
which share the same IDs (which apparently, according to the technical
experts, are not guaranteed unique outside of a hardware generation).
Such a change will require serious design and planning that are outside
of the immediate scope of this patch.

Signed-off-by: Jason Gerecke <jason.gere...@wacom.com>
---
 data/layouts/mobilestudio-pro-13.svg | 279 +++++++++++++++++++++++++++++
 data/layouts/mobilestudio-pro-16.svg | 331 +++++++++++++++++++++++++++++++++++
 data/libwacom.stylus                 |  14 +-
 data/mobilestudio-pro-13.tablet      |  58 ++++++
 data/mobilestudio-pro-16.tablet      |  60 +++++++
 5 files changed, 740 insertions(+), 2 deletions(-)
 create mode 100644 data/layouts/mobilestudio-pro-13.svg
 create mode 100644 data/layouts/mobilestudio-pro-16.svg
 create mode 100644 data/mobilestudio-pro-13.tablet
 create mode 100644 data/mobilestudio-pro-16.tablet

diff --git a/data/layouts/mobilestudio-pro-13.svg 
b/data/layouts/mobilestudio-pro-13.svg
new file mode 100644
index 0000000..172141b
--- /dev/null
+++ b/data/layouts/mobilestudio-pro-13.svg
@@ -0,0 +1,279 @@
+<?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:#7f7f7f;fill:none;stroke-width:.25;font-size:8"
+   id="intuos-pro-m"
+   width="320"
+   height="208">
+  <title
+     id="title">Wacom MobileStudio Pro 13</title>
+  <g>
+    <circle
+       id="Ring"
+       class="Ring TouchRing"
+       cx="34"
+       cy="104"
+       r="19.5" />
+    <path
+       id="LeaderRingCW"
+       class="RingCW Ring Leader"
+       d="M 12 90 L 12 75 L 61 75 L 61 62 L 70 62" />
+    <text
+       id="LabelRingCW"
+       class="RingCW Ring Label"
+       x="72"
+       y="62"
+       style="text-anchor:start;">CW</text>
+    <g transform="rotate(-90,31,80) translate(-20,-20)">
+      <path
+         id="RingCW"
+         class="RingCW Button"
+         d="M 31 80 l 3 -1.5 l 0 1 a 7.5 7.5 0 0 1 5 1.5 a 6.5 6.5 0 0 0 -5 
-0.5 l 0 1 z" />
+    </g>
+    <path
+       id="LeaderRingCCW"
+       class="RingCCW Ring Leader"
+       d="M 12 118 L 12 133 L 61 133 L 61 146 L 70 146" />
+    <text
+       id="LabelRingCCW"
+       class="RingCCW Ring Label"
+       x="72"
+       y="146"
+       style="text-anchor:start;">CCW</text>
+    <g transform="rotate(90,31,128) translate(-20,20)">
+      <path
+         id="RingCCW"
+         class="RingCCW Button"
+         d="M 31 128 l 3 -1.5 l 0 1 a 7.5 7.5 0 0 0 5 -1 a 6.5 6.5 0 0 1 -5 2 
l 0 1 z" />
+    </g>
+  </g>
+  <g>
+    <rect
+       id="ButtonA"
+       class="A Button"
+       rx="2"
+       ry="2"
+       x="24"
+       y="33"
+       width="20"
+       height="12" />
+    <path
+       id="LeaderA"
+       class="A Leader"
+       d="M 47 39 L 49 39 L 49 20 L 60 20" />
+    <text
+       id="LabelA"
+       class="A Label"
+       x="62"
+       y="20"
+       style="text-anchor:start;">A</text>
+  </g>
+  <g>
+    <rect
+       id="ButtonB"
+       class="B Button"
+       rx="2"
+       ry="2"
+       x="24"
+       y="47"
+       width="20"
+       height="12" />
+    <circle
+       id="DotB1"
+       cx="34"
+       cy="53"
+       r=".75" />
+    <path
+       id="LeaderB"
+       class="B Leader"
+       d="M 47 53 L 53 53 L 53 34 L 60 34" />
+    <text
+       id="LabelB"
+       class="B Label"
+       x="62"
+       y="34"
+       style="text-anchor:start;">B</text>
+  </g>
+  <g>
+    <rect
+       id="ButtonC"
+       class="C Button"
+       rx="2"
+       ry="2"
+       x="24"
+       y="61"
+       width="20"
+       height="12" />
+    <path
+       id="LeaderC"
+       class="C Leader"
+       d="M 47 67 L 57 67 L 57 48 L 60 48" />
+    <text
+       id="LabelC"
+       class="C Label"
+       x="62"
+       y="48"
+       style="text-anchor:start;">C</text>
+  </g>
+  <g>
+    <rect
+       id="ButtonD"
+       class="D Button"
+       rx="2"
+       ry="2"
+       x="24"
+       y="135"
+       width="20"
+       height="12" />
+    <path
+       id="LeaderD"
+       class="D Leader"
+       d="M 47 141 L 57 141 L 57 160 L 60 160" />
+    <text
+       id="LabelD"
+       class="D Label"
+       x="62"
+       y="160"
+       style="text-anchor:start;">D</text>
+  </g>
+  <g>
+    <rect
+       id="ButtonE"
+       class="E Button"
+       rx="2"
+       ry="2"
+       x="24"
+       y="149"
+       width="20"
+       height="12" />
+     <circle
+       id="DotE1"
+       cx="34"
+       cy="155"
+       r=".75" />
+    <path
+       id="LeaderE"
+       class="E Leader"
+       d="M 47 155 L 53 155 L 53 174 L 60 174" />
+    <text
+       id="LabelE"
+       class="E Label"
+       x="62"
+       y="174"
+       style="text-anchor:start;">E</text>
+  </g>
+  <g>
+    <rect
+       id="ButtonF"
+       class="F Button"
+       rx="2"
+       ry="2"
+       x="24"
+       y="163"
+       width="20"
+       height="12" />
+    <path
+       id="LeaderF"
+       class="F Leader"
+       d="M 47 169 L 49 169 L 49 188 L 60 188" />
+    <text
+       id="LabelF"
+       class="F Label"
+       x="62"
+       y="188"
+       style="text-anchor:start;">F</text>
+  </g>
+  <g>
+    <circle
+       id="ButtonG"
+       class="G Button"
+       cx="34"
+       cy="104"
+       r="9.5" />
+    <path
+       id="LeaderG"
+       class="G Leader"
+       d="M 25 95 L 20 85 L 20 80 L 65 80 L 65 76 L 70 76" />
+    <text
+       id="LabelG"
+       class="G Label"
+       x="72"
+       y="76"
+       style="text-anchor:start;">G</text>
+  </g>
+  <g>
+    <circle
+       id="ButtonH"
+       class="H ModeSwitch Button"
+       cx="48.5"
+       cy="104"
+       r=".75" />
+    <path
+       id="LeaderH"
+       class="H ModeSwitch Leader"
+       d="M 56 104 L 70 104" />
+    <text
+       id="LabelH"
+       class="H ModeSwitch Label"
+       x="72"
+       y="104"
+       style="text-anchor:start;">H</text>
+  </g>
+  <g>
+    <circle
+       id="ButtonI"
+       class="I ModeSwitch Button"
+       cx="34"
+       cy="89.5"
+       r=".75" />
+    <path
+       id="LeaderI"
+       class="I ModeSwitch Leader"
+       d="M 38 90 L 70 90" />
+    <text
+       id="LabelI"
+       class="I ModeSwitch Label"
+       x="72"
+       y="90"
+       style="text-anchor:start;">I</text>
+  </g>
+  <g>
+    <circle
+       id="ButtonJ"
+       class="J ModeSwitch Button"
+       cx="19.5"
+       cy="104"
+       r=".75" />
+    <path
+       id="LeaderJ"
+       class="J ModeSwitch Leader"
+       d="M 19 108 L 19 127 L 65 127 L 65 132 L 70 132" />
+    <text
+       id="LabelJ"
+       class="J ModeSwitch Label"
+       x="72"
+       y="132"
+       style="text-anchor:start;">J</text>
+  </g>
+  <g>
+    <circle
+       id="ButtonK"
+       class="K ModeSwitch Button"
+       cx="34"
+       cy="118.5"
+       r=".75" />
+    <path
+       id="LeaderK"
+       class="K ModeSwitch Leader"
+       d="M 38 118 L 70 118" />
+    <text
+       id="LabelK"
+       class="K ModeSwitch Label"
+       x="72"
+       y="118"
+       style="text-anchor:start;">K</text>
+  </g>
+</svg>
diff --git a/data/layouts/mobilestudio-pro-16.svg 
b/data/layouts/mobilestudio-pro-16.svg
new file mode 100644
index 0000000..afe56a6
--- /dev/null
+++ b/data/layouts/mobilestudio-pro-16.svg
@@ -0,0 +1,331 @@
+<?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:#7f7f7f;fill:none;stroke-width:.25;font-size:8"
+   id="intuos-pro-m"
+   width="380"
+   height="250">
+  <title
+     id="title">Wacom MobileStudio Pro 16</title>
+  <g>
+    <circle
+       id="Ring"
+       class="Ring TouchRing"
+       cx="34"
+       cy="125"
+       r="19.5" />
+    <path
+       id="LeaderRingCW"
+       class="RingCW Ring Leader"
+       d="M 12 111 L 12 96 L 65 96 L 65 83 L 73 83" />
+    <text
+       id="LabelRingCW"
+       class="RingCW Ring Label"
+       x="75"
+       y="83"
+       style="text-anchor:start;">CW</text>
+    <g transform="rotate(-90,31,111) translate(-10,-20)">
+      <path
+         id="RingCW"
+         class="RingCW Button"
+         d="M 31 111 l 3 -1.5 l 0 1 a 7.5 7.5 0 0 1 5 1.5 a 6.5 6.5 0 0 0 -5 
-0.5 l 0 1 z" />
+    </g>
+    <path
+       id="LeaderRingCCW"
+       class="RingCCW Ring Leader"
+       d="M 12 139 L 12 154 L 65 154 L 65 167 L 73 167" />
+    <text
+       id="LabelRingCCW"
+       class="RingCCW Ring Label"
+       x="75"
+       y="167"
+       style="text-anchor:start;">CCW</text>
+    <g transform="rotate(90,31,139) translate(-10,20)">
+      <path
+         id="RingCCW"
+         class="RingCCW Button"
+         d="M 31 139 l 3 -1.5 l 0 1 a 7.5 7.5 0 0 0 5 -1 a 6.5 6.5 0 0 1 -5 2 
l 0 1 z" />
+    </g>
+  </g>
+  <g>
+    <rect
+       id="ButtonA"
+       class="A Button"
+       rx="2"
+       ry="2"
+       x="24"
+       y="40"
+       width="20"
+       height="12" />
+    <circle
+       id="DotA1"
+       cx="34"
+       cy="46"
+       r=".75" />
+    <path
+       id="LeaderA"
+       class="A Leader"
+       d="M 47 46 L 49 46 L 49 27 L 63 27" />
+    <text
+       id="LabelA"
+       class="A Label"
+       x="65"
+       y="27"
+       style="text-anchor:start;">A</text>
+  </g>
+  <g>
+    <rect
+       id="ButtonB"
+       class="B Button"
+       rx="2"
+       ry="2"
+       x="24"
+       y="54"
+       width="20"
+       height="12" />
+    <path
+       id="LeaderB"
+       class="B Leader"
+       d="M 46 60 L 53 60 L 53 41 L 63 41" />
+    <text
+       id="LabelB"
+       class="B Label"
+       x="65"
+       y="41"
+       style="text-anchor:start;">B</text>
+  </g>
+  <g>
+    <rect
+       id="ButtonC"
+       class="C Button"
+       rx="2"
+       ry="2"
+       x="24"
+       y="68"
+       width="20"
+       height="12" />
+    <circle
+       id="DotC1"
+       cx="34"
+       cy="74"
+       r=".75" />
+    <path
+       id="LeaderC"
+       class="C Leader"
+       d="M 46 74 L 57 74 L 57 55 L 63 55" />
+    <text
+       id="LabelC"
+       class="C Label"
+       x="65"
+       y="55"
+       style="text-anchor:start;">C</text>
+  </g>
+  <g>
+    <rect
+       id="ButtonD"
+       class="D Button"
+       rx="2"
+       ry="2"
+       x="24"
+       y="82"
+       width="20"
+       height="12" />
+    <path
+       id="LeaderD"
+       class="D Leader"
+       d="M 46 88 L 61 88 L 61 69 L 63 69" />
+    <text
+       id="LabelD"
+       class="D Label"
+       x="65"
+       y="69"
+       style="text-anchor:start;">D</text>
+  </g>
+  <g>
+    <rect
+       id="ButtonE"
+       class="E Button"
+       rx="2"
+       ry="2"
+       x="24"
+       y="156"
+       width="20"
+       height="12" />
+    <path
+       id="LeaderE"
+       class="E Leader"
+       d="M 46 162 L 61 162 L 61 181 L 63 181" />
+    <text
+       id="LabelE"
+       class="E Label"
+       x="65"
+       y="181"
+       style="text-anchor:start;">E</text>
+  </g>
+  <g>
+    <rect
+       id="ButtonF"
+       class="F Button"
+       rx="2"
+       ry="2"
+       x="24"
+       y="170"
+       width="20"
+       height="12" />
+    <circle
+       id="DotF1"
+       cx="34"
+       cy="176"
+       r=".75" />
+    <path
+       id="LeaderF"
+       class="F Leader"
+       d="M 46 176 L 57 176 L 57 195 L 63 195" />
+    <text
+       id="LabelF"
+       class="F Label"
+       x="65"
+       y="195"
+       style="text-anchor:start;">F</text>
+  </g>
+  <g>
+    <rect
+       id="ButtonG"
+       class="G Button"
+       rx="2"
+       ry="2"
+       x="24"
+       y="184"
+       width="20"
+       height="12" />
+    <path
+       id="LeaderG"
+       class="G Leader"
+       d="M 46 190 L 53 190 L 53 209 L 63 209" />
+    <text
+       id="LabelG"
+       class="G Label"
+       x="65"
+       y="209"
+       style="text-anchor:start;">G</text>
+  </g>
+  <g>
+    <rect
+       id="ButtonH"
+       class="H Button"
+       rx="2"
+       ry="2"
+       x="24"
+       y="198"
+       width="20"
+       height="12" />
+    <circle
+       id="DotF1"
+       cx="34"
+       cy="204"
+       r=".75" />
+    <path
+       id="LeaderH"
+       class="H Leader"
+       d="M 46 204 L 49 204 L 49 223 L 63 223" />
+    <text
+       id="LabelH"
+       class="H Label"
+       x="65"
+       y="223"
+       style="text-anchor:start;">H</text>
+  </g>
+  <g>
+    <circle
+       id="ButtonI"
+       class="I Button"
+       cx="34"
+       cy="125"
+       r="9.5" />
+    <path
+       id="LeaderI"
+       class="I Leader"
+       d="M 25 116 L 20 106 L 20 101 L 69 101 L 69 97 L 73 97" />
+    <text
+       id="LabelI"
+       class="I Label"
+       x="75"
+       y="97"
+       style="text-anchor:start;">I</text>
+  </g>
+  <g>
+    <circle
+       id="ButtonJ"
+       class="J ModeSwitch Button"
+       cx="48.5"
+       cy="125"
+       r=".75" />
+    <path
+       id="LeaderJ"
+       class="J ModeSwitch Leader"
+       d="M 56 125 L 73 125" />
+    <text
+       id="LabelJ"
+       class="J ModeSwitch Label"
+       x="75"
+       y="125"
+       style="text-anchor:start;">J</text>
+  </g>
+  <g>
+    <circle
+       id="ButtonK"
+       class="K ModeSwitch Button"
+       cx="34"
+       cy="110.5"
+       r=".75" />
+    <path
+       id="LeaderK"
+       class="K ModeSwitch Leader"
+       d="M 38 111 L 73 111" />
+    <text
+       id="LabelK"
+       class="K ModeSwitch Label"
+       x="75"
+       y="111"
+       style="text-anchor:start;">K</text>
+  </g>
+  <g>
+    <circle
+       id="ButtonL"
+       class="L ModeSwitch Button"
+       cx="19.5"
+       cy="125"
+       r=".75" />
+    <path
+       id="LeaderL"
+       class="L ModeSwitch Leader"
+       d="M 19 129 L 19 148 L 69 148 L 69 153 L 73 153" />
+    <text
+       id="LabelL"
+       class="L ModeSwitch Label"
+       x="75"
+       y="153"
+       style="text-anchor:start;">L</text>
+  </g>
+  <g>
+    <circle
+       id="ButtonM"
+       class="M ModeSwitch Button"
+       cx="34"
+       cy="139.5"
+       r=".75" />
+    <path
+       id="LeaderM"
+       class="M ModeSwitch Leader"
+       d="M 38 139 L 73 139" />
+    <text
+       id="LabelM"
+       class="M ModeSwitch Label"
+       x="75"
+       y="139"
+       style="text-anchor:start;">M</text>
+  </g>
+</svg>
diff --git a/data/libwacom.stylus b/data/libwacom.stylus
index 21c1949..c063370 100644
--- a/data/libwacom.stylus
+++ b/data/libwacom.stylus
@@ -79,8 +79,11 @@ Type=General
 
 [0x842]
 # Intuos2
-Name=Designer Pen
-HasEraser=false
+#Name=Designer Pen
+#HasEraser=false
+# MobileStudio Pro
+Name=Pro Pen
+HasEraser=true
 Buttons=2
 Axes=Tilt;Pressure;Distance;
 Type=General
@@ -209,6 +212,13 @@ Buttons=2
 Axes=Tilt;Pressure;Distance;
 Type=Classic
 
+[0x84a]
+Name=Pro Pen Eraser
+IsEraser=true
+Buttons=2
+Axes=Tilt;Pressure;Distance;
+Type=General
+
 [0x85a]
 # Intuos2
 Name=Grip Pen Eraser
diff --git a/data/mobilestudio-pro-13.tablet b/data/mobilestudio-pro-13.tablet
new file mode 100644
index 0000000..1b06421
--- /dev/null
+++ b/data/mobilestudio-pro-13.tablet
@@ -0,0 +1,58 @@
+# Wacom
+# MobileStudio Pro 13
+# DTH-W1320
+#
+# Button Map:
+# (A=1, B=2, C=3, ...)
+#
+#          *-----------------------*
+#          |                       |
+#    A     |                       |
+#    B     |                       |
+#    C     |                       |
+#          |                       |
+#    I     |                       |
+#  J G H   |        DISPLAY        |
+#    K     |                       |
+#          |                       |
+#    D     |                       |
+#    E     |                       |
+#    F     |                       |
+#          |                       |
+#          *-----------------------*
+#
+# Touch Ring Map:
+# (A=1st ring, B=2nd ring, ...)
+#
+#    *-----------------------*
+#    |                       |
+#  A |        TABLET         |
+#    |                       |
+#    *-----------------------*
+#
+# Note: Buttons H, I, J, K are on a circle
+#
+
+[Device]
+Name=Wacom MobileStudio Pro 13
+Class=Cintiq
+DeviceMatch=usb:056a:034d
+PairedID=usb:056a:034a
+Width=12
+Height=7
+Layout=mobilestudio-pro-13.svg
+Styli=0x842;0x84a;0x160802;0x16080a;0x100802;0x10080a;0x140802;0x14080a;0x120802;0x100804;0x10080c;0x100902;0x10090a
+IntegratedIn=Display;System
+
+[Features]
+Stylus=true
+Touch=true
+Ring=true
+Buttons=11
+
+[Buttons]
+Left=A;B;C;D;E;F;G;H;I;J;K
+
+# This tablet has mode buttons but no LEDs to signal the current mode to the
+# user and thus requires the caller to display an on-screen notification.
+Ring=H;I;J;K
diff --git a/data/mobilestudio-pro-16.tablet b/data/mobilestudio-pro-16.tablet
new file mode 100644
index 0000000..9569d11
--- /dev/null
+++ b/data/mobilestudio-pro-16.tablet
@@ -0,0 +1,60 @@
+# Wacom
+# MobileStudio Pro 16
+# DTH-W1620
+#
+# Button Map:
+# (A=1, B=2, C=3, ...)
+#
+#          *-----------------------*
+#          |                       |
+#    A     |                       |
+#    B     |                       |
+#    C     |                       |
+#    D     |                       |
+#          |                       |
+#    K     |                       |
+#  L I J   |        DISPLAY        |
+#    M     |                       |
+#          |                       |
+#    E     |                       |
+#    F     |                       |
+#    G     |                       |
+#    H     |                       |
+#          |                       |
+#          *-----------------------*
+#
+# Touch Ring Map:
+# (A=1st ring, B=2nd ring, ...)
+#
+#    *-----------------------*
+#    |                       |
+#  A |        TABLET         |
+#    |                       |
+#    *-----------------------*
+#
+# Note: Buttons J, K, L, M are on a circle
+# 
+
+[Device]
+Name=Wacom MobileStudio Pro 16
+Class=Cintiq
+DeviceMatch=usb:056a:034e
+PairedID=usb:056a:034b
+Width=14
+Height=8
+Layout=mobilestudio-pro-16.svg
+Styli=0x842;0x84a;0x160802;0x16080a;0x100802;0x10080a;0x140802;0x14080a;0x120802;0x100804;0x10080c;0x100902;0x10090a
+IntegratedIn=Display;System
+
+[Features]
+Stylus=true
+Touch=true
+Ring=true
+Buttons=13
+
+[Buttons]
+Left=A;B;C;D;E;F;G;H;I;J;K;L;M
+
+# This tablet has mode buttons but no LEDs to signal the current mode to the
+# user and thus requires the caller to display an on-screen notification.
+Ring=J;K;L;M
-- 
2.10.1


------------------------------------------------------------------------------
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today. http://sdm.link/xeonphi
_______________________________________________
Linuxwacom-devel mailing list
Linuxwacom-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel

Reply via email to