#!/bin/bash # Adjust keyboard backlight brightness using available steps. # Usage: omarchy-brightness-keyboard direction="${1:-up}" # Find keyboard backlight device (look for *kbd_backlight* pattern in leds class). device="" for candidate in /sys/class/leds/*kbd_backlight*; do if [[ -e "$candidate" ]]; then device="$(basename "$candidate")" break fi done if [[ -z "$device" ]]; then echo "No keyboard backlight device found" >&2 exit 1 fi # Get current and max brightness to determine step size. max_brightness="$(brightnessctl -d "$device" max)" current_brightness="$(brightnessctl -d "$device" get)" # Calculate step as one unit (keyboards typically have discrete levels like 0-3). if [[ "$direction" == "up" ]]; then new_brightness=$((current_brightness + 1)) [[ $new_brightness -gt $max_brightness ]] && new_brightness=$max_brightness else new_brightness=$((current_brightness - 1)) [[ $new_brightness -lt 0 ]] && new_brightness=0 fi # Set the new brightness. brightnessctl -d "$device" set "$new_brightness" >/dev/null # Use SwayOSD to display the new brightness setting. percent=$((new_brightness * 100 / max_brightness)) omarchy-swayosd-brightness "$percent"