diff --git a/Cargo.lock b/Cargo.lock
index a2e9c7d..83b93c5 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -563,6 +563,26 @@ dependencies = [
"libc",
]
+[[package]]
+name = "input-linux"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b7e8c4821c88b95582ca69234a1d233f87e44182c42e121f740efb0bec1142e0"
+dependencies = [
+ "input-linux-sys",
+ "nix 0.29.0",
+]
+
+[[package]]
+name = "input-linux-sys"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b91b2248b0eaf0a576ef5e60b7f2107a749e705a876bc0b9fe952ac8d83a724"
+dependencies = [
+ "libc",
+ "nix 0.29.0",
+]
+
[[package]]
name = "io-lifetimes"
version = "1.0.11"
@@ -661,6 +681,18 @@ dependencies = [
"windows-sys 0.52.0",
]
+[[package]]
+name = "nix"
+version = "0.29.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46"
+dependencies = [
+ "bitflags",
+ "cfg-if",
+ "cfg_aliases",
+ "libc",
+]
+
[[package]]
name = "nix"
version = "0.30.1"
@@ -1000,10 +1032,11 @@ dependencies = [
"config",
"gio",
"inotify",
+ "input-linux",
"itertools",
"lazy_static",
"libc",
- "nix",
+ "nix 0.30.1",
"num_enum",
"regex",
"serde",
@@ -1510,7 +1543,7 @@ dependencies = [
"futures-core",
"futures-lite",
"hex",
- "nix",
+ "nix 0.30.1",
"ordered-stream",
"serde",
"serde_repr",
diff --git a/Cargo.toml b/Cargo.toml
index b9dd2aa..3599834 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -14,6 +14,7 @@ clap = { version = "4.5", default-features = false, features = ["derive", "help"
config = { version = "0.15", default-features = false, features = ["async", "ini", "toml"] }
gio = "0.20"
inotify = { version = "0.11", default-features = false, features = ["stream"] }
+input-linux = "0.7"
itertools = "0.14"
lazy_static = "1"
libc = "0.2"
diff --git a/com.steampowered.SteamOSManager1.xml b/com.steampowered.SteamOSManager1.xml
index f5b8648..f3fcd04 100644
--- a/com.steampowered.SteamOSManager1.xml
+++ b/com.steampowered.SteamOSManager1.xml
@@ -333,6 +333,15 @@
The volume for speech output. Valid values ar 0.0 for off, 10.0 for highest.
-->
+
+
+