On Mon, Nov 14, 2016 at 09:43:54AM -0800, Jason Gerecke wrote: > 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
thanks, b9181e6..221edda master -> master Cheers, Peter > > 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