From e426bb274a7ca901d4d9479a7e0cfa6e82ee10d5 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Thu, 21 Aug 2025 13:45:08 +1000 Subject: [PATCH] Rearrange the OSD buttons for the Intuos Pro 3rd Gen (RHEL-101881) Use separate Ring/Ring2 assignments Resolves: RHEL-101881 --- ...range-the-Intuos-Pro-3rd-L-M-buttons.patch | 908 ++++++++++++++++++ ...-rings-of-the-Intuos-Pro-3rd-down-in.patch | 136 +++ ...-Intuos-Pro-3rd-Gen-has-Rings-not-Di.patch | 246 +++-- libwacom.spec | 10 +- 4 files changed, 1171 insertions(+), 129 deletions(-) create mode 100644 0016-layouts-rearrange-the-Intuos-Pro-3rd-L-M-buttons.patch create mode 100644 0017-layouts-move-the-rings-of-the-Intuos-Pro-3rd-down-in.patch rename 0016-RHEL-pretend-the-Intuos-Pro-3rd-Gen-has-Rings-not-Di.patch => 0018-RHEL-pretend-the-Intuos-Pro-3rd-Gen-has-Rings-not-Di.patch (80%) diff --git a/0016-layouts-rearrange-the-Intuos-Pro-3rd-L-M-buttons.patch b/0016-layouts-rearrange-the-Intuos-Pro-3rd-L-M-buttons.patch new file mode 100644 index 0000000..2872f7e --- /dev/null +++ b/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/0017-layouts-move-the-rings-of-the-Intuos-Pro-3rd-down-in.patch b/0017-layouts-move-the-rings-of-the-Intuos-Pro-3rd-down-in.patch new file mode 100644 index 0000000..14a34f3 --- /dev/null +++ b/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/0016-RHEL-pretend-the-Intuos-Pro-3rd-Gen-has-Rings-not-Di.patch b/0018-RHEL-pretend-the-Intuos-Pro-3rd-Gen-has-Rings-not-Di.patch similarity index 80% rename from 0016-RHEL-pretend-the-Intuos-Pro-3rd-Gen-has-Rings-not-Di.patch rename to 0018-RHEL-pretend-the-Intuos-Pro-3rd-Gen-has-Rings-not-Di.patch index f81cebd..4b9bfd2 100644 --- a/0016-RHEL-pretend-the-Intuos-Pro-3rd-Gen-has-Rings-not-Di.patch +++ b/0018-RHEL-pretend-the-Intuos-Pro-3rd-Gen-has-Rings-not-Di.patch @@ -1,4 +1,4 @@ -From 8222d8ae6136a76e35da944c1bedcc2eefe9f790 Mon Sep 17 00:00:00 2001 +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 @@ -15,19 +15,25 @@ 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 | 12 ++++++ - data/wacom-intuos-pro-3-m.tablet | 12 ++++++ + 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, 104 insertions(+), 70 deletions(-) + 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 466fd9e8aa76..519231540cbf 100644 +index 2bd1a1abfab7..d000ef02acc8 100644 --- a/data/layouts/wacom-intuos-pro-3-l.svg +++ b/data/layouts/wacom-intuos-pro-3-l.svg -@@ -100,36 +100,36 @@ +@@ -163,34 +163,34 @@ + CW - - - + CW - - - diff --git a/data/layouts/wacom-intuos-pro-3-m.svg b/data/layouts/wacom-intuos-pro-3-m.svg -index ac3af53affd8..ad3a0bd3c290 100644 +index ac1e4804d475..5fa321b71b16 100644 --- a/data/layouts/wacom-intuos-pro-3-m.svg +++ b/data/layouts/wacom-intuos-pro-3-m.svg -@@ -100,36 +100,36 @@ - - - - CCW - - - CW +@@ -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)"> - - + 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="DialCCW" +- class="DialCCW Button" ++ id="RingCCW" ++ class="RingCCW Button" + 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" /> +- id="LeaderDialCCW" +- class="DialCCW Dial Leader" ++ id="LeaderRingCCW" ++ class="RingCCW Ring Leader" + d="m 151.853,6.89279 h 14.246" /> CCW + style="text-anchor:start">CCW +- id="DialCW" +- class="DialCW Button" ++ id="RingCW" ++ class="RingCW Button" + 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" /> +- id="LeaderDialCW" +- class="DialCW Dial Leader" ++ id="LeaderRingCW" ++ class="RingCW Ring Leader" + d="m 151.853,25.0477 h 14.246" /> CW +- id="LabelDialCW" +- class="DialCW Dial Label" ++ id="LabelRingCW" ++ class="RingCW Ring Label" + x="171.099" + y="25.45682" + style="text-anchor:start">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)"> - - + 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" /> + + + CCW + + + CW diff --git a/data/layouts/wacom-intuos-pro-3-s.svg b/data/layouts/wacom-intuos-pro-3-s.svg -index ac0e3004d257..b96952659c10 100644 +index 4de7c63bf199..bdd0273a271a 100644 --- a/data/layouts/wacom-intuos-pro-3-s.svg +++ b/data/layouts/wacom-intuos-pro-3-s.svg -@@ -100,36 +100,36 @@ +@@ -100,34 +100,34 @@ + CW - - - diff --git a/data/wacom-intuos-pro-3-l.tablet b/data/wacom-intuos-pro-3-l.tablet -index 2a41a4812b91..f66fb3b2c245 100644 +index 2a41a4812b91..cb0f687b4762 100644 --- a/data/wacom-intuos-pro-3-l.tablet +++ b/data/wacom-intuos-pro-3-l.tablet -@@ -47,12 +47,24 @@ Stylus=true +@@ -47,12 +47,25 @@ Stylus=true Reversible=false Touch=false Buttons=10 @@ -301,7 +291,8 @@ index 2a41a4812b91..f66fb3b2c245 100644 +# ring values for these devices. +# Note the SVG was changed to that effect too # NumDials=2 -+NumRings=2 ++Ring=true ++Ring2=true +StatusLEDs=Ring2;Ring [Buttons] @@ -317,10 +308,10 @@ index 2a41a4812b91..f66fb3b2c245 100644 +RingNumModes=3 +Ring2NumModes=3 diff --git a/data/wacom-intuos-pro-3-m.tablet b/data/wacom-intuos-pro-3-m.tablet -index 39717531b79e..8e14b15ed573 100644 +index 39717531b79e..4b548422e043 100644 --- a/data/wacom-intuos-pro-3-m.tablet +++ b/data/wacom-intuos-pro-3-m.tablet -@@ -47,12 +47,24 @@ Stylus=true +@@ -47,12 +47,25 @@ Stylus=true Reversible=false Touch=false Buttons=10 @@ -330,7 +321,8 @@ index 39717531b79e..8e14b15ed573 100644 +# ring values for these devices. +# Note the SVG was changed to that effect too # NumDials=2 -+NumRings=2 ++Ring=true ++Ring2=true +StatusLEDs=Ring2;Ring [Buttons] @@ -346,7 +338,7 @@ index 39717531b79e..8e14b15ed573 100644 +RingNumModes=3 +Ring2NumModes=3 diff --git a/data/wacom-intuos-pro-3-s.tablet b/data/wacom-intuos-pro-3-s.tablet -index f8e71397d023..60b2360a948c 100644 +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 @@ -359,7 +351,7 @@ index f8e71397d023..60b2360a948c 100644 +# ring values for these devices. +# Note the SVG was changed to that effect too # NumDials=1 -+NumRings=1 ++Ring=true [Buttons] Left=A;B;C;D;E diff --git a/libwacom.spec b/libwacom.spec index 900326e..9d47d19 100644 --- a/libwacom.spec +++ b/libwacom.spec @@ -1,6 +1,6 @@ Name: libwacom Version: 1.12.1 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Tablet Information Client Library Requires: %{name}-data @@ -24,7 +24,9 @@ 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-RHEL-pretend-the-Intuos-Pro-3rd-Gen-has-Rings-not-Di.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 @@ -105,6 +107,10 @@ 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)