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