Dynamically find relevant trackman marble prop ids

main
Dan Buch 6 years ago
parent 9bc084277b
commit 5d81ebd4fa
Signed by: meatballhat
GPG Key ID: 9685130D8B763EA7

@ -4,27 +4,49 @@ set -o errexit
main() { main() {
export RUNNING_AS="${RUNNING_AS:-me}" export RUNNING_AS="${RUNNING_AS:-me}"
export RUNNING_AS_ID="$(id -u "${RUNNING_AS}")" export RUNNING_AS_ID="$(id -u "${RUNNING_AS}")"
export XINPUT_EXE="${XINPUT_EXE:=xinput}"
export XAUTHORITY="/home/${RUNNING_AS}/.Xauthority" export XAUTHORITY="/home/${RUNNING_AS}/.Xauthority"
export DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/${RUNNING_AS_ID}/bus" export DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/${RUNNING_AS_ID}/bus"
export DISPLAY=:0 export DISPLAY=:0
export HOME="/home/${RUNNING_AS}" export HOME="/home/${RUNNING_AS}"
local device_id local device_id
device_id="$(__get_device_id)" device_id="$(__get_device_id)"
# libinput Natural Scrolling Enabled (282) local natscroll_enabled
/usr/bin/sudo -E -u "${RUNNING_AS}" \ natscroll_enabled="$(
/usr/sbin/xinput set-prop "${device_id}" 282 1 __get_prop_id "${device_id}" 'Natural Scrolling Enabled'
)"
local scrollmeth_enabled
scrollmeth_enabled="$(
__get_prop_id "${device_id}" 'Scroll Method Enabled'
)"
# libinput Scroll Method Enabled (285) __run_xinput_as set-prop "${device_id}" "${natscroll_enabled}" 1
/usr/bin/sudo -E -u "${RUNNING_AS}" \ __run_xinput_as set-prop "${device_id}" "${scrollmeth_enabled}" 0 0 1
/usr/sbin/xinput set-prop "${device_id}" 285 0 0 1
} }
__get_device_id() { __get_device_id() {
/usr/bin/sudo -E -u "${RUNNING_AS}" /usr/sbin/xinput list | __run_xinput_as list |
awk '/Logitech USB Trackball/ { sub(/id=/, "", $6); print $6 }' awk '/Logitech USB Trackball/ { sub(/id=/, "", $6); print $6 }'
} }
__get_prop_id() {
local device_id="${1}"
local propmatch="${2}"
__run_xinput_as list-props "${device_id}" |
awk -F: '/'"${propmatch}"' \([0-9]+\)/ {
sub(/.+\(/, "", $1);
sub(/\).*/, "", $1);
print $1;
}'
}
__run_xinput_as() {
sudo -E -u "${RUNNING_AS}" "${XINPUT_EXE}" "${@}"
}
main "${@}" main "${@}"

Loading…
Cancel
Save