No description
  • JavaScript 73.4%
  • Shell 21.1%
  • CSS 5.5%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-09-11 19:37:22 -03:00
extension scale color presets 2026-09-11 19:37:22 -03:00
udev first commit 2026-04-25 15:00:45 -03:00
install.sh changing references to my own repo 2026-04-25 15:08:04 -03:00
README.md changing references to my own repo 2026-04-25 15:08:04 -03:00
uninstall.sh changing references to my own repo 2026-04-25 15:08:04 -03:00

gnome-avell-kbd

A GNOME Shell extension that adds a Keyboard Light tile to the Quick Settings panel, allowing you to control the RGB backlight color and brightness of the Avell ION A70 without touching the terminal.

Requires weldyss/tuxedo-drivers (forked with Avell support) to be installed first.

Screenshot

The Quick Settings panel gains a keyboard light toggle. Expanding it reveals:

  • A brightness slider (5 steps, matching the hardware)
  • 8 color preset swatches (White, Red, Green, Blue, Cyan, Purple, Orange, Pink)

Requirements

  • GNOME Shell 45–49
  • tuxedo_keyboard + uniwill_wmi modules loaded (see tuxedo-drivers fork)
  • /sys/class/leds/rgb:kbd_backlight present

Install

git clone https://git.wstech.dev/weldyss/gnome-avell-kbd.git
cd gnome-avell-kbd
chmod +x install.sh
./install.sh

The script will:

  1. Copy the extension to ~/.local/share/gnome-shell/extensions/
  2. Install a udev rule so the LED sysfs files are writable by the video group
  3. Add your user to the video group (re-login required once)
  4. Enable the extension

Uninstall

./uninstall.sh

How it works

The extension reads and writes directly to the kernel LED class sysfs interface:

File Purpose
/sys/class/leds/rgb:kbd_backlight/brightness Overall brightness (0–4)
/sys/class/leds/rgb:kbd_backlight/multi_intensity Color as R G B (0–255 each)

The udev rule (udev/99-avell-kbd-backlight.rules) sets group ownership to video and grants write permission whenever the LED device appears, so no sudo is needed at runtime.

Troubleshooting

Tile doesn't appear in Quick Settings

Make sure the kernel modules are loaded:

lsmod | grep -E "tuxedo|uniwill"
ls /sys/class/leds/rgb:kbd_backlight

If the LED path is missing, load the modules:

sudo modprobe tuxedo_compatibility_check
sudo modprobe tuxedo_keyboard
sudo modprobe uniwill_wmi

Permission denied when changing color/brightness

Trigger the udev rule manually:

sudo udevadm trigger --subsystem-match=leds

Or re-run install.sh.

Extension loads but changes have no effect

Confirm write permissions:

ls -la /sys/class/leds/rgb:kbd_backlight/brightness
# Should show group 'video' with write bit: -rw-rw-r--