Script 'mail_helper' called by obssrc
Hello community,

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

Package is "extest"

Mon Jul 20 09:59:07 2026 rev:3 rq:1366608 version:1.0.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/extest/extest.changes    2025-09-01 
17:18:21.071349502 +0200
+++ /work/SRC/openSUSE:Factory/.extest.new.24530/extest.changes 2026-07-20 
10:01:04.563635417 +0200
@@ -1,0 +2,8 @@
+Sun Jul 19 13:52:16 UTC 2026 - Tobias Görgens <[email protected]>
+
+- Update to version 1.0.3:
+  * Support SIDE and EXTRA mouse buttons
+  * Update dependencies
+  * Fixed warning about redundancy. cliippy lint
+
+-------------------------------------------------------------------

Old:
----
  extest-1+git20241105.1a419a1.tar.xz

New:
----
  _servicedata
  extest-1.0.3.tar.xz

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

Other differences:
------------------
++++++ extest.spec ++++++
--- /var/tmp/diff_new_pack.9ULW8D/_old  2026-07-20 10:01:05.615670822 +0200
+++ /var/tmp/diff_new_pack.9ULW8D/_new  2026-07-20 10:01:05.619670957 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           extest
-Version:        1+git20241105.1a419a1
+Version:        1.0.3
 Release:        0
 Summary:        X11 XTEST reimplementation primarily for Steam Controller on 
Wayland
 License:        MIT

++++++ _service ++++++
--- /var/tmp/diff_new_pack.9ULW8D/_old  2026-07-20 10:01:05.655672168 +0200
+++ /var/tmp/diff_new_pack.9ULW8D/_new  2026-07-20 10:01:05.659672303 +0200
@@ -2,17 +2,17 @@
 <services>
   <service name="tar_scm" mode="manual">
     <param name="url">https://github.com/Supreeeme/extest.git</param>
-    <param name="versionformat">1+git%cd.%h</param>
+    <param name="versionformat">@PARENT_TAG@</param>
     <param name="scm">git</param>
     <param name="changesgenerate">enable</param>
-    <param name="revision">main</param>
+    <param name="revision">1.0.3</param>
   </service>
   <service name="recompress"  mode="manual">
     <param name="file">*.tar</param>
     <param name="compression">xz</param>
   </service>
   <service name="cargo_vendor"  mode="manual">
-     <param name="srctar">extest-1+git20241105.1a419a1.tar.xz</param>
+     <param name="srctar">extest-1.0.3.tar.xz</param>
      <param name="compression">zst</param>
      <param name="update">true</param>
   </service>

++++++ _servicedata ++++++
<servicedata>
<service name="tar_scm">
                <param 
name="url">https://github.com/Supreeeme/extest.git</param>
              <param 
name="changesrevision">0d068672fdaefd6f6565036ddd8e6949ee82eb63</param></service></servicedata>
(No newline at EOF)

++++++ extest-1+git20241105.1a419a1.tar.xz -> extest-1.0.3.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/extest-1+git20241105.1a419a1/Cargo.lock 
new/extest-1.0.3/Cargo.lock
--- old/extest-1+git20241105.1a419a1/Cargo.lock 2024-11-06 02:04:23.000000000 
+0100
+++ new/extest-1.0.3/Cargo.lock 2025-09-03 03:18:41.000000000 +0200
@@ -1,12 +1,12 @@
 # This file is automatically @generated by Cargo.
 # It is not intended for manual editing.
-version = 3
+version = 4
 
 [[package]]
 name = "autocfg"
-version = "1.1.0"
+version = "1.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
 
 [[package]]
 name = "bitflags"
@@ -15,6 +15,12 @@
 checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
+name = "bitflags"
+version = "2.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "2261d10cca569e4643e526d8dc2e62e433cc8aba21ab764233731f8d369bf394"
+
+[[package]]
 name = "bitvec"
 version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
@@ -28,18 +34,25 @@
 
 [[package]]
 name = "cc"
-version = "1.0.83"
+version = "1.2.35"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
+checksum = "590f9024a68a8c40351881787f1934dc11afd69090f5edb6831464694d836ea3"
 dependencies = [
- "libc",
+ "find-msvc-tools",
+ "shlex",
 ]
 
 [[package]]
 name = "cfg-if"
-version = "1.0.0"
+version = "1.0.3"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+checksum = "2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9"
+
+[[package]]
+name = "cfg_aliases"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724"
 
 [[package]]
 name = "dlib"
