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> --- Changes from v1: * Fully (rather than partially) comment out 0x842 Intuos2 "Designer Pen" * Add "MobileStudio Pro" comment to 0x84a eraser data/layouts/mobilestudio-pro-13.svg | 279 +++++++++++++++++++++++++++++ data/layouts/mobilestudio-pro-16.svg | 331 +++++++++++++++++++++++++++++++++++ data/libwacom.stylus | 20 ++- data/mobilestudio-pro-13.tablet | 58 ++++++ data/mobilestudio-pro-16.tablet | 60 +++++++ 5 files changed, 745 insertions(+), 3 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..2d42f07 100644 --- a/data/libwacom.stylus +++ b/data/libwacom.stylus @@ -77,10 +77,16 @@ Buttons=2 Axes=Pressure;Distance; Type=General -[0x842] +# Superseded by 0x842 for the MobileStudio Pro +# [0x842] # Intuos2 -Name=Designer Pen -HasEraser=false +# Name=Designer Pen +# HasEraser=false + +[0x842] +# MobileStudio Pro +Name=Pro Pen +HasEraser=true Buttons=2 Axes=Tilt;Pressure;Distance; Type=General @@ -209,6 +215,14 @@ Buttons=2 Axes=Tilt;Pressure;Distance; Type=Classic +[0x84a] +# MobileStudio Pro +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.2 ------------------------------------------------------------------------------ _______________________________________________ Linuxwacom-devel mailing list Linuxwacom-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel