i did my own take on this, but made it in bash
#!/bin/bash
brightness=$(cat /sys/class/backlight/backlight@0/brightness)
maxBrightness=$(cat /sys/class/backlight/backlight@0/max_brightness)
if (( $1 > 0 ))
then
if (($brightness+$1 < $maxBrightness))
then
echo $(($brightness+$1)) > /sys/class/backlight/backlight@0/brightness;
else
echo $maxBrightness > /sys/class/backlight/backlight@0/brightness
fi;
else
if (($brightness > 0))
then
if (($brightness-$2 > 0))
then
echo $(($brightness-$2)) > /sys/class/backlight/backlight@0/brightness;
else
echo 0 > /sys/class/backlight/backlight@0/brightness;
fi;
fi;
fi;
in my i3 config i use this to change my brightness
bindsym XF86MonBrightnessUp exec /home/$USER/scripts/backlight 2 0
bindsym XF86MonBrightnessDown exec /home/$USER/scripts/backlight 0 2
the first argument determines how much to increase brightness by. if its 0 then it will take the second argument as how much to decrease brightness by