#!/usr/bin/env bash
# afk - timed device inputs to override inactivity timers
# bind (WIP) = Super + Shift + ESC.

# Helpers
move_mouse() {
    xdotool mousemove_relative -- 50 0
}

move_keyboard() {
    xdotool keydown a
    sleep 1
    xdotool keyup a

    xdotool keydown d
    sleep 1
    xdotool keyup d
}

click() {
    xdotool click --repeat 5 --delay 100 1
}

# Modes
mode="d"

case "$1" in
-k) mode="k" ;;
-m) mode="m" ;;
-c) mode="c" ;;
esac

while true; do
    case "$mode" in
    # Keyboard case -k
    k)
        move_keyboard
        ;;

    # Mouse case -m
    m)
        move_mouse
        ;;

    # Autoclicker case -c
    c)
        click
        ;;

    # Default case
    d)
        move_mouse
        move_keyboard
        ;;
    esac

    wait=$((RANDOM % 21 + 10))
    sleep "$wait"
done
