aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas James <Eele1Ephe7uZahRie@tutanota.com>2025-03-18 21:12:41 +1100
committerNicolas James <Eele1Ephe7uZahRie@tutanota.com>2025-03-18 21:12:41 +1100
commit02292fffe0da68986ed70271cbe69d2691c0f80e (patch)
tree35954f326bf0dd5f0a8eadb0a9bf16f86f5bde6b
parent4ab8f4a49a618da71f1aa1fc6f0267d5850d8424 (diff)
Add fastmouse script
-rwxr-xr-xpatch.sh2
-rwxr-xr-xscripts/fastmouse42
-rwxr-xr-xsetup.sh2
3 files changed, 44 insertions, 2 deletions
diff --git a/patch.sh b/patch.sh
index c78e526..f8cd2a2 100755
--- a/patch.sh
+++ b/patch.sh
@@ -9,4 +9,4 @@ rm ./linux/drivers/hid/hid-input.c
cp ./src/hid-input.c ./linux/drivers/hid/hid-input.c
cd ./linux
-git diff >> ../fastmouse.patch
+git diff > ../fastmouse.patch
diff --git a/scripts/fastmouse b/scripts/fastmouse
new file mode 100755
index 0000000..238b614
--- /dev/null
+++ b/scripts/fastmouse
@@ -0,0 +1,42 @@
+#!/bin/bash
+
+default_accel="-0.90"
+
+set_pointer_accel() {
+ devices=$(busctl --user -- call \
+ org.kde.KWin \
+ /org/kde/KWin/InputDevice \
+ org.freedesktop.DBus.Properties \
+ Get ss org.kde.KWin.InputDeviceManager devicesSysNames \
+ | cut -d' ' -f4- | tr -d '"')
+
+ for device in $devices; do
+ busctl --user -- call \
+ org.kde.KWin \
+ "/org/kde/KWin/InputDevice/${device}" \
+ org.freedesktop.DBus.Properties \
+ Set ssv org.kde.KWin.InputDevice pointerAcceleration d "${1}"
+ done
+}
+
+
+division="${1}"
+if [ "${division}" -le 1 ]; then
+ printf "${0}: divisor must be more than or equal to one\n"
+ exit 1
+fi
+shift
+
+if [[ "${1}" != "--" ]]; then
+ printf "Usage: ${0} [divisor] -- [command...]\n"
+ exit 1
+fi
+shift
+
+sudo su -c "echo ${division} > /sys/module/hid/parameters/division"
+set_pointer_accel $(echo "((1.0 + ${default_accel}) * ${division}) - 1.0" | bc)
+
+"${@}"
+
+sudo su -c "echo 1 > /sys/module/hid/parameters/division"
+set_pointer_accel "${default_accel}"
diff --git a/setup.sh b/setup.sh
index e94e68a..3b01dde 100755
--- a/setup.sh
+++ b/setup.sh
@@ -4,6 +4,6 @@
set -x
-rm "${PWD}"/linux/drivers/hid/hid-input.c
+rm ./linux/drivers/hid/hid-input.c
ln -s "${PWD}"/src/hid-input.c "${PWD}"/linux/drivers/hid/hid-input.c