#!/usr/bin/bash
set -eu
STATE=/run/pocketds-joymouse
mode=$(cat "$STATE" 2>/dev/null || echo off)
DEV=$(busctl --json=short call org.shadowblip.InputPlumber \
        /org/shadowblip/InputPlumber/Manager \
        org.shadowblip.InputPlumber.Manager GetCompositeDevices 2>/dev/null \
        | python3 -c 'import sys,json; d=json.load(sys.stdin); print(d["data"][0]["data"][0])' 2>/dev/null) || \
    DEV=/org/shadowblip/InputPlumber/CompositeDevice0
case "$mode" in
    on)
        busctl set-property org.shadowblip.InputPlumber "$DEV" \
            org.shadowblip.InputPlumber.CompositeDevice InterceptMode u 0
        echo off > "$STATE"
        notify-send -u low "Pocket DS" "Joystick-as-mouse: off" 2>/dev/null || true
        ;;
    *)
        busctl set-property org.shadowblip.InputPlumber "$DEV" \
            org.shadowblip.InputPlumber.CompositeDevice InterceptMode u 1
        echo on > "$STATE"
        notify-send -u low "Pocket DS" "Joystick-as-mouse: on" 2>/dev/null || true
        ;;
esac