@@ -52,21 +65,20 @@
 
 [[package]]
 name = "downcast-rs"
-version = "1.2.0"
+version = "1.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650"
+checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2"
 
 [[package]]
 name = "evdev"
-version = "0.12.1"
+version = "0.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "2bed59fcc8cfd6b190814a509018388462d3b203cf6dd10db5c00087e72a83f3"
+checksum = "a3c10865aeab1a7399b3c2d6046e8dcc7f5227b656f235ed63ef5ee45a47b8f8"
 dependencies = [
  "bitvec",
  "cfg-if",
  "libc",
- "nix 0.23.2",
- "thiserror",
+ "nix 0.29.0",
 ]
 
 [[package]]
@@ -80,6 +92,12 @@
 ]
 
 [[package]]
+name = "find-msvc-tools"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "e178e4fba8a2726903f6ba98a6d221e76f9c12c650d5dc0e6afdc50677b49650"
+
+[[package]]
 name = "funty"
 version = "2.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
@@ -87,9 +105,9 @@
 
 [[package]]
 name = "hermit-abi"
-version = "0.3.3"
+version = "0.3.9"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7"
+checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
 
 [[package]]
 name = "io-lifetimes"
@@ -104,40 +122,31 @@
 
 [[package]]
 name = "libc"
-version = "0.2.150"
+version = "0.2.175"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c"
+checksum = "6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543"
 
 [[package]]
 name = "libloading"
-version = "0.8.1"
+version = "0.8.8"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "c571b676ddfc9a8c12f1f3d3085a7b163966a8fd8098a90640953ce5f6170161"
+checksum = "07033963ba89ebaf1584d767badaa2e8fcec21aedea6b8c0346d487d49c28667"
 dependencies = [
  "cfg-if",
- "windows-sys",
+ "windows-targets 0.53.3",
 ]
 
 [[package]]
 name = "log"
-version = "0.4.20"
+version = "0.4.27"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
+checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94"
 
 [[package]]
 name = "memchr"
-version = "2.6.4"
-source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167"
-
-[[package]]
-name = "memoffset"
-version = "0.6.5"
+version = "2.7.5"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce"
-dependencies = [
- "autocfg",
-]
+checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0"
 
 [[package]]
 name = "memoffset"
@@ -150,46 +159,45 @@
 
 [[package]]
 name = "nix"
-version = "0.23.2"
+version = "0.26.4"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "8f3790c00a0150112de0f4cd161e3d7fc4b2d8a5542ffc35f099a2562aecb35c"
+checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b"
 dependencies = [
- "bitflags",
- "cc",
+ "bitflags 1.3.2",
  "cfg-if",
  "libc",
- "memoffset 0.6.5",
+ "memoffset",
 ]
 
 [[package]]
 name = "nix"
-version = "0.26.4"
+version = "0.29.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b"
+checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46"
 dependencies = [
- "bitflags",
+ "bitflags 2.9.4",
  "cfg-if",
+ "cfg_aliases",
  "libc",
- "memoffset 0.7.1",
 ]
 
 [[package]]
 name = "once_cell"
-version = "1.18.0"
+version = "1.21.3"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
+checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
 
 [[package]]
 name = "pkg-config"
-version = "0.3.27"
+version = "0.3.32"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
+checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c"
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.70"
+version = "1.0.101"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b"
+checksum = "89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de"
 dependencies = [
  "unicode-ident",
 ]
@@ -205,9 +213,9 @@
 
 [[package]]
 name = "quote"
-version = "1.0.33"
+version = "1.0.40"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
+checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d"
 dependencies = [
  "proc-macro2",
 ]
@@ -225,21 +233,16 @@
 checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294"
 
 [[package]]
-name = "smallvec"
-version = "1.11.2"
+name = "shlex"
+version = "1.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970"
+checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
 
 [[package]]
-name = "syn"
-version = "2.0.39"
+name = "smallvec"
+version = "1.15.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a"
-dependencies = [
- "proc-macro2",
- "quote",
- "unicode-ident",
-]
+checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03"
 
 [[package]]
 name = "tap"
@@ -248,30 +251,10 @@
 checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
 
 [[package]]
-name = "thiserror"
-version = "1.0.50"
-source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2"
-dependencies = [
- "thiserror-impl",
-]
-
-[[package]]
-name = "thiserror-impl"
-version = "1.0.50"
-source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
 name = "unicode-ident"
