Skip to content

Turn On Limeide GTX300 Keyboard Backlight On Linux

Recently, I ordered a new pair of USB keyboard and mouse for myself — Limeide GRX300 — through a local e-commerce store. Both keyboard and mouse have backlight, which complements my main personal computer — ASUS TUF Gaming A15 laptop.

The keyboard of my gaming laptop is perfectly functional, but I use an external keyboard to protect my laptop keyboard from overuse as much as possible, and I do enjoy typing with a mechanical keyboard. My previous USB keyboard stopped working, as none of the keys will input anything, so I bought a new one.

However, when my new USB keyboard and mouse arrived, and I plugged them in to my gaming laptop, the keyboard backlight cannot be turned on, even after pressing the function key and backlight key, while the mouse backlight did get turned on.

I soon figured out that the fact that I am using Linux, and Limeide GTX300 keyboard's backlight does not seem to support Linux out of the box was the most likely reason. Fortunately, as I searched the web, I found out that the Arch Wiki has an article about keyboard backlight — one more reason Arch Wiki is awesome, and while I am daily driving Arch Linux, the wiki is a goldmine of information for Linux in general.

First, I installed the brightnessctl package, then run the brightnessctl --list command both after plugging in and unplugged my USB keyboard, so I could identify the input device for my USB keyboard's LED backlight — input8::scrolllock of class leds. Therefore, to turn on the backlight, I run the command as root:

echo 1 > /sys/class/leds/input8::scrolllock/brightness

The command works, but when I restart my PC system, the brightness setting will also get reset. Fortunately, when I searched the web for how to turn on keyboard backlight on reboot, I discovered a solution: creating a systemd service for the keyboard backlight. Shout-out to xircon on the EndeavourOS forums for the solution.

First, I created a kb-light.sh script in the directory /usr/bin/:

sudo -E vim /etc/bin/kb-light.sh

I used Vim to create and edit the script, but you can replace vim with another editor like nano.

Then, I add the following as the content of the script:

#!/usr/bin/env bash

echo 1 > /sys/class/leds/input8::scrolllock/brightness

After saving the script and exiting the editor, I made the script executable:

sudo chmod +x /usr/bin/kb-light.sh

Now, I created a kb-light service for systemd by using an editor to create a file for the service:

sudo -E vim /etc/systemd/system/kb-light.service

Then I add the following as the content of the kb-light service file:

[Unit]
Description=Turn on keyboard backlight

[Service]
User=root
WorkingDirectory=/usr/bin/
ExecStart=kb-light.sh
# optional items below
Restart=always
RestartSec=3

[Install]
WantedBy=multi-user.target

After saving the service file, I enabled and started my kb-light service by running the command:

sudo systemctl enable kb-light --now

Now not only the backlight of my Limeide GTX300 keyboard is turned on, it will get automatically turned on when I rebooted my Arch Linux system.

Admittedly, I did not expect that I needed to set up manually to turn on my USB keyboard's backlight, but on the bright side, I got to learn more about creating a systemd service.