Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package inputplumber for openSUSE:Factory 
checked in at 2026-07-20 09:59:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/inputplumber (Old)
 and      /work/SRC/openSUSE:Factory/.inputplumber.new.24530 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "inputplumber"

Mon Jul 20 09:59:11 2026 rev:2 rq:1366612 version:0.77.7

Changes:
--------
--- /work/SRC/openSUSE:Factory/inputplumber/inputplumber.changes        
2026-01-26 11:00:58.334571526 +0100
+++ /work/SRC/openSUSE:Factory/.inputplumber.new.24530/inputplumber.changes     
2026-07-20 10:01:14.243961192 +0200
@@ -1,0 +2,105 @@
+Sun Jul 19 13:55:57 UTC 2026 - Tobias Görgens <[email protected]>
+
+- Update to version 0.77.7:
+
+  * Remove polkit-unused-actions.patch, requested in boo#1249149
+  * Add 0001-fix-compilation-Fix-Rust-1.97-clippy-build-errors.patch
+  * chore(release): 0.77.7 [skip ci]
+  * fix(CapabilityMap): use signed normalization for buttons on bipolar axes
+  * fix(Hardware Support): Add Missing OneXPlayer 2 Pro variants
+  * fix(Hardware Support): Fix missing rumble on OneXFly devices
+  * fix(Hardware Support): Add OneXFly Pro Limited Edition Variant
+  * fix(Hardware Support): Fix Legion Go Regressions
+  * chore(release): 0.77.6 [skip ci]
+  * fix(Hardware Support): Fix MSI Claw Button Regression - MSI Claw devices 
might have the newer firmware on multiple devices that use the new keycodes. 
Enable all keycodes for all models to ensure nothing gets lost.
+  * chore(release): 0.77.5 [skip ci]
+  * fix(Hardware Support): Add guide button support for MSI Claw A8
+  * chore(release): 0.77.4 [skip ci]
+  * fix(Hardware Support): Update MSI Claw Driver Setup Rules Again - Adds 
'change' to the rules actions. Without this flag the rules only   apply when 
you use 'udevadm trigger' and not during startup. Manually   setting desktop is 
preserved through suspend and session switching but   will properly set the 
gamepad mode upon startup.
+  * chore(release): 0.77.3 [skip ci]
+  * fix(Hardware Support): Update MSI Claw Driver Setup Rules - Devices that 
boot up in desktop mode are unable to present events that   function as 
gamepad, and there is no way for a user to switch the mode   without writing to 
the CLI path at   /sys/class/hidraw/hidraw0/device/gamepad_mode. Xinput mode 
and Dinput   mode express themselves with unique PIDs (1901/1902 respectively), 
and   trigger a device disconnect/reconnect. Desktop mode, by contrast, adopts  
 the PID of the input mode that was last set and does not trigger a   reset. 