-version = "1.0.12"
+version = "1.0.18"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
+checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512"
 
 [[package]]
 name = "wayland-backend"
@@ -294,7 +277,7 @@
 source = "registry+https://github.com/rust-lang/crates.io-index";
 checksum = "489c9654770f674fc7e266b3c579f4053d7551df0ceb392f153adb1f9ed06ac8"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "nix 0.26.4",
  "wayland-backend",
  "wayland-scanner",
@@ -306,7 +289,7 @@
 source = "registry+https://github.com/rust-lang/crates.io-index";
 checksum = "3b28101e5ca94f70461a6c2d610f76d85ad223d042dd76585ab23d3422dd9b4d"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "wayland-backend",
  "wayland-client",
  "wayland-scanner",
@@ -335,12 +318,18 @@
 ]
 
 [[package]]
+name = "windows-link"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a"
+
+[[package]]
 name = "windows-sys"
 version = "0.48.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
 dependencies = [
- "windows-targets",
+ "windows-targets 0.48.5",
 ]
 
 [[package]]
@@ -349,13 +338,30 @@
 source = "registry+https://github.com/rust-lang/crates.io-index";
 checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
 dependencies = [
- "windows_aarch64_gnullvm",
- "windows_aarch64_msvc",
- "windows_i686_gnu",
- "windows_i686_msvc",
- "windows_x86_64_gnu",
- "windows_x86_64_gnullvm",
- "windows_x86_64_msvc",
+ "windows_aarch64_gnullvm 0.48.5",
+ "windows_aarch64_msvc 0.48.5",
+ "windows_i686_gnu 0.48.5",
+ "windows_i686_msvc 0.48.5",
+ "windows_x86_64_gnu 0.48.5",
+ "windows_x86_64_gnullvm 0.48.5",
+ "windows_x86_64_msvc 0.48.5",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.53.3"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "d5fe6031c4041849d7c496a8ded650796e7b6ecc19df1a431c1a363342e5dc91"
+dependencies = [
+ "windows-link",
+ "windows_aarch64_gnullvm 0.53.0",
+ "windows_aarch64_msvc 0.53.0",
+ "windows_i686_gnu 0.53.0",
+ "windows_i686_gnullvm",
+ "windows_i686_msvc 0.53.0",
+ "windows_x86_64_gnu 0.53.0",
+ "windows_x86_64_gnullvm 0.53.0",
+ "windows_x86_64_msvc 0.53.0",
 ]
 
 [[package]]
@@ -365,42 +371,90 @@
 checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
 
 [[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.53.0"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764"
+
+[[package]]
 name = "windows_aarch64_msvc"
 version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
 
 [[package]]
+name = "windows_aarch64_msvc"
+version = "0.53.0"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c"
+
+[[package]]
 name = "windows_i686_gnu"
 version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
 
 [[package]]
+name = "windows_i686_gnu"
+version = "0.53.0"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3"
+
+[[package]]
+name = "windows_i686_gnullvm"
+version = "0.53.0"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11"
+
+[[package]]
 name = "windows_i686_msvc"
 version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
 
 [[package]]
+name = "windows_i686_msvc"
+version = "0.53.0"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d"
+
+[[package]]
 name = "windows_x86_64_gnu"
 version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
 
 [[package]]
+name = "windows_x86_64_gnu"
+version = "0.53.0"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba"
+
+[[package]]
 name = "windows_x86_64_gnullvm"
 version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
 
 [[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.53.0"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57"
+
+[[package]]
 name = "windows_x86_64_msvc"
 version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
 
 [[package]]
+name = "windows_x86_64_msvc"
+version = "0.53.0"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486"
+
+[[package]]
 name = "wyz"
 version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/extest-1+git20241105.1a419a1/Cargo.toml 
new/extest-1.0.3/Cargo.toml
--- old/extest-1+git20241105.1a419a1/Cargo.toml 2024-11-06 02:04:23.000000000 
+0100
+++ new/extest-1.0.3/Cargo.toml 2025-09-03 03:18:41.000000000 +0200
@@ -7,7 +7,7 @@
 crate-type = ['cdylib']
 
 [dependencies]
-evdev = "0.12.1"
+evdev = "0.13.1"
 once_cell = "1.17.1"
 wayland-client = "0.30.1"
 wayland-protocols = { version = "0.30.0", features = ["client", "unstable"] }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/extest-1+git20241105.1a419a1/src/lib.rs 
new/extest-1.0.3/src/lib.rs
--- old/extest-1+git20241105.1a419a1/src/lib.rs 2024-11-06 02:04:23.000000000 
+0100
+++ new/extest-1.0.3/src/lib.rs 2025-09-03 03:18:41.000000000 +0200
@@ -5,9 +5,8 @@
 use wayland::get_axes_range;
 
 use evdev::{
-    uinput::{VirtualDevice, VirtualDeviceBuilder},
-    AbsInfo, AbsoluteAxisType, AttributeSet, EventType, InputEvent, Key, 
RelativeAxisType,
-    UinputAbsSetup,
+    uinput::VirtualDevice, AbsInfo, AbsoluteAxisCode, AttributeSet, EventType, 
InputEvent, KeyCode,
+    RelativeAxisCode, UinputAbsSetup,
 };
 use once_cell::sync::Lazy;
 use std::ffi::{c_int, c_uint, c_ulong};
@@ -23,30 +22,34 @@
 static DEVICE: Lazy<Mutex<VirtualDevice>> = Lazy::new(|| {
     let size = get_axes_range();
     Mutex::new(
-        VirtualDeviceBuilder::new()
+        VirtualDevice::builder()
             .unwrap()
             .name("extest fake device")
             .with_keys(&AttributeSet::from_iter(
-                [Key::BTN_LEFT, Key::BTN_RIGHT, Key::BTN_MIDDLE]
-                    .into_iter()
-                    .chain(KEYS.iter().copied()),
-            ))
-            .unwrap()
-            .with_relative_axes(&AttributeSet::from_iter(
                 [
-                    RelativeAxisType::REL_X,
-                    RelativeAxisType::REL_Y,
-                    RelativeAxisType::REL_WHEEL,
+                    KeyCode::BTN_LEFT,
+                    KeyCode::BTN_RIGHT,
+                    KeyCode::BTN_MIDDLE,
+                    KeyCode::BTN_EXTRA,
+                    KeyCode::BTN_SIDE,
                 ]
+                .into_iter()
+                .chain(KEYS.iter().copied()),
             ))
             .unwrap()
+            .with_relative_axes(&AttributeSet::from_iter([
+                RelativeAxisCode::REL_X,
+                RelativeAxisCode::REL_Y,
+                RelativeAxisCode::REL_WHEEL,
+            ]))
+            .unwrap()
             .with_absolute_axis(&UinputAbsSetup::new(
-                AbsoluteAxisType::ABS_X,
+                AbsoluteAxisCode::ABS_X,
                 AbsInfo::new(0, 0, size.width, 0, 0, 1),
             ))
             .unwrap()
             .with_absolute_axis(&UinputAbsSetup::new(
-                AbsoluteAxisType::ABS_Y,
+                AbsoluteAxisCode::ABS_Y,
                 AbsInfo::new(0, 0, size.height, 0, 0, 1),
             ))
             .unwrap()
@@ -66,15 +69,19 @@
 
     // Seems that X11 keycodes are just 8 + linux keycode - 
https://wiki.archlinux.org/title/Keyboard_input#Identifying_keycodes
     let key = match keycode {
-        156 => Key::KEY_TAB, // I have no idea where this comes from
-        keycode => Key::new((keycode - 8) as u16),
+        156 => KeyCode::KEY_TAB, // I have no idea where this comes from
+        keycode => KeyCode::new((keycode - 8) as u16),
     };
 
     #[cfg(debug_assertions)]
     println!("emitting keycode {key:?}");
 
-    dev.emit(&[InputEvent::new_now(EventType::KEY, key.0, is_press as i32)])
-        .unwrap();
+    dev.emit(&[InputEvent::new_now(
+        EventType::KEY.0,
+        key.0,
+        is_press as i32,
+    )])
+    .unwrap();
     1
 }
 
@@ -85,6 +92,8 @@
     RightClick = 3,
     ScrollUp = 4,
     ScrollDown = 5,
+    Side = 8,
+    Extra = 9,
 }
 
 impl TryFrom<u32> for MouseButtons {
@@ -97,6 +106,8 @@
             3 => Ok(RightClick),
             4 => Ok(ScrollUp),
             5 => Ok(ScrollDown),
+            8 => Ok(Side),
+            9 => Ok(Extra),
             other => Err(other),
         }
     }
@@ -112,9 +123,11 @@
     let mut dev = DEVICE.lock().unwrap();
     // values determined via xev
     let key = match button.try_into() {
-        Ok(MouseButtons::LeftClick) => Key::BTN_LEFT,
-        Ok(MouseButtons::MiddleClick) => Key::BTN_MIDDLE,
-        Ok(MouseButtons::RightClick) => Key::BTN_RIGHT,
+        Ok(MouseButtons::LeftClick) => KeyCode::BTN_LEFT,
+        Ok(MouseButtons::MiddleClick) => KeyCode::BTN_MIDDLE,
+        Ok(MouseButtons::RightClick) => KeyCode::BTN_RIGHT,
+        Ok(MouseButtons::Side) => KeyCode::BTN_SIDE,
+        Ok(MouseButtons::Extra) => KeyCode::BTN_EXTRA,
         Ok(MouseButtons::ScrollUp | MouseButtons::ScrollDown) => {
             // These are sent with is_press true and is_press false like the 
other buttons,
             // but we only care about is_press because an "unpressed" scroll 
event doesn't make
@@ -126,8 +139,8 @@
                     _ => unreachable!(),
                 };
                 dev.emit(&[InputEvent::new_now(
-                    EventType::RELATIVE,
-                    RelativeAxisType::REL_WHEEL.0,
+                    EventType::RELATIVE.0,
+                    RelativeAxisCode::REL_WHEEL.0,
                     value,
                 )])
                 .unwrap();
@@ -140,8 +153,14 @@
         }
     };
 
-    dev.emit(&[InputEvent::new_now(EventType::KEY, key.0, is_press as i32)])
-        .unwrap();
+    #[cfg(debug_assertions)]
+    println!("emitting mouse button {key:?}");
+    dev.emit(&[InputEvent::new_now(
+        EventType::KEY.0,
+        key.0,
+        is_press as i32,
+    )])
+    .unwrap();
     1
 }
 
@@ -154,8 +173,8 @@
 ) -> c_int {
     let mut dev = DEVICE.lock().unwrap();
     let events = [
-        InputEvent::new_now(EventType::RELATIVE, RelativeAxisType::REL_X.0, x),
-        InputEvent::new_now(EventType::RELATIVE, RelativeAxisType::REL_Y.0, y),
+        InputEvent::new_now(EventType::RELATIVE.0, RelativeAxisCode::REL_X.0, 
x),
+        InputEvent::new_now(EventType::RELATIVE.0, RelativeAxisCode::REL_Y.0, 
y),
     ];
     dev.emit(&events).unwrap();
     1
@@ -171,8 +190,8 @@
 ) -> c_int {
     let mut dev = DEVICE.lock().unwrap();
     let events = [
-        InputEvent::new_now(EventType::ABSOLUTE, AbsoluteAxisType::ABS_X.0, x),
-        InputEvent::new_now(EventType::ABSOLUTE, AbsoluteAxisType::ABS_Y.0, y),
+        InputEvent::new_now(EventType::ABSOLUTE.0, AbsoluteAxisCode::ABS_X.0, 
x),
+        InputEvent::new_now(EventType::ABSOLUTE.0, AbsoluteAxisCode::ABS_Y.0, 
y),
     ];
     dev.emit(&events).unwrap();
     1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/extest-1+git20241105.1a419a1/src/steam_keys.rs 
new/extest-1.0.3/src/steam_keys.rs
--- old/extest-1+git20241105.1a419a1/src/steam_keys.rs  2024-11-06 
02:04:23.000000000 +0100
+++ new/extest-1.0.3/src/steam_keys.rs  2025-09-03 03:18:41.000000000 +0200
@@ -1,130 +1,130 @@
-use evdev::Key;
+use evdev::KeyCode;
 
 // Every key that Big Picture allows binding.
 
-pub const KEYS: &[Key] = &[
-    Key::KEY_ESC,
-    Key::KEY_F1,
-    Key::KEY_F2,
-    Key::KEY_F3,
-    Key::KEY_F4,
-    Key::KEY_F5,
-    Key::KEY_F6,
-    Key::KEY_F7,
-    Key::KEY_F8,
-    Key::KEY_F9,
-    Key::KEY_F10,
-    Key::KEY_F11,
-    Key::KEY_F12,
-
-    Key::KEY_GRAVE, // `
-    Key::KEY_1,
-    Key::KEY_2,
-    Key::KEY_3,
-    Key::KEY_4,
-    Key::KEY_5,
-    Key::KEY_6,
-    Key::KEY_7,
-    Key::KEY_8,
-    Key::KEY_9,
-    Key::KEY_0,
-    Key::KEY_MINUS,
-    Key::KEY_EQUAL,
-    Key::KEY_BACKSPACE,
-
-    Key::KEY_TAB,
-    Key::KEY_Q,
-    Key::KEY_W,
-    Key::KEY_E,
-    Key::KEY_R,
-    Key::KEY_T,
-    Key::KEY_Y,
-    Key::KEY_U,
-    Key::KEY_I,
-    Key::KEY_O,
-    Key::KEY_P,
-    Key::KEY_LEFTBRACE,
-    Key::KEY_RIGHTBRACE,
-    Key::KEY_BACKSLASH,
-
-    Key::KEY_CAPSLOCK,
-    Key::KEY_A,
-    Key::KEY_S,
-    Key::KEY_D,
-    Key::KEY_F,
-    Key::KEY_G,
-    Key::KEY_H,
-    Key::KEY_J,
-    Key::KEY_K,
-    Key::KEY_L,
-    Key::KEY_SEMICOLON,
-    Key::KEY_APOSTROPHE,
-    Key::KEY_ENTER,
-
-    Key::KEY_LEFTSHIFT,
-    Key::KEY_Z,
-    Key::KEY_X,
-    Key::KEY_C,
-    Key::KEY_V,
-    Key::KEY_B,
-    Key::KEY_N,
-    Key::KEY_M,
-    Key::KEY_COMMA,
-    Key::KEY_DOT,
-    Key::KEY_SLASH,
-    Key::KEY_RIGHTSHIFT,
-
-    Key::KEY_LEFTCTRL,
-    Key::KEY_RIGHTCTRL,
-    Key::KEY_LEFTMETA,
-    Key::KEY_LEFTALT,
-    Key::KEY_SPACE,
-    Key::KEY_RIGHTALT,
-
-    Key::KEY_VOLUMEUP,
-    Key::KEY_VOLUMEDOWN,
-    Key::KEY_MUTE,
-    Key::KEY_PLAY,
-    Key::KEY_STOP,
-    Key::KEY_NEXT,
-    Key::KEY_PREVIOUS,
-    Key::KEY_PREVIOUSSONG,
-    Key::KEY_NEXTSONG,
-    Key::KEY_PLAYPAUSE,
-    Key::KEY_INSERT,
-    Key::KEY_HOME,
-    Key::KEY_PAGEUP,
-    Key::KEY_DELETE,
-    Key::KEY_END,
-    Key::KEY_PAGEDOWN,
-
-    Key::KEY_UP,
-    Key::KEY_LEFT,
-    Key::KEY_RIGHT,
-    Key::KEY_DOWN,
-
-    Key::KEY_NUMLOCK,
-    Key::KEY_KPSLASH,
-    Key::KEY_KPASTERISK,
-    Key::KEY_KPMINUS,
-
-    Key::KEY_KP7,
-    Key::KEY_KP8,
-    Key::KEY_KP9,
-    Key::KEY_KPPLUS,
-
-    Key::KEY_KP4,
-    Key::KEY_KP5,
-    Key::KEY_KP6,
-
-    Key::KEY_KP1,
-    Key::KEY_KP2,
-    Key::KEY_KP3,
-    Key::KEY_KPENTER,
-
-    Key::KEY_KP0,
-    Key::KEY_KPDOT,
-    Key::KEY_KPLEFTPAREN,
-    Key::KEY_KPRIGHTPAREN,
-    Key::KEY_102ND, // Output by < (less than key)
+pub const KEYS: &[KeyCode] = &[
+    KeyCode::KEY_ESC,
+    KeyCode::KEY_F1,
+    KeyCode::KEY_F2,
+    KeyCode::KEY_F3,
+    KeyCode::KEY_F4,
+    KeyCode::KEY_F5,
+    KeyCode::KEY_F6,
+    KeyCode::KEY_F7,
+    KeyCode::KEY_F8,
+    KeyCode::KEY_F9,
+    KeyCode::KEY_F10,
+    KeyCode::KEY_F11,
+    KeyCode::KEY_F12,
+
+    KeyCode::KEY_GRAVE, // `
+    KeyCode::KEY_1,
+    KeyCode::KEY_2,
+    KeyCode::KEY_3,
+    KeyCode::KEY_4,
+    KeyCode::KEY_5,
+    KeyCode::KEY_6,
+    KeyCode::KEY_7,
+    KeyCode::KEY_8,
+    KeyCode::KEY_9,
+    KeyCode::KEY_0,
+    KeyCode::KEY_MINUS,
+    KeyCode::KEY_EQUAL,
+    KeyCode::KEY_BACKSPACE,
+
+    KeyCode::KEY_TAB,
+    KeyCode::KEY_Q,
+    KeyCode::KEY_W,
+    KeyCode::KEY_E,
+    KeyCode::KEY_R,
+    KeyCode::KEY_T,
+    KeyCode::KEY_Y,
+    KeyCode::KEY_U,
+    KeyCode::KEY_I,
+    KeyCode::KEY_O,
+    KeyCode::KEY_P,
+    KeyCode::KEY_LEFTBRACE,
+    KeyCode::KEY_RIGHTBRACE,
+    KeyCode::KEY_BACKSLASH,
+
+    KeyCode::KEY_CAPSLOCK,
+    KeyCode::KEY_A,
+    KeyCode::KEY_S,
+    KeyCode::KEY_D,
+    KeyCode::KEY_F,
+    KeyCode::KEY_G,
+    KeyCode::KEY_H,
+    KeyCode::KEY_J,
+    KeyCode::KEY_K,
+    KeyCode::KEY_L,
+    KeyCode::KEY_SEMICOLON,
+    KeyCode::KEY_APOSTROPHE,
+    KeyCode::KEY_ENTER,
+
+    KeyCode::KEY_LEFTSHIFT,
+    KeyCode::KEY_Z,
+    KeyCode::KEY_X,
+    KeyCode::KEY_C,
+    KeyCode::KEY_V,
+    KeyCode::KEY_B,
+    KeyCode::KEY_N,
+    KeyCode::KEY_M,
+    KeyCode::KEY_COMMA,
+    KeyCode::KEY_DOT,
+    KeyCode::KEY_SLASH,
+    KeyCode::KEY_RIGHTSHIFT,
+
+    KeyCode::KEY_LEFTCTRL,
+    KeyCode::KEY_RIGHTCTRL,
+    KeyCode::KEY_LEFTMETA,
+    KeyCode::KEY_LEFTALT,
+    KeyCode::KEY_SPACE,
+    KeyCode::KEY_RIGHTALT,
+
+    KeyCode::KEY_VOLUMEUP,
+    KeyCode::KEY_VOLUMEDOWN,
+    KeyCode::KEY_MUTE,
+    KeyCode::KEY_PLAY,
+    KeyCode::KEY_STOP,
+    KeyCode::KEY_NEXT,
+    KeyCode::KEY_PREVIOUS,
+    KeyCode::KEY_PREVIOUSSONG,
+    KeyCode::KEY_NEXTSONG,
+    KeyCode::KEY_PLAYPAUSE,
+    KeyCode::KEY_INSERT,
+    KeyCode::KEY_HOME,
+    KeyCode::KEY_PAGEUP,
+    KeyCode::KEY_DELETE,
+    KeyCode::KEY_END,
+    KeyCode::KEY_PAGEDOWN,
+
+    KeyCode::KEY_UP,
+    KeyCode::KEY_LEFT,
+    KeyCode::KEY_RIGHT,
+    KeyCode::KEY_DOWN,
+
+    KeyCode::KEY_NUMLOCK,
+    KeyCode::KEY_KPSLASH,
+    KeyCode::KEY_KPASTERISK,
+    KeyCode::KEY_KPMINUS,
+
+    KeyCode::KEY_KP7,
+    KeyCode::KEY_KP8,
+    KeyCode::KEY_KP9,
+    KeyCode::KEY_KPPLUS,
+
+    KeyCode::KEY_KP4,
+    KeyCode::KEY_KP5,
+    KeyCode::KEY_KP6,
+
+    KeyCode::KEY_KP1,
+    KeyCode::KEY_KP2,
+    KeyCode::KEY_KP3,
+    KeyCode::KEY_KPENTER,
+
+    KeyCode::KEY_KP0,
+    KeyCode::KEY_KPDOT,
+    KeyCode::KEY_KPLEFTPAREN,
+    KeyCode::KEY_KPRIGHTPAREN,
+    KeyCode::KEY_102ND, // Output by < (less than key)
 ];

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

Reply via email to