#!/bin/bash
# ddctoggle - DDC/CI (Display Data Channel / Command Interface) Toggle
bmax=100
bmin=0
cmax=100
cmed=15
cmin=5

[ -z "$DEV" ] && DEV="10"

ddc () {
    CTL="0x$1"
    DEVICE="dev:/dev/i2c-$DEV"

    if [ -z "$2" ]; then
        ddccontrol -r "$CTL" "$DEVICE" \
            | grep "Control $CTL:" \
            | awk -F'/' '{print $2}'
    else
        ddccontrol -r "$CTL" -w "$2" "$DEVICE"
    fi
}

b=$(ddc 10)
c=$(ddc 12)

if [ "$c" -eq "$cmax" ]; then
    ddc 10 "$bmin"
    ddc 12 "$cmed"

elif [ "$c" -eq "$cmed" ]; then
    ddc 10 "$bmin"
    ddc 12 "$cmin"

else
    ddc 10 "$bmax"
    ddc 12 "$cmax"
fi
