diff --git a/SOURCES/0013-data-Added-support-for-Cintiq-Pro-27-525.patch b/SOURCES/0013-data-Added-support-for-Cintiq-Pro-27-525.patch new file mode 100644 index 0000000..5fca361 --- /dev/null +++ b/SOURCES/0013-data-Added-support-for-Cintiq-Pro-27-525.patch @@ -0,0 +1,977 @@ +From 52fc7eec49ba1d33bfa36977f33e18d82187ac34 Mon Sep 17 00:00:00 2001 +From: Joshua +Date: Thu, 29 Sep 2022 13:44:24 -0700 +Subject: [PATCH libwacom] data: Added support for "Cintiq Pro 27" (#525) + +* data: Added support for a "Cintiq Pro 27" +To fix issues with pen compatability on the new tablet with current libwacom.stylus groups the intuos5 group had certain pens split off into a new group called propengen2. All .tablet files affected by this change were updated to include this new group. + +Signed-off-by: Joshua Dickens +(cherry picked from commit 594205738d977757073e29e3224e06b1868cc9a9) +--- + data/cintiq-13hd.tablet | 2 +- + data/cintiq-13hdt.tablet | 2 +- + data/cintiq-16-2.tablet | 2 +- + data/cintiq-16.tablet | 2 +- + data/cintiq-21ux2.tablet | 2 +- + data/cintiq-22.tablet | 2 +- + data/cintiq-22hd.tablet | 2 +- + data/cintiq-22hdt.tablet | 2 +- + data/cintiq-24hd-touch.tablet | 2 +- + data/cintiq-24hd.tablet | 2 +- + data/cintiq-27hd.tablet | 2 +- + data/cintiq-27hdt.tablet | 2 +- + data/cintiq-companion-2.tablet | 2 +- + data/cintiq-companion-hybrid.tablet | 2 +- + data/cintiq-companion.tablet | 2 +- + data/cintiq-pro-13.tablet | 2 +- + data/cintiq-pro-16-2.tablet | 2 +- + data/cintiq-pro-16.tablet | 2 +- + data/cintiq-pro-24-p.tablet | 2 +- + data/cintiq-pro-24-pt.tablet | 2 +- + data/cintiq-pro-27.tablet | 48 ++++++++ + data/cintiq-pro-32.tablet | 2 +- + data/dtk-1660e-2.tablet | 2 +- + data/dtk-1660e.tablet | 2 +- + data/intuos-pro-2-l.tablet | 2 +- + data/intuos-pro-2-m.tablet | 2 +- + data/intuos-pro-2-s.tablet | 2 +- + data/intuos-pro-l.tablet | 2 +- + data/intuos-pro-m.tablet | 2 +- + data/intuos-pro-s.tablet | 2 +- + data/intuos4-12x19.tablet | 2 +- + data/intuos4-4x6.tablet | 2 +- + data/intuos4-6x9-wl.tablet | 2 +- + data/intuos4-6x9.tablet | 2 +- + data/intuos4-8x13.tablet | 2 +- + data/intuos5-m.tablet | 2 +- + data/intuos5-s.tablet | 2 +- + data/intuos5-touch-l.tablet | 2 +- + data/intuos5-touch-m.tablet | 2 +- + data/intuos5-touch-s.tablet | 2 +- + data/layouts/cintiq-pro-27.svg | 181 ++++++++++++++++++++++++++++ + data/libwacom.stylus | 32 +++-- + data/mobilestudio-pro-13-2.tablet | 2 +- + data/mobilestudio-pro-13.tablet | 2 +- + data/mobilestudio-pro-16-2.tablet | 2 +- + data/mobilestudio-pro-16-3.tablet | 2 +- + data/mobilestudio-pro-16.tablet | 2 +- + 47 files changed, 297 insertions(+), 52 deletions(-) + create mode 100644 data/cintiq-pro-27.tablet + create mode 100644 data/layouts/cintiq-pro-27.svg + +diff --git a/data/cintiq-13hd.tablet b/data/cintiq-13hd.tablet +index 7083aa87337a..c86ca2ec349e 100644 +--- a/data/cintiq-13hd.tablet ++++ b/data/cintiq-13hd.tablet +@@ -29,7 +29,7 @@ DeviceMatch=usb:056a:0304 + Width=12 + Height=7 + Layout=cintiq-13hd.svg +-Styli=@intuos5;@intuos4; ++Styli=@intuos5;@intuos4;@propengen2; + IntegratedIn=Display + + [Features] +diff --git a/data/cintiq-13hdt.tablet b/data/cintiq-13hdt.tablet +index 0301f08c6c77..0d6b2ecfac20 100644 +--- a/data/cintiq-13hdt.tablet ++++ b/data/cintiq-13hdt.tablet +@@ -31,7 +31,7 @@ PairedID=usb:056a:0335 + Width=12 + Height=7 + Layout=cintiq-13hd.svg +-Styli=@intuos5;@intuos4; ++Styli=@intuos5;@intuos4;@propengen2; + IntegratedIn=Display + + [Features] +diff --git a/data/cintiq-16-2.tablet b/data/cintiq-16-2.tablet +index e35aa60ae47a..10e1ba1c426e 100644 +--- a/data/cintiq-16-2.tablet ++++ b/data/cintiq-16-2.tablet +@@ -10,7 +10,7 @@ DeviceMatch=usb:056a:03ae + Width=14 + Height=8 + # No pad buttons, so no layout +-Styli=@intuos5;@mobilestudio; ++Styli=@intuos5;@mobilestudio;@propengen2; + IntegratedIn=Display + + [Features] +diff --git a/data/cintiq-16.tablet b/data/cintiq-16.tablet +index 8d72fa1af32c..c620898f8c19 100644 +--- a/data/cintiq-16.tablet ++++ b/data/cintiq-16.tablet +@@ -10,7 +10,7 @@ DeviceMatch=usb:056a:0390 + Width=14 + Height=8 + # No pad buttons, so no layout +-Styli=@intuos5;@mobilestudio; ++Styli=@intuos5;@mobilestudio;@propengen2; + IntegratedIn=Display + + [Features] +diff --git a/data/cintiq-21ux2.tablet b/data/cintiq-21ux2.tablet +index a81fae5565d1..b586ce2231f1 100644 +--- a/data/cintiq-21ux2.tablet ++++ b/data/cintiq-21ux2.tablet +@@ -50,7 +50,7 @@ Class=Cintiq + Width=17 + Height=13 + Layout=cintiq-21ux2.svg +-Styli=@intuos5;@intuos4; ++Styli=@intuos5;@intuos4;@propengen2; + IntegratedIn=Display + + [Features] +diff --git a/data/cintiq-22.tablet b/data/cintiq-22.tablet +index 322f8135cf36..2d3979ce0de5 100644 +--- a/data/cintiq-22.tablet ++++ b/data/cintiq-22.tablet +@@ -10,7 +10,7 @@ DeviceMatch=usb:056a:0391 + Width=19 + Height=10 + # No pad buttons, so no layout +-Styli=@intuos5;@mobilestudio; ++Styli=@intuos5;@mobilestudio;@propengen2; + IntegratedIn=Display + + [Features] +diff --git a/data/cintiq-22hd.tablet b/data/cintiq-22hd.tablet +index 86c3e2d738e0..f06b08ea1eb7 100644 +--- a/data/cintiq-22hd.tablet ++++ b/data/cintiq-22hd.tablet +@@ -38,7 +38,7 @@ Class=Cintiq + Width=19 + Height=11 + Layout=cintiq-22hd.svg +-Styli=@intuos5;@intuos4; ++Styli=@intuos5;@intuos4;@propengen2; + IntegratedIn=Display + + [Features] +diff --git a/data/cintiq-22hdt.tablet b/data/cintiq-22hdt.tablet +index af51a6130a53..2a0f5451d2cb 100644 +--- a/data/cintiq-22hdt.tablet ++++ b/data/cintiq-22hdt.tablet +@@ -40,7 +40,7 @@ Class=Cintiq + Width=19 + Height=11 + Layout=cintiq-22hd.svg +-Styli=@intuos5;@intuos4; ++Styli=@intuos5;@intuos4;@propengen2; + IntegratedIn=Display + + [Features] +diff --git a/data/cintiq-24hd-touch.tablet b/data/cintiq-24hd-touch.tablet +index 425d6c5a81ef..45e5e5ff4682 100644 +--- a/data/cintiq-24hd-touch.tablet ++++ b/data/cintiq-24hd-touch.tablet +@@ -48,7 +48,7 @@ Class=Cintiq + Width=21 + Height=13 + Layout=cintiq-24hd.svg +-Styli=@intuos5;@intuos4; ++Styli=@intuos5;@intuos4;@propengen2; + IntegratedIn=Display + + [Features] +diff --git a/data/cintiq-24hd.tablet b/data/cintiq-24hd.tablet +index b6a1e6ad4066..92b67c923f69 100644 +--- a/data/cintiq-24hd.tablet ++++ b/data/cintiq-24hd.tablet +@@ -46,7 +46,7 @@ Class=Cintiq + Width=21 + Height=13 + Layout=cintiq-24hd.svg +-Styli=@intuos5;@intuos4; ++Styli=@intuos5;@intuos4;@propengen2; + IntegratedIn=Display + + [Features] +diff --git a/data/cintiq-27hd.tablet b/data/cintiq-27hd.tablet +index b8c9377605f0..4003e769af6c 100644 +--- a/data/cintiq-27hd.tablet ++++ b/data/cintiq-27hd.tablet +@@ -10,7 +10,7 @@ DeviceMatch=usb:056a:032a + Class=Cintiq + Width=24 + Height=12 +-Styli=@intuos5; ++Styli=@intuos5;@propengen2; + IntegratedIn=Display + + [Features] +diff --git a/data/cintiq-27hdt.tablet b/data/cintiq-27hdt.tablet +index e24a41111314..63504490f2e8 100644 +--- a/data/cintiq-27hdt.tablet ++++ b/data/cintiq-27hdt.tablet +@@ -12,7 +12,7 @@ PairedID=usb:056a:032c + Class=Cintiq + Width=24 + Height=12 +-Styli=@intuos5; ++Styli=@intuos5;@propengen2; + IntegratedIn=Display + + [Features] +diff --git a/data/cintiq-companion-2.tablet b/data/cintiq-companion-2.tablet +index 0b8a031148bf..e5f47dd50128 100644 +--- a/data/cintiq-companion-2.tablet ++++ b/data/cintiq-companion-2.tablet +@@ -35,7 +35,7 @@ PairedID=usb:056a:0326 + Width=12 + Height=7 + Layout=cintiq-companion-2.svg +-Styli=@intuos5;@intuos4; ++Styli=@intuos5;@intuos4;@propengen2; + IntegratedIn=Display;System + + [Features] +diff --git a/data/cintiq-companion-hybrid.tablet b/data/cintiq-companion-hybrid.tablet +index 93a0dbd55df9..23450f32f81a 100644 +--- a/data/cintiq-companion-hybrid.tablet ++++ b/data/cintiq-companion-hybrid.tablet +@@ -33,7 +33,7 @@ PairedID=usb:056a:0309 + Width=12 + Height=7 + Layout=cintiq-companion-hybrid.svg +-Styli=@intuos5;@intuos4; ++Styli=@intuos5;@intuos4;@propengen2; + IntegratedIn=Display + + [Features] +diff --git a/data/cintiq-companion.tablet b/data/cintiq-companion.tablet +index 9ee8d4c1ff46..44415a7972aa 100644 +--- a/data/cintiq-companion.tablet ++++ b/data/cintiq-companion.tablet +@@ -33,7 +33,7 @@ PairedID=usb:056a:030c + Width=12 + Height=7 + Layout=cintiq-companion.svg +-Styli=@intuos5;@intuos4; ++Styli=@intuos5;@intuos4;@propengen2; + IntegratedIn=Display;System + + [Features] +diff --git a/data/cintiq-pro-13.tablet b/data/cintiq-pro-13.tablet +index ca5e2284040f..9dfbf88dcd29 100644 +--- a/data/cintiq-pro-13.tablet ++++ b/data/cintiq-pro-13.tablet +@@ -35,7 +35,7 @@ PairedID=usb:056a:0353 + Width=12 + Height=7 + # No pad buttons, so no layout +-Styli=@intuos5;@mobilestudio; ++Styli=@intuos5;@mobilestudio;@propengen2; + IntegratedIn=Display + + [Features] +diff --git a/data/cintiq-pro-16-2.tablet b/data/cintiq-pro-16-2.tablet +index 8133a2c4bc90..30d841e530bb 100644 +--- a/data/cintiq-pro-16-2.tablet ++++ b/data/cintiq-pro-16-2.tablet +@@ -32,7 +32,7 @@ PairedID=usb:056a:03b3 + Width=14 + Height=8 + Layout=cintiq-pro-16-2.svg +-Styli=@intuos5;@mobilestudio; ++Styli=@intuos5;@mobilestudio;@propengen2; + IntegratedIn=Display + + [Features] +diff --git a/data/cintiq-pro-16.tablet b/data/cintiq-pro-16.tablet +index f2f8869f8130..09ad8122c6eb 100644 +--- a/data/cintiq-pro-16.tablet ++++ b/data/cintiq-pro-16.tablet +@@ -35,7 +35,7 @@ PairedID=usb:056a:0354 + Width=14 + Height=8 + # No pad buttons, so no layout +-Styli=@intuos5;@mobilestudio; ++Styli=@intuos5;@mobilestudio;@propengen2; + IntegratedIn=Display + + [Features] +diff --git a/data/cintiq-pro-24-p.tablet b/data/cintiq-pro-24-p.tablet +index 1cf9be726024..a584781813ca 100644 +--- a/data/cintiq-pro-24-p.tablet ++++ b/data/cintiq-pro-24-p.tablet +@@ -34,7 +34,7 @@ DeviceMatch=usb:056a:037c + Width=20 + Height=12 + # No pad buttons, so no layout +-Styli=@intuos5;@mobilestudio; ++Styli=@intuos5;@mobilestudio;@propengen2; + IntegratedIn=Display + + [Features] +diff --git a/data/cintiq-pro-24-pt.tablet b/data/cintiq-pro-24-pt.tablet +index 806f4edea5ae..4776c89015f9 100644 +--- a/data/cintiq-pro-24-pt.tablet ++++ b/data/cintiq-pro-24-pt.tablet +@@ -35,7 +35,7 @@ PairedID=usb:056a:0355 + Width=20 + Height=12 + # No pad buttons, so no layout +-Styli=@intuos5;@mobilestudio; ++Styli=@intuos5;@mobilestudio;@propengen2; + IntegratedIn=Display + + [Features] +diff --git a/data/cintiq-pro-27.tablet b/data/cintiq-pro-27.tablet +new file mode 100644 +index 000000000000..a616c1fa88bf +--- /dev/null ++++ b/data/cintiq-pro-27.tablet +@@ -0,0 +1,48 @@ ++# Wacom ++# Cintiq Pro 27 ++# DTH-271 ++# ++# Button Map: ++# (A=1, B=2, C=3, ...) ++# ++# *-----------------------* ++# A | | E ++# B | | F ++# C | | G ++# D | | H ++# | | ++# | DISPLAY | ++# | | ++# | | ++# | | ++# | | ++# | | ++# *-----------------------* ++# ++# NOTE: Buttons are on the back side of the device rather ++# than on the top bezel. ++# ++# sysinfo.rLRz2hqrEy ++# https://github.com/linuxwacom/wacom-hid-descriptors/issues/260#issue-1391416660 ++ ++[Device] ++Name=Wacom Cintiq Pro 27 ++ModelName=DTH-271 ++Class=Cintiq ++DeviceMatch=usb:056a:03c0 ++Width=24 ++Height=13 ++Layout=cintiq-pro-27.svg ++Styli=@cintiqpro2022;@mobilestudio;@propengen2; ++IntegratedIn=Display ++ ++[Features] ++Stylus=true ++Reversible=false ++Touch=true ++Ring=false ++Buttons=8 ++ ++[Buttons] ++Left=A;B;C;D ++Right=E;F;G;H +diff --git a/data/cintiq-pro-32.tablet b/data/cintiq-pro-32.tablet +index 772efdb2b4e9..dada3f322129 100644 +--- a/data/cintiq-pro-32.tablet ++++ b/data/cintiq-pro-32.tablet +@@ -35,7 +35,7 @@ PairedID=usb:056a:0356 + Width=27 + Height=15 + # No pad buttons, so no layout +-Styli=@intuos5;@mobilestudio; ++Styli=@intuos5;@mobilestudio;@propengen2; + IntegratedIn=Display + + [Features] +diff --git a/data/dtk-1660e-2.tablet b/data/dtk-1660e-2.tablet +index dd29e481208b..3223ad9be61c 100644 +--- a/data/dtk-1660e-2.tablet ++++ b/data/dtk-1660e-2.tablet +@@ -9,7 +9,7 @@ DeviceMatch=usb:056a:03b0 + Width=14 + Height=8 + # No pad buttons, so no layout +-Styli=@intuos5;@mobilestudio; ++Styli=@intuos5;@mobilestudio;@propengen2; + IntegratedIn=Display + + [Features] +diff --git a/data/dtk-1660e.tablet b/data/dtk-1660e.tablet +index 4a89838acfa8..321879519b7c 100644 +--- a/data/dtk-1660e.tablet ++++ b/data/dtk-1660e.tablet +@@ -9,7 +9,7 @@ DeviceMatch=usb:056a:0396 + Width=14 + Height=8 + # No pad buttons, so no layout +-Styli=@intuos5;@mobilestudio; ++Styli=@intuos5;@mobilestudio;@propengen2; + IntegratedIn=Display + + [Features] +diff --git a/data/intuos-pro-2-l.tablet b/data/intuos-pro-2-l.tablet +index c544909bb997..75e1f695e905 100644 +--- a/data/intuos-pro-2-l.tablet ++++ b/data/intuos-pro-2-l.tablet +@@ -51,7 +51,7 @@ Width=12 + Height=8 + Layout=intuos-pro-2-l.svg + IntegratedIn= +-Styli=@intuos5;@mobilestudio; ++Styli=@intuos5;@mobilestudio;@propengen2; + + [Features] + Stylus=true +diff --git a/data/intuos-pro-2-m.tablet b/data/intuos-pro-2-m.tablet +index bfa775ed3b46..581082f5a57f 100644 +--- a/data/intuos-pro-2-m.tablet ++++ b/data/intuos-pro-2-m.tablet +@@ -51,7 +51,7 @@ Width=9 + Height=6 + Layout=intuos-pro-2-m.svg + IntegratedIn= +-Styli=@intuos5;@mobilestudio; ++Styli=@intuos5;@mobilestudio;@propengen2; + + [Features] + Stylus=true +diff --git a/data/intuos-pro-2-s.tablet b/data/intuos-pro-2-s.tablet +index 12c39bfae6f6..9613f5a46556 100644 +--- a/data/intuos-pro-2-s.tablet ++++ b/data/intuos-pro-2-s.tablet +@@ -38,7 +38,7 @@ Width=6 + Height=4 + Layout=intuos-pro-2-s.svg + IntegratedIn= +-Styli=@intuos5;@mobilestudio; ++Styli=@intuos5;@mobilestudio;@propengen2; + + [Features] + Stylus=true +diff --git a/data/intuos-pro-l.tablet b/data/intuos-pro-l.tablet +index 44d426a66ac3..9c4fee2f4209 100644 +--- a/data/intuos-pro-l.tablet ++++ b/data/intuos-pro-l.tablet +@@ -51,7 +51,7 @@ Width=13 + Height=8 + Layout=intuos-pro-l.svg + IntegratedIn= +-Styli=@intuos4-lens;@intuos4-puck;@intuos5;@intuos4; ++Styli=@intuos4-lens;@intuos4-puck;@intuos5;@intuos4;@propengen2; + + [Features] + Stylus=true +diff --git a/data/intuos-pro-m.tablet b/data/intuos-pro-m.tablet +index de880cd24b4c..e507e2c13180 100644 +--- a/data/intuos-pro-m.tablet ++++ b/data/intuos-pro-m.tablet +@@ -51,7 +51,7 @@ Width=9 + Height=6 + Layout=intuos-pro-m.svg + IntegratedIn= +-Styli=@intuos4-puck;@intuos5;@intuos4; ++Styli=@intuos4-puck;@intuos5;@intuos4;@propengen2; + + [Features] + Stylus=true +diff --git a/data/intuos-pro-s.tablet b/data/intuos-pro-s.tablet +index 5bfc733e47e4..4e35fa589388 100644 +--- a/data/intuos-pro-s.tablet ++++ b/data/intuos-pro-s.tablet +@@ -49,7 +49,7 @@ Width=6 + Height=4 + Layout=intuos-pro-s.svg + IntegratedIn= +-Styli=@intuos4-puck;@intuos5;@intuos4; ++Styli=@intuos4-puck;@intuos5;@intuos4;@propengen2; + + [Features] + Stylus=true +diff --git a/data/intuos4-12x19.tablet b/data/intuos4-12x19.tablet +index 1b76c819c96c..2dc9ea9d233e 100644 +--- a/data/intuos4-12x19.tablet ++++ b/data/intuos4-12x19.tablet +@@ -41,7 +41,7 @@ Width=19 + Height=12 + Layout=intuos4-12x19.svg + IntegratedIn= +-Styli=@intuos4-lens;@intuos4-puck;@intuos5;@intuos4; ++Styli=@intuos4-lens;@intuos4-puck;@intuos5;@intuos4;@propengen2; + + [Features] + Reversible=true +diff --git a/data/intuos4-4x6.tablet b/data/intuos4-4x6.tablet +index e6cc9a3b87be..1147716048e2 100644 +--- a/data/intuos4-4x6.tablet ++++ b/data/intuos4-4x6.tablet +@@ -42,7 +42,7 @@ Width=6 + Height=4 + Layout=intuos4-4x6.svg + IntegratedIn= +-Styli=@intuos4-puck;@intuos5;@intuos4; ++Styli=@intuos4-puck;@intuos5;@intuos4;@propengen2; + + [Features] + Reversible=true +diff --git a/data/intuos4-6x9-wl.tablet b/data/intuos4-6x9-wl.tablet +index d2f4ef04a6fb..bd60600d319e 100644 +--- a/data/intuos4-6x9-wl.tablet ++++ b/data/intuos4-6x9-wl.tablet +@@ -41,7 +41,7 @@ Width=8 + Height=5 + IntegratedIn= + Layout=intuos4-6x9-wl.svg +-Styli=@intuos4-puck;@intuos5;@intuos4; ++Styli=@intuos4-puck;@intuos5;@intuos4;@propengen2; + + [Features] + Reversible=true +diff --git a/data/intuos4-6x9.tablet b/data/intuos4-6x9.tablet +index d1ae6532163d..875fd078febc 100644 +--- a/data/intuos4-6x9.tablet ++++ b/data/intuos4-6x9.tablet +@@ -41,7 +41,7 @@ Width=9 + Height=6 + Layout=intuos4-6x9.svg + IntegratedIn= +-Styli=@intuos4-puck;@intuos5;@intuos4; ++Styli=@intuos4-puck;@intuos5;@intuos4;@propengen2; + + [Features] + Reversible=true +diff --git a/data/intuos4-8x13.tablet b/data/intuos4-8x13.tablet +index dec15d33f100..cfe3afdc4635 100644 +--- a/data/intuos4-8x13.tablet ++++ b/data/intuos4-8x13.tablet +@@ -41,7 +41,7 @@ Width=13 + Height=8 + Layout=intuos4-8x13.svg + IntegratedIn= +-Styli=@intuos4-puck;@intuos5;@intuos4; ++Styli=@intuos4-puck;@intuos5;@intuos4;@propengen2; + + [Features] + Reversible=true +diff --git a/data/intuos5-m.tablet b/data/intuos5-m.tablet +index c0815501bfb8..8370397ccc9e 100644 +--- a/data/intuos5-m.tablet ++++ b/data/intuos5-m.tablet +@@ -51,7 +51,7 @@ Width=9 + Height=6 + Layout=intuos5-m.svg + IntegratedIn= +-Styli=@intuos4-puck;@intuos5;@intuos4; ++Styli=@intuos4-puck;@intuos5;@intuos4;@propengen2; + + [Features] + Stylus=true +diff --git a/data/intuos5-s.tablet b/data/intuos5-s.tablet +index a8159eb6ffeb..e67585cdf57e 100644 +--- a/data/intuos5-s.tablet ++++ b/data/intuos5-s.tablet +@@ -49,7 +49,7 @@ Width=6 + Height=4 + Layout=intuos5-s.svg + IntegratedIn= +-Styli=@intuos4-puck;@intuos5;@intuos4; ++Styli=@intuos4-puck;@intuos5;@intuos4;@propengen2; + + [Features] + Stylus=true +diff --git a/data/intuos5-touch-l.tablet b/data/intuos5-touch-l.tablet +index 75ed69b48f0c..85c4fa8003b9 100644 +--- a/data/intuos5-touch-l.tablet ++++ b/data/intuos5-touch-l.tablet +@@ -51,7 +51,7 @@ Width=13 + Height=8 + Layout=intuos5-l.svg + IntegratedIn= +-Styli=@intuos4-lens;@intuos4-puck;@intuos5;@intuos4; ++Styli=@intuos4-lens;@intuos4-puck;@intuos5;@intuos4;@propengen2; + + [Features] + Stylus=true +diff --git a/data/intuos5-touch-m.tablet b/data/intuos5-touch-m.tablet +index 138d19f6d71f..46421d0fd3da 100644 +--- a/data/intuos5-touch-m.tablet ++++ b/data/intuos5-touch-m.tablet +@@ -51,7 +51,7 @@ Width=9 + Height=6 + Layout=intuos5-m.svg + IntegratedIn= +-Styli=@intuos4-puck;@intuos5;@intuos4; ++Styli=@intuos4-puck;@intuos5;@intuos4;@propengen2; + + [Features] + Stylus=true +diff --git a/data/intuos5-touch-s.tablet b/data/intuos5-touch-s.tablet +index 21af4005769e..7c0af1e578af 100644 +--- a/data/intuos5-touch-s.tablet ++++ b/data/intuos5-touch-s.tablet +@@ -49,7 +49,7 @@ Width=6 + Height=4 + Layout=intuos5-s.svg + IntegratedIn= +-Styli=@intuos4-puck;@intuos5;@intuos4; ++Styli=@intuos4-puck;@intuos5;@intuos4;@propengen2; + + [Features] + Stylus=true +diff --git a/data/layouts/cintiq-pro-27.svg b/data/layouts/cintiq-pro-27.svg +new file mode 100644 +index 000000000000..da20fb552e7d +--- /dev/null ++++ b/data/layouts/cintiq-pro-27.svg +@@ -0,0 +1,181 @@ ++ ++ ++ ++ Wacom Cintiq Pro 27 ++ ++ ++ ++ A ++ ++ ++ ++ ++ B ++ ++ ++ ++ ++ C ++ ++ ++ ++ ++ D ++ ++ ++ ++ ++ E ++ ++ ++ ++ ++ F ++ ++ ++ ++ ++ G ++ ++ ++ ++ ++ H ++ ++ +diff --git a/data/libwacom.stylus b/data/libwacom.stylus +index 17fea9090990..60f2ffb7eda0 100644 +--- a/data/libwacom.stylus ++++ b/data/libwacom.stylus +@@ -291,6 +291,22 @@ Buttons=2 + Axes=Tilt;Pressure;Distance; + Type=General + ++[0x200] ++# Cintiq Pro 2022 ++Name=Pro Pen 3 ++Group=cintiqpro2022 ++Buttons=3 ++Axes=Tilt;Pressure;Distance; ++Type=General ++ ++[0x40200] ++# Cintiq Pro 2022 ++Name=Pro Pen 3 ++Group=cintiqpro2022 ++Buttons=3 ++Axes=Tilt;Pressure;Distance; ++Type=General ++ + [0x80842] + # MobileStudio Pro + Name=Pro Pen 3D +@@ -355,7 +371,7 @@ Type=Marker + [0x100804] + # Intuos4, 5 and Cintiq 21UX2, 22HD, 24HD + Name=Art Pen +-Group=intuos5 ++Group=propengen2 + PairedStylusIds=0x10080c; + Buttons=2 + Axes=Tilt;Pressure;Distance;RotationZ; +@@ -364,7 +380,7 @@ Type=Marker + [0x100802] + # Intuos4, 5 and Cintiq 21UX2, 24HD + Name=Grip Pen +-Group=intuos5 ++Group=propengen2 + PairedStylusIds=0x10080a; + Buttons=2 + Axes=Tilt;Pressure;Distance; +@@ -390,7 +406,7 @@ Type=Classic + [0x140802] + # Intuos4, 5 and Cintiq 21UX2, 24HD + Name=Classic Pen +-Group=intuos5 ++Group=propengen2 + PairedStylusIds=0x14080a; + Buttons=2 + Axes=Tilt;Pressure;Distance; +@@ -399,7 +415,7 @@ Type=Classic + [0x160802] + # Cintiq 13HD Pro Pen + Name=Pro Pen +-Group=intuos5 ++Group=propengen2 + PairedStylusIds=0x16080a; + Buttons=2 + Axes=Tilt;Pressure;Distance; +@@ -536,7 +552,7 @@ Type=Classic + [0x14080a] + # Intuos4, 5 and Cintiq 21UX2, 24HD + Name=Classic Pen Eraser +-Group=intuos5 ++Group=propengen2 + PairedStylusIds=0x140802; + EraserType=Invert + Buttons=2 +@@ -546,7 +562,7 @@ Type=Classic + [0x10080c] + # Intuos4, 5 and 13HD, 24HD Art Pen + Name=Art Pen Eraser +-Group=intuos5 ++Group=propengen2 + PairedStylusIds=0x100804; + EraserType=Invert + Buttons=2 +@@ -556,7 +572,7 @@ Type=Marker + [0x10080a] + # Intuos4, 5 and Cintiq 21UX2, 24HD + Name=Grip Pen Eraser +-Group=intuos5 ++Group=propengen2 + PairedStylusIds=0x100802; + EraserType=Invert + Buttons=2 +@@ -576,7 +592,7 @@ Type=General + [0x16080a] + # Cintiq 13HD + Name=Pro Pen Eraser +-Group=intuos5 ++Group=propengen2 + PairedStylusIds=0x160802; + EraserType=Invert + Buttons=2 +diff --git a/data/mobilestudio-pro-13-2.tablet b/data/mobilestudio-pro-13-2.tablet +index f2cce71ce06f..6be21cb244ce 100644 +--- a/data/mobilestudio-pro-13-2.tablet ++++ b/data/mobilestudio-pro-13-2.tablet +@@ -42,7 +42,7 @@ PairedID=usb:056a:039a + Width=12 + Height=7 + Layout=mobilestudio-pro-13.svg +-Styli=@intuos5;@mobilestudio; ++Styli=@intuos5;@mobilestudio;@propengen2; + IntegratedIn=Display;System + + [Features] +diff --git a/data/mobilestudio-pro-13.tablet b/data/mobilestudio-pro-13.tablet +index da1eed4cb991..61963bd074bf 100644 +--- a/data/mobilestudio-pro-13.tablet ++++ b/data/mobilestudio-pro-13.tablet +@@ -42,7 +42,7 @@ PairedID=usb:056a:034a + Width=12 + Height=7 + Layout=mobilestudio-pro-13.svg +-Styli=@intuos5;@mobilestudio; ++Styli=@intuos5;@mobilestudio;@propengen2; + IntegratedIn=Display;System + + [Features] +diff --git a/data/mobilestudio-pro-16-2.tablet b/data/mobilestudio-pro-16-2.tablet +index f9c62a541410..f11c90957712 100644 +--- a/data/mobilestudio-pro-16-2.tablet ++++ b/data/mobilestudio-pro-16-2.tablet +@@ -44,7 +44,7 @@ PairedID=usb:056a:039b + Width=14 + Height=8 + Layout=mobilestudio-pro-16.svg +-Styli=@intuos5;@mobilestudio; ++Styli=@intuos5;@mobilestudio;@propengen2; + IntegratedIn=Display;System + + [Features] +diff --git a/data/mobilestudio-pro-16-3.tablet b/data/mobilestudio-pro-16-3.tablet +index 1a8efeaf761f..b6a932c513fc 100644 +--- a/data/mobilestudio-pro-16-3.tablet ++++ b/data/mobilestudio-pro-16-3.tablet +@@ -44,7 +44,7 @@ PairedID=usb:056a:03ac + Width=14 + Height=8 + Layout=mobilestudio-pro-16.svg +-Styli=@intuos5;@mobilestudio; ++Styli=@intuos5;@mobilestudio;@propengen2; + IntegratedIn=Display;System + + [Features] +diff --git a/data/mobilestudio-pro-16.tablet b/data/mobilestudio-pro-16.tablet +index 379b4e708ca4..a99e171fa086 100644 +--- a/data/mobilestudio-pro-16.tablet ++++ b/data/mobilestudio-pro-16.tablet +@@ -44,7 +44,7 @@ PairedID=usb:056a:034b + Width=14 + Height=8 + Layout=mobilestudio-pro-16.svg +-Styli=@intuos5;@mobilestudio; ++Styli=@intuos5;@mobilestudio;@propengen2; + IntegratedIn=Display;System + + [Features] +-- +2.50.1 + diff --git a/SOURCES/0014-data-Add-3rd-gen-Intuos-Pro-devices.patch b/SOURCES/0014-data-Add-3rd-gen-Intuos-Pro-devices.patch new file mode 100644 index 0000000..b311b30 --- /dev/null +++ b/SOURCES/0014-data-Add-3rd-gen-Intuos-Pro-devices.patch @@ -0,0 +1,882 @@ +From dfd35cefc1d60603dc63e9ab4a8574037287758f Mon Sep 17 00:00:00 2001 +From: Jason Gerecke +Date: Thu, 20 Jun 2024 10:32:57 -0700 +Subject: [PATCH libwacom] data: Add 3rd gen Intuos Pro devices + +Signed-off-by: Jason Gerecke +(cherry picked from commit 0dc703f7a727a869bf5c6a370a2a49a124716254) + +RHEL: +- Fix the DeviceMatch line +- Add Buttons= line to the tablet +- comment out the Dial features, not supported in this version +--- + data/layouts/wacom-intuos-pro-3-l.svg | 255 ++++++++++++++++++++++++++ + data/layouts/wacom-intuos-pro-3-m.svg | 255 ++++++++++++++++++++++++++ + data/layouts/wacom-intuos-pro-3-s.svg | 135 ++++++++++++++ + data/wacom-intuos-pro-3-l.tablet | 58 ++++++ + data/wacom-intuos-pro-3-m.tablet | 58 ++++++ + data/wacom-intuos-pro-3-s.tablet | 55 ++++++ + 6 files changed, 816 insertions(+) + create mode 100644 data/layouts/wacom-intuos-pro-3-l.svg + create mode 100644 data/layouts/wacom-intuos-pro-3-m.svg + create mode 100644 data/layouts/wacom-intuos-pro-3-s.svg + create mode 100644 data/wacom-intuos-pro-3-l.tablet + create mode 100644 data/wacom-intuos-pro-3-m.tablet + create mode 100644 data/wacom-intuos-pro-3-s.tablet + +diff --git a/data/layouts/wacom-intuos-pro-3-l.svg b/data/layouts/wacom-intuos-pro-3-l.svg +new file mode 100644 +index 000000000000..466fd9e8aa76 +--- /dev/null ++++ b/data/layouts/wacom-intuos-pro-3-l.svg +@@ -0,0 +1,255 @@ ++ ++ ++ ++ ++ Wacom Intuos Pro L (PTK870) ++ ++ ++ ++ A ++ ++ ++ ++ ++ B ++ ++ ++ ++ ++ C ++ ++ ++ ++ ++ D ++ ++ ++ ++ ++ I ++ ++ ++ ++ ++ CCW ++ ++ ++ CW ++ ++ ++ ++ ++ ++ E ++ ++ ++ ++ ++ F ++ ++ ++ ++ ++ G ++ ++ ++ ++ ++ H ++ ++ ++ ++ ++ J ++ ++ ++ ++ ++ CCW ++ ++ ++ CW ++ ++ ++ +diff --git a/data/layouts/wacom-intuos-pro-3-m.svg b/data/layouts/wacom-intuos-pro-3-m.svg +new file mode 100644 +index 000000000000..ac3af53affd8 +--- /dev/null ++++ b/data/layouts/wacom-intuos-pro-3-m.svg +@@ -0,0 +1,255 @@ ++ ++ ++ ++ ++ Wacom Intuos Pro M (PTK670) ++ ++ ++ ++ A ++ ++ ++ ++ ++ B ++ ++ ++ ++ ++ C ++ ++ ++ ++ ++ D ++ ++ ++ ++ ++ I ++ ++ ++ ++ ++ CCW ++ ++ ++ CW ++ ++ ++ ++ ++ ++ E ++ ++ ++ ++ ++ F ++ ++ ++ ++ ++ G ++ ++ ++ ++ ++ H ++ ++ ++ ++ ++ J ++ ++ ++ ++ ++ CCW ++ ++ ++ CW ++ ++ ++ +diff --git a/data/layouts/wacom-intuos-pro-3-s.svg b/data/layouts/wacom-intuos-pro-3-s.svg +new file mode 100644 +index 000000000000..ac0e3004d257 +--- /dev/null ++++ b/data/layouts/wacom-intuos-pro-3-s.svg +@@ -0,0 +1,135 @@ ++ ++ ++ ++ ++ Wacom Intuos Pro S (PTK470) ++ ++ ++ ++ A ++ ++ ++ ++ ++ B ++ ++ ++ ++ ++ C ++ ++ ++ ++ ++ D ++ ++ ++ ++ ++ E ++ ++ ++ ++ ++ CCW ++ ++ ++ CW ++ ++ ++ +diff --git a/data/wacom-intuos-pro-3-l.tablet b/data/wacom-intuos-pro-3-l.tablet +new file mode 100644 +index 000000000000..2a41a4812b91 +--- /dev/null ++++ b/data/wacom-intuos-pro-3-l.tablet +@@ -0,0 +1,58 @@ ++# Wacom ++# Intuos Pro L ++# PTK870 ++# (Third Generation) ++# ++# sysinfo.oLBtuiyfKd ++# https://github.com/linuxwacom/wacom-hid-descriptors/issues/457#issue-2867134599 ++# ++# Button Map: ++# (A=1, B=2, C=3, ...) ++# ++# A E ++# D I B H J F ++# C G ++# *-----------------------* ++# | | ++# | | ++# | TABLET | ++# | | ++# | | ++# *-----------------------* ++# ++# Relative Dial Map: ++# (A=1st dial, B=2nd dial, ...) ++# ++# A B ++# *-----------------------* ++# | | ++# | TABLET | ++# | | ++# *-----------------------* ++# ++ ++[Device] ++Name=Wacom Intuos Pro L ++ModelName=PTK870 ++DeviceMatch=usb:056a:03f9;bluetooth:056a:03fa;usb:056a:0401; ++Class=Intuos5 ++Width=14 ++Height=8 ++Layout=wacom-intuos-pro-3-l.svg ++IntegratedIn= ++Styli=@mobilestudio;@propengen2;@propen3;@udpen; ++ ++[Features] ++Stylus=true ++Reversible=false ++Touch=false ++Buttons=10 ++# NumDials=2 ++ ++[Buttons] ++Left=A;B;C;D;I ++Right=E;F;G;H;J ++# Dial=I ++# Dial2=J ++# DialNumModes=3 ++# Dial2NumModes=3 +diff --git a/data/wacom-intuos-pro-3-m.tablet b/data/wacom-intuos-pro-3-m.tablet +new file mode 100644 +index 000000000000..39717531b79e +--- /dev/null ++++ b/data/wacom-intuos-pro-3-m.tablet +@@ -0,0 +1,58 @@ ++# Wacom ++# Intuos Pro M ++# PTK670 ++# (Third Generation) ++# ++# sysinfo.BSaGepftZP ++# https://github.com/linuxwacom/wacom-hid-descriptors/issues/456#issue-2861784604 ++# ++# Button Map: ++# (A=1, B=2, C=3, ...) ++# ++# A E ++# D I B H J F ++# C G ++# *-----------------------* ++# | | ++# | | ++# | TABLET | ++# | | ++# | | ++# *-----------------------* ++# ++# Relative Dial Map: ++# (A=1st dial, B=2nd dial, ...) ++# ++# A B ++# *-----------------------* ++# | | ++# | TABLET | ++# | | ++# *-----------------------* ++# ++ ++[Device] ++Name=Wacom Intuos Pro M ++ModelName=PTK670 ++DeviceMatch=usb:056a:03f7;bluetooth:056a:03f8; ++Class=Intuos5 ++Width=10 ++Height=6 ++Layout=wacom-intuos-pro-3-m.svg ++IntegratedIn= ++Styli=@mobilestudio;@propengen2;@propen3;@udpen; ++ ++[Features] ++Stylus=true ++Reversible=false ++Touch=false ++Buttons=10 ++# NumDials=2 ++ ++[Buttons] ++Left=A;B;C;D;I ++Right=E;F;G;H;J ++# Dial=I ++# Dial2=J ++# DialNumModes=3 ++# Dial2NumModes=3 +diff --git a/data/wacom-intuos-pro-3-s.tablet b/data/wacom-intuos-pro-3-s.tablet +new file mode 100644 +index 000000000000..f8e71397d023 +--- /dev/null ++++ b/data/wacom-intuos-pro-3-s.tablet +@@ -0,0 +1,55 @@ ++# Wacom ++# Intuos Pro S ++# PTK470 ++# (Third Generation) ++# ++# sysinfo.vS9sFVLdTW ++# https://github.com/linuxwacom/wacom-hid-descriptors/issues/455#issue-2861784074 ++# ++# Button Map: ++# (A=1, B=2, C=3, ...) ++# ++# A ++# D E B ++# C ++# *-----------------------* ++# | | ++# | | ++# | TABLET | ++# | | ++# | | ++# *-----------------------* ++# ++# Relative Dial Map: ++# (A=1st dial, B=2nd dial, ...) ++# ++# A ++# *-----------------------* ++# | | ++# | TABLET | ++# | | ++# *-----------------------* ++# ++ ++[Device] ++Name=Wacom Intuos Pro S ++ModelName=PTK470 ++DeviceMatch=usb:056a:03f5;bluetooth:056a:03f6; ++Class=Intuos5 ++Width=7 ++Height=4 ++Layout=wacom-intuos-pro-3-s.svg ++IntegratedIn= ++Styli=@mobilestudio;@propengen2;@propen3;@udpen; ++ ++[Features] ++Stylus=true ++Reversible=false ++Touch=false ++Buttons=5 ++# NumDials=1 ++ ++[Buttons] ++Left=A;B;C;D;E ++# Dial=E ++# DialNumModes=3 +-- +2.50.1 + diff --git a/SOURCES/0015-data-remove-erroneous-dash-from-latest-Cintiq-Pro-mo.patch b/SOURCES/0015-data-remove-erroneous-dash-from-latest-Cintiq-Pro-mo.patch new file mode 100644 index 0000000..27d249b --- /dev/null +++ b/SOURCES/0015-data-remove-erroneous-dash-from-latest-Cintiq-Pro-mo.patch @@ -0,0 +1,80 @@ +From 818c47bef2789b79781448b89c616be3d65949ac Mon Sep 17 00:00:00 2001 +From: Aaron Armstrong Skomra +Date: Fri, 27 Oct 2023 16:37:48 -0700 +Subject: [PATCH libwacom] data: remove erroneous dash from latest Cintiq Pro + model names + +Signed-off-by: Aaron Armstrong Skomra +(cherry picked from commit 8ffa4ecfe4c9029d1abdda64428bf8122d92dee5) +--- + data/cintiq-pro-17.tablet | 4 ++-- + data/cintiq-pro-22.tablet | 4 ++-- + data/cintiq-pro-27.tablet | 4 ++-- + 3 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/data/cintiq-pro-17.tablet b/data/cintiq-pro-17.tablet +index 267a491d87c7..d8f55dcd8078 100644 +--- a/data/cintiq-pro-17.tablet ++++ b/data/cintiq-pro-17.tablet +@@ -1,6 +1,6 @@ + # Wacom + # Cintiq Pro 17 +-# DTH-172 ++# DTH172 + # + # Button Map: + # (A=1, B=2, C=3, ...) +@@ -27,7 +27,7 @@ + + [Device] + Name=Wacom Cintiq Pro 17 +-ModelName=DTH-172 ++ModelName=DTH172 + Class=Cintiq + DeviceMatch=usb:056a:03c4 + Width=15 +diff --git a/data/cintiq-pro-22.tablet b/data/cintiq-pro-22.tablet +index caef2a58e07a..befdb0a7a532 100644 +--- a/data/cintiq-pro-22.tablet ++++ b/data/cintiq-pro-22.tablet +@@ -1,6 +1,6 @@ + # Wacom + # Cintiq Pro 22 +-# DTH-227 ++# DTH227 + # + # Button Map: + # (A=1, B=2, C=3, ...) +@@ -27,7 +27,7 @@ + + [Device] + Name=Wacom Cintiq Pro 22 +-ModelName=DTH-227 ++ModelName=DTH227 + Class=Cintiq + DeviceMatch=usb:056a:03d0 + Width=18 +diff --git a/data/cintiq-pro-27.tablet b/data/cintiq-pro-27.tablet +index a616c1fa88bf..db0c5dbc20b7 100644 +--- a/data/cintiq-pro-27.tablet ++++ b/data/cintiq-pro-27.tablet +@@ -1,6 +1,6 @@ + # Wacom + # Cintiq Pro 27 +-# DTH-271 ++# DTH271 + # + # Button Map: + # (A=1, B=2, C=3, ...) +@@ -27,7 +27,7 @@ + + [Device] + Name=Wacom Cintiq Pro 27 +-ModelName=DTH-271 ++ModelName=DTH271 + Class=Cintiq + DeviceMatch=usb:056a:03c0 + Width=24 +-- +2.50.1 + diff --git a/SOURCES/0016-layouts-rearrange-the-Intuos-Pro-3rd-L-M-buttons.patch b/SOURCES/0016-layouts-rearrange-the-Intuos-Pro-3rd-L-M-buttons.patch new file mode 100644 index 0000000..2872f7e --- /dev/null +++ b/SOURCES/0016-layouts-rearrange-the-Intuos-Pro-3rd-L-M-buttons.patch @@ -0,0 +1,908 @@ +From 76a5a4da6281e496cb47b2850136cecca6a10eab Mon Sep 17 00:00:00 2001 +From: Peter Hutterer +Date: Wed, 20 Aug 2025 13:39:01 +1000 +Subject: [PATCH libwacom] layouts: rearrange the Intuos Pro 3rd L/M buttons + +The current layout is too far on the left/right edge, causing the right +set of buttons to be nonconfigurable in GNOME's OSD, see e.g. +https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/3500 + +Re-do the layouts so the button configuration is below the dials. +Ideally the GNOME OSD is smart enough so this isn't an issue to start +with but since we have loads of empty space here anyway, let's +make this a simple fix here until the rest can catch up. +--- + data/layouts/wacom-intuos-pro-3-l.svg | 393 ++++++++++++++----------- + data/layouts/wacom-intuos-pro-3-m.svg | 405 ++++++++++++++------------ + 2 files changed, 442 insertions(+), 356 deletions(-) + +diff --git a/data/layouts/wacom-intuos-pro-3-l.svg b/data/layouts/wacom-intuos-pro-3-l.svg +index 466fd9e8aa76..925149cea6a1 100644 +--- a/data/layouts/wacom-intuos-pro-3-l.svg ++++ b/data/layouts/wacom-intuos-pro-3-l.svg +@@ -8,95 +8,158 @@ + version="1.1" + id="intuos-pro-l-ptk870" + style="fill:none;stroke:#7f7f7f;stroke-width:0.25;font-size:6;font-family:monospace" ++ sodipodi:docname="wacom-intuos-pro-3-l.svg" ++ inkscape:version="1.4.2 (ebf0e940d0, 2025-05-08)" ++ 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"> ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ + Wacom Intuos Pro L (PTK870) +- +- +- +- A +- +- +- +- +- B +- +- +- +- +- C +- +- +- +- +- D +- +- +- +- +- I +- ++ ++ ++ A ++ ++ ++ B ++ ++ ++ C ++ ++ ++ D ++ ++ ++ I + + + +- +- +- +- E +- +- +- +- +- F +- +- +- +- +- G +- +- +- +- +- H +- +- +- +- +- J +- ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ E ++ F ++ G ++ H ++ J + + ++ ++ + Wacom Intuos Pro M (PTK670) ++ ++ ++ A ++ ++ ++ B ++ ++ ++ C ++ ++ ++ D ++ ++ ++ I + +- +- +- A +- +- +- +- +- B +- +- +- +- +- C +- +- +- +- +- D +- +- +- +- +- I +- +- ++ id="g7" ++ style="font-size:6px;font-family:monospace;fill:none;stroke:#7f7f7f;stroke-width:0.25" ++ transform="translate(-43.414111,-7.5157166e-5)"> + ++ d="m 143.885,5.88344 2.247,-1.10048 v 0.73366 c 1.343,-0.08427 2.672,0.30622 3.745,1.10046 C 148.73,6.00801 147.38,5.87584 146.132,6.25026 V 6.9839 Z" /> + ++ d="m 151.853,6.89279 h 14.246" /> + CCW ++ style="text-anchor:start">CCW + ++ d="m 143.883,26.4255 2.247,-1.1004 v 0.7336 c 1.298,0.1914 2.623,-0.0682 3.745,-0.7336 -0.973,0.9964 -2.338,1.5315 -3.745,1.4672 v 0.7337 z" /> + ++ d="m 151.853,25.0477 h 14.246" /> + CW ++ style="text-anchor:start">CW + ++ d="m 146.854,3.00752 c -5.247,0 -9.976,3.16004 -11.984,8.00658 -2.007,4.8466 -0.898,10.4252 2.812,14.1346 3.709,3.7094 9.288,4.819 14.135,2.8115 4.847,-2.0075 8.007,-6.7368 8.007,-11.9827 0,-7.16311 -5.807,-12.96998 -12.97,-12.96998 z" /> + ++ + +- ++ id="g10" ++ style="font-size:6px;font-family:monospace;fill:none;stroke:#7f7f7f;stroke-width:0.25" ++ transform="translate(-43.414111,-7.5157166e-5)"> + +- E ++ d="m 247.87623,74.037396 h 30.67943 L 278.67096,6.8514934 266.952,6.93851" ++ sodipodi:nodetypes="cccc" /> + ++ ++ ++ ++ ++ ++ ++ ++ ++ E ++ F ++ G ++ H ++ J + +- +- +- F +- +- +- +- +- G +- +- +- +- +- H +- +- +- +- +- J +- +- ++ id="g17" ++ style="font-size:6px;font-family:monospace;fill:none;stroke:#7f7f7f;stroke-width:0.25" ++ transform="translate(-43.414111,-7.5157166e-5)"> + ++ class="Dial2CCW Dial2 Button" ++ d="m 227.31,5.92916 2.247,-1.10048 v 0.73366 c 1.343,-0.08427 2.672,0.30622 3.745,1.10046 -1.147,-0.60907 -2.497,-0.74124 -3.745,-0.36682 v 0.73364 z" /> + ++ d="M 225.28,6.93851 H 211.034" /> + CCW ++ style="text-anchor:end">CCW + ++ d="m 227.308,26.4712 2.247,-1.1004 v 0.7336 c 1.298,0.1914 2.623,-0.0682 3.745,-0.7336 -0.973,0.9964 -2.338,1.5315 -3.745,1.4672 v 0.7337 z" /> + ++ d="M 225.28,25.0934 H 211.034" /> + CW ++ style="text-anchor:end">CW + ++ d="m 230.279,3.05324 c -5.246,0 -9.975,3.16004 -11.983,8.00656 -2.007,4.8466 -0.898,10.4252 2.812,14.1346 3.709,3.7094 9.288,4.819 14.134,2.8115 4.847,-2.0075 8.007,-6.7368 8.007,-11.9827 0,-7.16309 -5.807,-12.96996 -12.97,-12.96996 z" /> + + +-- +2.50.1 + diff --git a/SOURCES/0017-layouts-move-the-rings-of-the-Intuos-Pro-3rd-down-in.patch b/SOURCES/0017-layouts-move-the-rings-of-the-Intuos-Pro-3rd-down-in.patch new file mode 100644 index 0000000..14a34f3 --- /dev/null +++ b/SOURCES/0017-layouts-move-the-rings-of-the-Intuos-Pro-3rd-down-in.patch @@ -0,0 +1,136 @@ +From 9242857af8cec3d1e72401dfe2465c964b80cb80 Mon Sep 17 00:00:00 2001 +From: Peter Hutterer +Date: Thu, 21 Aug 2025 16:00:29 +1000 +Subject: [PATCH libwacom] layouts: move the rings of the Intuos Pro 3rd down + in their group + +This way a caller that fills the ring with color doesn't obscure +anything else in this group (notably: the arrows). +--- + data/layouts/wacom-intuos-pro-3-l.svg | 16 ++++++++-------- + data/layouts/wacom-intuos-pro-3-m.svg | 16 ++++++++-------- + data/layouts/wacom-intuos-pro-3-s.svg | 8 ++++---- + 3 files changed, 20 insertions(+), 20 deletions(-) + +diff --git a/data/layouts/wacom-intuos-pro-3-l.svg b/data/layouts/wacom-intuos-pro-3-l.svg +index 925149cea6a1..2bd1a1abfab7 100644 +--- a/data/layouts/wacom-intuos-pro-3-l.svg ++++ b/data/layouts/wacom-intuos-pro-3-l.svg +@@ -162,6 +162,10 @@ + style="text-anchor:end">I + ++ + CW +- + + J + ++ + CW +- + + +diff --git a/data/layouts/wacom-intuos-pro-3-m.svg b/data/layouts/wacom-intuos-pro-3-m.svg +index ab3ba59e5abc..ac1e4804d475 100644 +--- a/data/layouts/wacom-intuos-pro-3-m.svg ++++ b/data/layouts/wacom-intuos-pro-3-m.svg +@@ -126,6 +126,10 @@ + id="g7" + style="font-size:6px;font-family:monospace;fill:none;stroke:#7f7f7f;stroke-width:0.25" + transform="translate(-43.414111,-7.5157166e-5)"> ++ + CW +- + + ++ + CW +- + + +diff --git a/data/layouts/wacom-intuos-pro-3-s.svg b/data/layouts/wacom-intuos-pro-3-s.svg +index ac0e3004d257..4de7c63bf199 100644 +--- a/data/layouts/wacom-intuos-pro-3-s.svg ++++ b/data/layouts/wacom-intuos-pro-3-s.svg +@@ -99,6 +99,10 @@ + + ++ + CW +- + + +-- +2.50.1 + diff --git a/SOURCES/0018-RHEL-pretend-the-Intuos-Pro-3rd-Gen-has-Rings-not-Di.patch b/SOURCES/0018-RHEL-pretend-the-Intuos-Pro-3rd-Gen-has-Rings-not-Di.patch new file mode 100644 index 0000000..4b9bfd2 --- /dev/null +++ b/SOURCES/0018-RHEL-pretend-the-Intuos-Pro-3rd-Gen-has-Rings-not-Di.patch @@ -0,0 +1,366 @@ +From 3b1b46f2f1fd462df258893cc3a114f786f16d73 Mon Sep 17 00:00:00 2001 +From: Peter Hutterer +Date: Tue, 22 Jul 2025 10:45:59 +1000 +Subject: [PATCH libwacom] RHEL: pretend the Intuos Pro 3rd Gen has Rings, not + Dials + +Nothing in our userspace is hooked up to correctly deal with Dial events +(except libinput). This means any device with dials cannot receive +events (X or Wayland) and it cannot be configured in the UI either. + +Instead we pretend this device has absolute Rings which we've supported +for a long time now. This relies on libinput and xorg-x11-drv-wacom (or +the kernel) to map the relative dial events to absolute events. +--- + data/layouts/wacom-intuos-pro-3-l.svg | 56 +++++++++++++-------------- + data/layouts/wacom-intuos-pro-3-m.svg | 56 +++++++++++++-------------- + data/layouts/wacom-intuos-pro-3-s.svg | 28 +++++++------- + data/wacom-intuos-pro-3-l.tablet | 13 +++++++ + data/wacom-intuos-pro-3-m.tablet | 13 +++++++ + data/wacom-intuos-pro-3-s.tablet | 10 +++++ + 6 files changed, 106 insertions(+), 70 deletions(-) + +diff --git a/data/layouts/wacom-intuos-pro-3-l.svg b/data/layouts/wacom-intuos-pro-3-l.svg +index 2bd1a1abfab7..d000ef02acc8 100644 +--- a/data/layouts/wacom-intuos-pro-3-l.svg ++++ b/data/layouts/wacom-intuos-pro-3-l.svg +@@ -163,34 +163,34 @@ + + + + + CCW + + + CW +@@ -273,34 +273,34 @@ + + + + + CCW + + + CW +diff --git a/data/layouts/wacom-intuos-pro-3-m.svg b/data/layouts/wacom-intuos-pro-3-m.svg +index ac1e4804d475..5fa321b71b16 100644 +--- a/data/layouts/wacom-intuos-pro-3-m.svg ++++ b/data/layouts/wacom-intuos-pro-3-m.svg +@@ -127,34 +127,34 @@ + style="font-size:6px;font-family:monospace;fill:none;stroke:#7f7f7f;stroke-width:0.25" + transform="translate(-43.414111,-7.5157166e-5)"> + + + + CCW + + + CW +@@ -253,34 +253,34 @@ + style="font-size:6px;font-family:monospace;fill:none;stroke:#7f7f7f;stroke-width:0.25" + transform="translate(-43.414111,-7.5157166e-5)"> + + + + CCW + + + CW +diff --git a/data/layouts/wacom-intuos-pro-3-s.svg b/data/layouts/wacom-intuos-pro-3-s.svg +index 4de7c63bf199..bdd0273a271a 100644 +--- a/data/layouts/wacom-intuos-pro-3-s.svg ++++ b/data/layouts/wacom-intuos-pro-3-s.svg +@@ -100,34 +100,34 @@ + + + + + CCW + + + CW +diff --git a/data/wacom-intuos-pro-3-l.tablet b/data/wacom-intuos-pro-3-l.tablet +index 2a41a4812b91..cb0f687b4762 100644 +--- a/data/wacom-intuos-pro-3-l.tablet ++++ b/data/wacom-intuos-pro-3-l.tablet +@@ -47,12 +47,25 @@ Stylus=true + Reversible=false + Touch=false + Buttons=10 ++# RHEL-specific change: our userspace doesn't support ++# relative dials on tablets so we pretend these are absolute ++# rings and rely on libinput/xf86-input-wacom to emulate ++# ring values for these devices. ++# Note the SVG was changed to that effect too + # NumDials=2 ++Ring=true ++Ring2=true ++StatusLEDs=Ring2;Ring + + [Buttons] + Left=A;B;C;D;I + Right=E;F;G;H;J ++# RHEL-specific change, see above + # Dial=I + # Dial2=J + # DialNumModes=3 + # Dial2NumModes=3 ++Ring=I ++Ring2=J ++RingNumModes=3 ++Ring2NumModes=3 +diff --git a/data/wacom-intuos-pro-3-m.tablet b/data/wacom-intuos-pro-3-m.tablet +index 39717531b79e..4b548422e043 100644 +--- a/data/wacom-intuos-pro-3-m.tablet ++++ b/data/wacom-intuos-pro-3-m.tablet +@@ -47,12 +47,25 @@ Stylus=true + Reversible=false + Touch=false + Buttons=10 ++# RHEL-specific change: our userspace doesn't support ++# relative dials on tablets so we pretend these are absolute ++# rings and rely on libinput/xf86-input-wacom to emulate ++# ring values for these devices. ++# Note the SVG was changed to that effect too + # NumDials=2 ++Ring=true ++Ring2=true ++StatusLEDs=Ring2;Ring + + [Buttons] + Left=A;B;C;D;I + Right=E;F;G;H;J ++# RHEL-specific change, see above + # Dial=I + # Dial2=J + # DialNumModes=3 + # Dial2NumModes=3 ++Ring=I ++Ring2=J ++RingNumModes=3 ++Ring2NumModes=3 +diff --git a/data/wacom-intuos-pro-3-s.tablet b/data/wacom-intuos-pro-3-s.tablet +index f8e71397d023..ac5b52563672 100644 +--- a/data/wacom-intuos-pro-3-s.tablet ++++ b/data/wacom-intuos-pro-3-s.tablet +@@ -47,9 +47,19 @@ Stylus=true + Reversible=false + Touch=false + Buttons=5 ++# RHEL-specific change: our userspace doesn't support ++# relative dials on tablets so we pretend these are absolute ++# rings and rely on libinput/xf86-input-wacom to emulate ++# ring values for these devices. ++# Note the SVG was changed to that effect too + # NumDials=1 ++Ring=true + + [Buttons] + Left=A;B;C;D;E ++# RHEL-specific change, see above + # Dial=E + # DialNumModes=3 ++Ring=E ++RingNumModes=3 ++Ring2NumModes=3 +-- +2.50.1 + diff --git a/SPECS/libwacom.spec b/SPECS/libwacom.spec index b212a99..9d47d19 100644 --- a/SPECS/libwacom.spec +++ b/SPECS/libwacom.spec @@ -1,6 +1,6 @@ Name: libwacom Version: 1.12.1 -Release: 3%{?dist} +Release: 5%{?dist} Summary: Tablet Information Client Library Requires: %{name}-data @@ -21,6 +21,12 @@ Patch09: 0009-wacom-movink.tablet-add-more-groups.patch Patch10: 0010-libwacom-only-memcmp-the-led-data-if-we-have-leds.patch Patch11: 0011-wacom-movink-13.tablet-correct-the-product-name.patch Patch12: 0012-wacom-movink-13.svg-correct-the-name-of-the-product.patch +Patch13: 0013-data-Added-support-for-Cintiq-Pro-27-525.patch +Patch14: 0014-data-Add-3rd-gen-Intuos-Pro-devices.patch +Patch15: 0015-data-remove-erroneous-dash-from-latest-Cintiq-Pro-mo.patch +Patch16: 0016-layouts-rearrange-the-Intuos-Pro-3rd-L-M-buttons.patch +Patch17: 0017-layouts-move-the-rings-of-the-Intuos-Pro-3rd-down-in.patch +Patch18: 0018-RHEL-pretend-the-Intuos-Pro-3rd-Gen-has-Rings-not-Di.patch BuildRequires: meson gcc BuildRequires: glib2-devel libgudev1-devel @@ -101,6 +107,14 @@ rm ${RPM_BUILD_ROOT}/%{_bindir}/libwacom-show-stylus %{_datadir}/libwacom/layouts/*.svg %changelog +* Thu Aug 21 2025 Peter Hutterer - 1.12.1-5 +- Rearrange the OSD buttons for the Intuos Pro 3rd Gen (RHEL-101881) +- Use separate Ring/Ring2 assignments + +* Thu Jul 24 2025 Peter Hutterer - 1.12.1-4 +- Add support for the Cintiq Pro 27 (RHEL-101886) +- Add support for the Intuos Pro 3rd Gen series (RHEL-101881) + * Mon Aug 05 2024 Peter Hutterer - 1.12.1-3 - Add a set of newer Wacom tablets description files