Add desktopenvs/hyprland/scripts/hyprland-toggle-touchpad.sh

main
The_miro 2025-11-28 10:47:15 +01:00
parent 9d6c00265d
commit 69dbe41a1c
1 changed files with 40 additions and 0 deletions

View File

@ -0,0 +1,40 @@
#!/usr/bin/env bash
STATUS_FILE="$XDG_RUNTIME_DIR/touchpad.status"
# Detect touchpad name dynamically
TOUCHPAD_NAME=$(hyprctl devices | awk '/type: touchpad/{getline; print $2; exit}')
TOUCHPAD_KEYWORD="device:${TOUCHPAD_NAME}:enabled"
# Functions
enable_touchpad() {
printf "true" >"$STATUS_FILE"
notify-send -u normal "Touchpad Enabled"
hyprctl keyword "$TOUCHPAD_KEYWORD" "true" -r
}
disable_touchpad() {
printf "false" >"$STATUS_FILE"
notify-send -u normal "Touchpad Disabled"
hyprctl keyword "$TOUCHPAD_KEYWORD" "false" -r
}
# Get current state from Hyprland (1 = enabled, 0 = disabled)
CURRENT_STATE=$(hyprctl getoption "$TOUCHPAD_KEYWORD" | grep "int:" | awk '{print $2}')
# Initialize status file if missing
if ! [ -f "$STATUS_FILE" ]; then
if [ "$CURRENT_STATE" -eq 1 ]; then
printf "true" >"$STATUS_FILE"
else
printf "false" >"$STATUS_FILE"
fi
fi
# Toggle based on status file
if [ "$(cat "$STATUS_FILE")" = "true" ]; then
disable_touchpad
else
enable_touchpad
fi