This provides the opportunity to ensure the device is in a   gamepad mode at 
startup without hard forcing a retrigger loop, as   setting xinput/dinput 
explicitly would. The rules only trigger on   "add|bind"" to prevent loops on 
"change", permitting a user to select   desktop mode later. - While at it, 
prevent the device from ever showing as PID 1903, which is   a bugged BIOS mode.
+  * chore(release): 0.77.2 [skip ci]
+  * fix(Hardware Support): Update MSI Claw Driver Name (#587)
+  * chore(release): 0.77.1 [skip ci]
+  * fix(devices/onexplayer_apex): target xbox-elite to surface oxp8 paddles 
(#585)
+  * chore(release): 0.77.0 [skip ci]
+  * feat(Hardware Support): add OXP HID driver for OneXPlayer X1 and APEX
+  * fix(CapabilityMap): use min/max range for unsigned axis normalization
+  * fix(iio): improve AccelGyro3d driver for HID Sensor Hub devices Summary
+  * fix(zotac-zone): add IMU mount matrix
+  * feat(Hardware Support): Add support for hid-msi-claw - Add udev rule to 
configure MSI Claw HID device driver (hid-msi-claw) - Remove no longer needed 
rust driver
+  * chore(release): 0.76.1 [skip ci]
+  * fix(udev): run udev rule on bind event
+  * chore(release): 0.76.0 [skip ci]
+  * fix(udev): search PATH for rule executables
+  * fix(Hardware Support): Fix rare double input bug on Legion devices
+  * fix(GPD WinMini): update physical path for gamepad source device
+  * Revert "fix(GPD WinMini): update device profile and improve macro keyboard 
handling"
+  * fix(GPD WinMini): update device profile and improve macro keyboard handling
+  * feat(iio): add InvenSense ICM42xxx IMU support
+  * fix(pkg): use release 1
+  * fix(Target): rename Rumble to GenericRumble and route to source devices
+  * feat(target): add Screenshot support for 8BitDo Ultimate 2 Wireless
+  * refactor(target): decode 8BitDo U2 rumble output report using packed_struct
+  * feat(udev): add hidraw access rule for 8BitDo Ultimate 2 Wireless
+  * feat(target): add 8BitDo Ultimate 2 Wireless controller emulation
+  * fix(Event Filtering): enable filtering if '*' is in exclude list with an 
empty include list
+  * chore(docs): update to include notice about tool generated content
+  * chore(release): 0.75.2 [skip ci]
+  * fix(PS4): add match for PS4 gamepads with PID 05c4
+  * fix: add environment variable to disable polkit auth
+  * fix(Hardware Support): Split ROG Xbox Ally models into their own profile
+  * fix: add vendor_id and product_id matching for switch pro controllers via 
bluetooth
+  * fix: add evdev mapping for BTN_TL2 and BTN_TR2 to support switch pro 
controller triggers and fix LED dbus naming parsing (#545)
+  * fix(horipad_steam): negate gyroscope values to match SDL sign convention
+  * fix(horipad-steam): swap yaw/roll field names in HID report struct
+  * fix(horipad_steam): reply to GET_REPORT requests to prevent UHID timeout
+  * chore(release): 0.75.1 [skip ci]
+  * fix(NixOS): check nix paths for binaries in udev hiding rules
+  * chore(release): 0.75.0 [skip ci]
+  * fix(Target): re-add starting deck device after receiving config
+  * feat(CapabilityMap): add config for inverting axis values
+  * chore(release): 0.74.2 [skip ci]
+  * fix(Target): use sync channel for sending touchscreen config
+  * chore(release): 0.74.1 [skip ci]
+  * fix(ForceFeedback): send fferase ok result back to composite device
+  * fix(Target): use async task for capability updates in debug and ucis 
targets
+  * fix(ForceFeedback): use blocking task to send effect id
+  * fix(Target): use sync channel for config transmission
+  * chore(release): 0.74.0 [skip ci]
+  * fix(Hardware Support): Invert pitch axis for Legion Go 2
+  * fix(Target Device): Combine all xbox devices into a single target - 
Combines the xb360, xbox-series, and xbox-elite targets into a single   unified 
target device. Matching on the controller name determines the   capabilities, 
exposed evdev events, and device info.
+  * fix(Hardware Support): Add new PID's for Steam Deck target
+  * refactor: make quadratic scaling configurable and off by default
+  * Improve analog scaling to scale quadratically instead of linearly to make 
movement less abrupt and smooth it out for more precise control.
+  * feat(Hardware Support): Support tap-hold to drag on GPD Win Mini
+  * feat(Hardware Support): Ignore tap during movement
+  * feat(Hardware Support): Debounce GPD Win Mini macro keys
+  * feat(Hardware Support): Add tap-to-click for GPD Win Mini
+  * fix(Hardware Support): Add scroll wheel to legion go devices
+  * feat: add mouse wheel support
+  * fix: add wild card matching for claw8 to match Polar Tempest Edition as 
well
+  * fix: improve attribute matching time by only querying specified attribute
+  * chore(docs): add documentation for enable latency metrics
+  * fix(TargetDevice): support immediate write events
+  * chore(release): 0.73.0 [skip ci]
+  * fix(HardwareSupport): Ensure default capabilities & misc fixes - Adds 
(temporary) target device translations for screenshot capability   for all 
target gamepads. Each device uses a different combination, and   some devices 
(steam deck, horipad) need to queue events to avoid   issues with input 
collision. These will be fairly difficult to manage   with profiles. This makes 
them unsuitable for the default profile. - Adds (temporary) target device 
translations for CenterPad -> RightPad   and RightPad -> CenterPad for all 
target gamepads with touch   capabilities. Ensures that any source -> target 
combination has a   working default behavior. Fixes multiple reports of 
"Dualsense   Touchpad doesn't work in InputPlumber" from devices with right 
pads.   As some devices need CenterPad -> RightPad, some need RightPad ->   
CenterPad, and some need no translations, depending on the target,   they are 
not suitable for the defualt profile. - Fixed touchpad translation for 
Dualsense source de
 vice. It was using   normalize_signed when it should have been unsigned. - 
Reduce poll rate of dualsense target to match the real hardware (250Hz) - Add 
IMU timestamp to dualsense target. - Fix logic for touch events in Dualsense 
target. Previously it was   assumed that 127 = touching and 128 = released, but 
it is actually a   touch counter that ranged 0-127, and the "off" state for 
each touch is   + 128 of the current counter. - Fix max value for X and Y of 
the Dualsense (off by 1). - Switch dualsense to use the new pitch/roll/yaw 
names for gyro events. - Implement new gyro/accel events for Steam Deck, 
Dualsense, and horipad   targets. We should review any remaining source devices 
for the   deprecated Gamepad:Gyrosope|Accelerometer events and update them in   
another PR to remove the Composite Device direct translations. (This   one 
already got out of hand a bit) - Switch Legion Go 2 driver to use QuickAccess2 
instead of Screenshot for   one of the new buttons. This will still be S
 creenshot when using the   default capability map. - Change a few debug 
statements to trace. - Clean up some target device match trees with catch all's 
to improve   readability and reduce nesting in some cases.
+  * fix(Polkit): remove duplicate SetInterceptMode action
+  * feat(Config): add udev matching for composite device configs
+  * fix(Device Hiding): add 'hide_from_root' option to allow moving devnode 
during hide logic
+  * fix: add device unhiding on SIGINT and SIGTERM
+  * fix(Device Hiding): move hidden device nodes to /dev/inputplumber/sources
+  * chore: add readthedocs config
+  * chore(Docs): add diagrams to documentation
+  * chore(Docs): Update README with additional doc links
+  * chore(Docs): update docs link and add short install instructions
+  * chore(Docs): add awesome-nav plugin
+  * chore(Docs): use material for mkdocs for documentation
+
+-------------------------------------------------------------------
+Sat Mar 14 11:47:41 UTC 2026 - Tobias Görgens <[email protected]>
+
+- Remove unused actions patch
+  Requested in boo#1249149
+
+-------------------------------------------------------------------

Old:
----
  InputPlumber-0.72.0.tar.xz
  polkit-unused-actions.patch

New:
----
  0001-fix-compilation-Fix-Rust-1.97-clippy-build-errors.patch
  InputPlumber-0.77.7.tar.xz

----------(Old B)----------
  Old:
  * Remove polkit-unused-actions.patch, requested in boo#1249149
  * Add 0001-fix-compilation-Fix-Rust-1.97-clippy-build-errors.patch
----------(Old E)----------

----------(New B)----------
  New:  * Remove polkit-unused-actions.patch, requested in boo#1249149
  * Add 0001-fix-compilation-Fix-Rust-1.97-clippy-build-errors.patch
  * chore(release): 0.77.7 [skip ci]
----------(New E)----------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ inputplumber.spec ++++++
--- /var/tmp/diff_new_pack.MZXDzp/_old  2026-07-20 10:01:16.284029847 +0200
+++ /var/tmp/diff_new_pack.MZXDzp/_new  2026-07-20 10:01:16.288029981 +0200
@@ -16,7 +16,7 @@
 #
 
 Name:           inputplumber
-Version:        0.72.0
+Version:        0.77.7
 Release:        0%{?dist}
 Summary:        Input router and remapper daemon for Linux
 License:        GPL-3.0
@@ -24,7 +24,7 @@
 Source0:        InputPlumber-%{version}.tar.xz
 Source1:        vendor.tar.zst
 Patch0:         polkit-rules.patch
-Patch1:         polkit-unused-actions.patch
+Patch1:         0001-fix-compilation-Fix-Rust-1.97-clippy-build-errors.patch
 BuildRequires:  rust
 BuildRequires: cargo
 BuildRequires:  cargo-packaging
@@ -69,129 +69,23 @@
 %systemd_postun inputplumber-suspend.service inputplumber.service
 
 %files
+%doc README.md
 %{_bindir}/inputplumber
+%{_datadir}/dbus-1/system.d/org.shadowblip.InputPlumber.conf
+%{_unitdir}/inputplumber.service
+%{_unitdir}/inputplumber-suspend.service
+%dir %{_udevhwdbdir}
+%{_udevhwdbdir}/*.hwdb
+%{_udevrulesdir}/*.rules
 %dir %{_datadir}/inputplumber
-%dir %{_datadir}/inputplumber/devices
-%{_datadir}/inputplumber/devices/10-ignore_unsupported.yaml
-%{_datadir}/inputplumber/devices/50-anbernic_win600.yaml
-%{_datadir}/inputplumber/devices/50-aokzoe_a1.yaml
-%{_datadir}/inputplumber/devices/50-ayaneo_2.yaml
-%{_datadir}/inputplumber/devices/50-ayaneo_2021.yaml
-%{_datadir}/inputplumber/devices/50-ayaneo_2s.yaml
-%{_datadir}/inputplumber/devices/50-ayaneo_3.yaml
-%{_datadir}/inputplumber/devices/50-ayaneo_air.yaml
-%{_datadir}/inputplumber/devices/50-ayaneo_air_1s.yaml
-%{_datadir}/inputplumber/devices/50-ayaneo_air_plus.yaml
-%{_datadir}/inputplumber/devices/50-ayaneo_air_plus_mendo.yaml
-%{_datadir}/inputplumber/devices/50-ayaneo_flip.yaml
-%{_datadir}/inputplumber/devices/50-ayaneo_flip_1s.yaml
-%{_datadir}/inputplumber/devices/50-ayaneo_kun.yaml
-%{_datadir}/inputplumber/devices/50-ayaneo_next.yaml
-%{_datadir}/inputplumber/devices/50-ayaneo_slide.yaml
-%{_datadir}/inputplumber/devices/50-ayn_loki_max.yaml
-%{_datadir}/inputplumber/devices/50-ayn_loki_mini_pro.yaml
-%{_datadir}/inputplumber/devices/50-ayn_loki_zero.yaml
-%{_datadir}/inputplumber/devices/50-gpd_win3.yaml
-%{_datadir}/inputplumber/devices/50-gpd_win4.yaml
-%{_datadir}/inputplumber/devices/50-gpd_win5.yaml
-%{_datadir}/inputplumber/devices/50-gpd_winmax2.yaml
-%{_datadir}/inputplumber/devices/50-gpd_winmini.yaml
-%{_datadir}/inputplumber/devices/50-legion_go.yaml
-%{_datadir}/inputplumber/devices/50-legion_go_2.yaml
-%{_datadir}/inputplumber/devices/50-legion_go_s.yaml
-%{_datadir}/inputplumber/devices/50-msi_claw7_a2vm.yaml
-%{_datadir}/inputplumber/devices/50-msi_claw8_a2vm.yaml
-%{_datadir}/inputplumber/devices/50-msi_claw_a1m.yaml
-%{_datadir}/inputplumber/devices/50-msi_claw_a8_bz2e.yaml
-%{_datadir}/inputplumber/devices/50-onexplayer_2.yaml
-%{_datadir}/inputplumber/devices/50-onexplayer_amd.yaml
-%{_datadir}/inputplumber/devices/50-onexplayer_g1.yaml
-%{_datadir}/inputplumber/devices/50-onexplayer_intel.yaml
-%{_datadir}/inputplumber/devices/50-onexplayer_mini_a07.yaml
-%{_datadir}/inputplumber/devices/50-onexplayer_mini_pro.yaml
-%{_datadir}/inputplumber/devices/50-onexplayer_onexfly.yaml
-%{_datadir}/inputplumber/devices/50-onexplayer_x1.yaml
-%{_datadir}/inputplumber/devices/50-orangepi_neo.yaml
-%{_datadir}/inputplumber/devices/50-rog_ally.yaml
-%{_datadir}/inputplumber/devices/50-rog_ally_x.yaml
-%{_datadir}/inputplumber/devices/50-rog_flow_z13.yaml
-%{_datadir}/inputplumber/devices/50-steam_deck.yaml
-%{_datadir}/inputplumber/devices/50-zotac-zone.yaml
-%{_datadir}/inputplumber/devices/60-8bit_do_pro_2.yaml
-%{_datadir}/inputplumber/devices/60-LogitechDualAction.yaml
-%{_datadir}/inputplumber/devices/60-flydigi_vader_4_pro.yaml
-%{_datadir}/inputplumber/devices/60-horipad_steam.yaml
-%{_datadir}/inputplumber/devices/60-ps4_gamepad.yaml
-%{_datadir}/inputplumber/devices/60-ps5_ds-edge_gamepad.yaml
-%{_datadir}/inputplumber/devices/60-ps5_ds_gamepad.yaml
-%{_datadir}/inputplumber/devices/60-switch_pro.yaml
-%{_datadir}/inputplumber/devices/60-xbox_360_gamepad.yaml
-%{_datadir}/inputplumber/devices/60-xbox_gamepad.yaml
-%{_datadir}/inputplumber/devices/60-xbox_one_bt_gamepad.yaml
-%{_datadir}/inputplumber/devices/60-xbox_one_elite_gamepad.yaml
-%{_datadir}/inputplumber/devices/60-xbox_one_gamepad.yaml
-%{_datadir}/inputplumber/devices/65-generic_gamepad.yaml
-%{_datadir}/inputplumber/devices/69-ignore_generic.yaml
-
 %dir %{_datadir}/inputplumber/capability_maps
-%{_datadir}/inputplumber/capability_maps/ally_type1.yaml
-%{_datadir}/inputplumber/capability_maps/ally_type2.yaml
-%{_datadir}/inputplumber/capability_maps/anbernic_type1.yaml
-%{_datadir}/inputplumber/capability_maps/ayaneo_type1.yaml
-%{_datadir}/inputplumber/capability_maps/ayaneo_type2.yaml
-%{_datadir}/inputplumber/capability_maps/ayaneo_type3.yaml
-%{_datadir}/inputplumber/capability_maps/ayaneo_type4.yaml
-%{_datadir}/inputplumber/capability_maps/ayaneo_type5.yaml
-%{_datadir}/inputplumber/capability_maps/ayaneo_type6.yaml
-%{_datadir}/inputplumber/capability_maps/ayaneo_type7.yaml
-%{_datadir}/inputplumber/capability_maps/ayaneo_type8.yaml
-%{_datadir}/inputplumber/capability_maps/ayn_type1.yaml
-%{_datadir}/inputplumber/capability_maps/dinput_generic.yaml
-%{_datadir}/inputplumber/capability_maps/flow_type1.yaml
-%{_datadir}/inputplumber/capability_maps/flydigi_vader_4_pro.yaml
-%{_datadir}/inputplumber/capability_maps/gpd_menu.yaml
-%{_datadir}/inputplumber/capability_maps/gpd_type1.yaml
-%{_datadir}/inputplumber/capability_maps/gpd_type2.yaml
-%{_datadir}/inputplumber/capability_maps/gpd_type3.yaml
-%{_datadir}/inputplumber/capability_maps/gpd_type4.yaml
-%{_datadir}/inputplumber/capability_maps/imu_generic.yaml
-%{_datadir}/inputplumber/capability_maps/logitech_dualaction.yaml
-%{_datadir}/inputplumber/capability_maps/msiclaw_type1.yaml
-%{_datadir}/inputplumber/capability_maps/msiclaw_type1_dinput.yaml
-%{_datadir}/inputplumber/capability_maps/onexplayer_type1.yaml
-%{_datadir}/inputplumber/capability_maps/onexplayer_type2.yaml
-%{_datadir}/inputplumber/capability_maps/onexplayer_type3.yaml
-%{_datadir}/inputplumber/capability_maps/onexplayer_type4.yaml
-%{_datadir}/inputplumber/capability_maps/onexplayer_type5.yaml
-%{_datadir}/inputplumber/capability_maps/onexplayer_type6.yaml
-%{_datadir}/inputplumber/capability_maps/onexplayer_type7.yaml
-%{_datadir}/inputplumber/capability_maps/orangepi_type1.yaml
-%{_datadir}/inputplumber/capability_maps/swap_west_north.yaml
-%{_datadir}/inputplumber/capability_maps/zone_type1.yaml
-
+%{_datadir}/inputplumber/capability_maps/*.yaml
+%dir %{_datadir}/inputplumber/devices
+%{_datadir}/inputplumber/devices/*.yaml
 %dir %{_datadir}/inputplumber/profiles
-%{_datadir}/inputplumber/profiles/debug.yaml
-%{_datadir}/inputplumber/profiles/default.yaml
-%{_datadir}/inputplumber/profiles/mouse_keyboard_wasd.yaml
-%{_datadir}/inputplumber/profiles/test.yaml
-
+%{_datadir}/inputplumber/profiles/*.yaml
 %dir %{_datadir}/inputplumber/schema
-%{_datadir}/inputplumber/schema/capability_map_v1.json
-%{_datadir}/inputplumber/schema/capability_map_v2.json
-%{_datadir}/inputplumber/schema/composite_device_v1.json
-%{_datadir}/inputplumber/schema/device_profile_v1.json
-
-%{_datadir}/dbus-1/system.d/org.shadowblip.InputPlumber.conf
-
+%{_datadir}/inputplumber/schema/*.json
 %{_datadir}/polkit-1/actions/org.shadowblip.InputPlumber.policy
 %{_datadir}/polkit-1/rules.d/org.shadowblip.InputPlumber.rules
 
-%dir %{_prefix}/lib/udev/hwdb.d
-%{_prefix}/lib/udev/hwdb.d/59-inputplumber.hwdb
-%{_prefix}/lib/udev/hwdb.d/60-inputplumber-autostart.hwdb
-
-%{_prefix}/lib/udev/rules.d/90-inputplumber-autostart.rules
-%{_prefix}/lib/udev/rules.d/99-inputplumber-device-setup.rules
-
-%{_unitdir}/inputplumber.service
-%{_unitdir}/inputplumber-suspend.service

++++++ 0001-fix-compilation-Fix-Rust-1.97-clippy-build-errors.patch ++++++
>From cede0f5305a5b4bec089bafaac2e329d965dbcfe Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tobias=20G=C3=B6rgens?=
 <[email protected]>
Date: Sun, 19 Jul 2026 16:12:46 +0200
Subject: [PATCH] fix(compilation): Fix Rust 1.97 clippy build errors

---
 src/dbus/interface/mod.rs             | 2 +-
 src/drivers/iio_imu/driver.rs         | 2 +-
 src/input/composite_device/targets.rs | 4 ++--
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/dbus/interface/mod.rs b/src/dbus/interface/mod.rs
index 83afcf3..447cd3b 100644
--- a/src/dbus/interface/mod.rs
+++ b/src/dbus/interface/mod.rs
@@ -193,7 +193,7 @@ impl DBusInterfaceManager {
 impl Debug for DBusInterfaceManager {
     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
         let mut dbus_ifaces: HashMap<String, &str> = 
HashMap::with_capacity(self.dbus_ifaces.len());
-        for (key, _value) in self.dbus_ifaces.iter() {
+        for key in self.dbus_ifaces.keys() {
             dbus_ifaces.insert(key.to_string(), "<UnregisterFn>");
         }
         f.debug_struct("DBusInterfaceManager")
diff --git a/src/drivers/iio_imu/driver.rs b/src/drivers/iio_imu/driver.rs
index 1942274..9e23672 100644
--- a/src/drivers/iio_imu/driver.rs
+++ b/src/drivers/iio_imu/driver.rs
@@ -464,7 +464,7 @@ fn read_sample_rates_available(
     channels: &HashMap<String, Channel>,
     channel_type: &ChannelType,
 ) -> Vec<f64> {
-    for (_, channel) in channels.iter() {
+    for channel in channels.values() {
         if let Ok(val) = channel.attr_read_str("sampling_frequency_available") 
{
             let rates: Vec<f64> = val
                 .split_whitespace()
diff --git a/src/input/composite_device/targets.rs 
b/src/input/composite_device/targets.rs
index ab2c5b7..f433c3a 100644
--- a/src/input/composite_device/targets.rs
+++ b/src/input/composite_device/targets.rs
@@ -186,7 +186,7 @@ impl CompositeDeviceTargets {
         for (path, target) in targets_to_stop.clone().into_iter() {
             log::debug!("[{dbus_path}] Stopping old target device: {path}");
             self.target_devices.remove(&path);
-            for (_, target_devices) in 
self.target_devices_by_capability.iter_mut() {
+            for target_devices in 
self.target_devices_by_capability.values_mut() {
                 target_devices.remove(&path);
             }
             stop_tasks.spawn(async move { target.stop().await });
@@ -560,7 +560,7 @@ impl CompositeDeviceTargets {
 
             self.target_devices_suspended.push(target_type);
             self.target_devices.remove(&path);
-            for (_, target_devices) in 
self.target_devices_by_capability.iter_mut() {
+            for target_devices in 
self.target_devices_by_capability.values_mut() {
                 target_devices.remove(&path);
             }
             if let Err(e) = target.stop().await {
-- 
2.53.0


++++++ InputPlumber-0.72.0.tar.xz -> InputPlumber-0.77.7.tar.xz ++++++
++++ 16293 lines of diff (skipped)

++++++ _service ++++++
--- /var/tmp/diff_new_pack.MZXDzp/_old  2026-07-20 10:01:16.788046809 +0200
+++ /var/tmp/diff_new_pack.MZXDzp/_new  2026-07-20 10:01:16.792046943 +0200
@@ -5,7 +5,7 @@
     <param name="versionformat">@PARENT_TAG@</param>
     <param name="scm">git</param>
     <param name="changesgenerate">enable</param>
-    <param name="revision">v0.72.0</param>
+    <param name="revision">v0.77.7</param>
     <param name="versionrewrite-pattern">v(.*)</param>
   </service>
   <service name="recompress"  mode="manual">
@@ -13,7 +13,7 @@
     <param name="compression">xz</param>
   </service>
   <service name="cargo_vendor"  mode="manual">
-     <param name="srctar">InputPlumber-0.72.0.tar.xz</param>
+     <param name="srctar">InputPlumber-0.77.7.tar.xz</param>
      <param name="compression">zst</param>
      <param name="update">true</param>
   </service>

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.MZXDzp/_old  2026-07-20 10:01:16.820047885 +0200
+++ /var/tmp/diff_new_pack.MZXDzp/_new  2026-07-20 10:01:16.824048020 +0200
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param 
name="url">https://github.com/ShadowBlip/InputPlumber.git</param>
-              <param 
name="changesrevision">c4063a287e7cd399db02abe693a5e16c52f9e77a</param></service></servicedata>
+              <param 
name="changesrevision">8d9c2ac51cd349fe8b2bb5dc777c0b12960e7f21</param></service></servicedata>
 (No newline at EOF)
 

++++++ vendor.tar.zst ++++++
/work/SRC/openSUSE:Factory/inputplumber/vendor.tar.zst 
/work/SRC/openSUSE:Factory/.inputplumber.new.24530/vendor.tar.zst differ: char 
7, line 1

Reply via email to