You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
libwacom/SOURCES/0007-Add-support-for-Wacom-...

263 lines
7.3 KiB

From 090a3552e22023cfa6d3e2ff8d8c7dd5c5f568ae Mon Sep 17 00:00:00 2001
From: Tatsunosuke Tobita <tatsunosuke.tobita@wacom.com>
Date: Thu, 2 May 2024 12:30:11 +0900
Subject: [PATCH libwacom 07/13] Add support for Wacom Movink (#673)
Signed-off-by: Tatsunosuke Tobita <tatsunosuke.tobita@wacom.com>
(cherry picked from commit 03a9a244c8cf042716fc7453aec92b6ea8274c7f)
---
data/layouts/movink.svg | 153 ++++++++++++++++++++++++++++++++++++++++
data/libwacom.stylus | 19 +++++
data/movink.tablet | 52 ++++++++++++++
3 files changed, 224 insertions(+)
create mode 100644 data/layouts/movink.svg
create mode 100644 data/movink.tablet
diff --git ./data/layouts/movink.svg ../data/layouts/movink.svg
new file mode 100644
index 000000000000..a71fb1a880aa
--- /dev/null
+++ ../data/layouts/movink.svg
@@ -0,0 +1,153 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ version="1.1"
+ style="color:#000000;stroke:#7f7f7f;fill:none;stroke-width:.25;font-size:8"
+ id="movink"
+ width="410"
+ height="264"
+ sodipodi:docname="movink.svg"
+ inkscape:version="1.3.2 (1:1.3.2+202311252150+091e20ef0f)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <defs
+ id="defs8">
+ <rect
+ x="174.34434"
+ y="32.630142"
+ width="17.491545"
+ height="15.641169"
+ id="rect1" />
+ <rect
+ x="64.742484"
+ y="49.620748"
+ width="71.798062"
+ height="22.304045"
+ id="rect8" />
+ </defs>
+ <sodipodi:namedview
+ id="namedview8"
+ pagecolor="#ffffff"
+ bordercolor="#000000"
+ borderopacity="0.25"
+ showguides="true"
+ showgrid="false"
+ inkscape:showpageshadow="2"
+ inkscape:pageopacity="0.0"
+ inkscape:pagecheckerboard="0"
+ inkscape:deskcolor="#d1d1d1"
+ inkscape:zoom="5.0783123"
+ inkscape:cx="188.54689"
+ inkscape:cy="70.889692"
+ inkscape:window-width="3794"
+ inkscape:window-height="2096"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="1"
+ inkscape:current-layer="g10">
+ <sodipodi:guide
+ position="-0.19691581,270.30131"
+ orientation="1,0"
+ id="guide1"
+ inkscape:locked="false" />
+ <sodipodi:guide
+ position="409.97872,260.65243"
+ orientation="1,0"
+ id="guide2"
+ inkscape:locked="false" />
+ </sodipodi:namedview>
+ <title
+ id="title">Wacom Movink</title>
+ <g
+ id="g8">
+ <rect
+ id="ButtonA"
+ class="A Button"
+ rx="0.49358961"
+ ry="1.5854464"
+ x="1.096156"
+ y="40.096157"
+ width="14.807688"
+ height="15.854464"
+ style="stroke-width:0.442312;fill:none" />
+ <path
+ id="LeaderA"
+ class="A Leader"
+ d="M 20,42 H 40" />
+ <text
+ id="LabelA"
+ class="A Label"
+ x="45"
+ y="42"
+ style="text-anchor:start">A</text>
+ </g>
+ <g
+ id="g9">
+ <rect
+ id="ButtonB"
+ class="B Button"
+ rx="0.49358961"
+ ry="1.5854464"
+ x="394.04855"
+ y="40.171661"
+ width="14.807688"
+ height="15.854464"
+ style="color:#000000;font-size:8px;fill:none;stroke:#7f7f7f;stroke-width:0.442312" />
+ <path
+ id="LeaderB"
+ class="B Leader"
+ d="M 390,42 H 370" />
+ <text
+ id="LabelB"
+ class="B Label"
+ x="367"
+ y="42"
+ style="color:#000000;stroke:#7f7f7f;fill:none;stroke-width:0.25;font-size:8;text-anchor:start"
+ inkscape:label="LabelB">B</text>
+ </g>
+ <metadata
+ id="metadata9">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:title>Wacom Movink</dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="g10"
+ style="color:#000000;font-size:8px;fill:none;stroke:#7f7f7f;stroke-width:0.25"
+ transform="translate(-163.66016,-12.042969)">
+ <rect
+ id="ButtonC"
+ class="C Button"
+ rx="0.49358961"
+ ry="1.5854464"
+ x="360.75516"
+ y="13.385727"
+ width="14.807688"
+ height="15.854464"
+ style="color:#000000;font-size:8px;fill:none;stroke:#7f7f7f;stroke-width:0.442312" />
+ <path
+ id="LeaderC"
+ class="C Leader"
+ d="M 571.61407,20.15304 H 376.41438"
+ style="stroke-width:0.781024" />
+ <path
+ id="LeaderC-2"
+ class="C Leader"
+ d="M 360.12797,20.633226 H 164.92828"
+ style="color:#000000;font-size:8px;fill:none;stroke:#7f7f7f;stroke-width:0.781024" />
+ <text
+ id="LabelC"
+ class="C Label"
+ x="364.94287"
+ y="37.266518"
+ style="color:#000000;font-size:8px;text-anchor:start;fill:none;stroke:#7f7f7f;stroke-width:0.25"
+ inkscape:label="LabelC">C</text>
+ </g>
+</svg>
diff --git ./data/libwacom.stylus ../data/libwacom.stylus
index e012e09182b7..17fea9090990 100644
--- ./data/libwacom.stylus
+++ ../data/libwacom.stylus
@@ -729,3 +729,22 @@ Type=Puck
HasLens=false
HasWheel=true
Buttons=5
+
+[0x10002]
+# Movink
+Name=UD Pen
+Group=udpen
+PairedStylusIds=0x1000a;
+Buttons=2
+Axes=Tilt;Pressure;Distance;
+Type=General
+
+[0x1000a]
+# Movink
+Name=UD Pen Eraser
+Group=udpen
+PairedStylusIds=0x10002;
+Buttons=1
+EraserType=Invert
+Axes=Tilt;Pressure;Distance;
+Type=General
diff --git ./data/movink.tablet ../data/movink.tablet
new file mode 100644
index 000000000000..6cc4155d341b
--- /dev/null
+++ ../data/movink.tablet
@@ -0,0 +1,52 @@
+# Wacom Movink DTH135K0C
+# Sensor Type: EMR
+# Features: Touch (Integrated), Tilt
+#
+# Button Map:
+# (A=1, B=2, C=3)
+#
+# *------------------------------------------*
+# | C |
+# A | | B
+# | |
+# | |
+# | |
+# | TABLET |
+# | |
+# | |
+# | |
+# | |
+# | |
+# *------------------------------------------*
+#
+# Note: This tablet has 2 physical buttons (one left, one right)
+# configured via a firmware OSD but only one button can send
+# events at any time. This is button C, shown centered here.
+# We cannot tell which physical button triggered the event.
+#
+# Note: touch data comes through the usb:056a:03f0 interface
+#
+# sysinfo.4XIn8KkXzp
+# https://github.com/linuxwacom/wacom-hid-descriptors/issues/376#issue-2270545906
+[Device]
+Name=Wacom Movink
+ModelName=DTH-135K0C
+DeviceMatch=usb:056a:03f0
+Class=Cintiq
+Width=11
+Height=8
+Styli=@udpen;
+IntegratedIn=Display
+Layout=movink.svg
+
+[Features]
+Stylus=true
+Reversible=false
+Touch=true
+Buttons=3
+
+[Buttons]
+# Button C can be physically left or right depending on the firmware
+# but let's assign it to Left here, that's good enough.
+Left=A;C
+Right=B
--
2.45.2