- JavaScript 73.4%
- Shell 21.1%
- CSS 5.5%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| extension | ||
| udev | ||
| install.sh | ||
| README.md | ||
| uninstall.sh | ||
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_wmimodules loaded (see tuxedo-drivers fork)/sys/class/leds/rgb:kbd_backlightpresent
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:
- Copy the extension to
~/.local/share/gnome-shell/extensions/ - Install a udev rule so the LED sysfs files are writable by the
videogroup - Add your user to the
videogroup (re-login required once) - 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--