14

I have been using Ubuntu since 16.04, with the CM Storm keyboard. When using this keyboard on Windows, pressing the Scroll Lock key enables/disables the backlight.

Previously on Ubuntu, the commands xset led (on) and xset -led (off) have worked to set the backlight. This is pretty important because the key labels are very hard to read without the backlight enabled.

Now that Ubuntu has switched from X to Wayland by default with 17.10, xset no longer works. While I can make it work by selecting an Xorg session on login, I'd like to use the default and what will be the future of Ubuntu, Wayland.

What I'm looking for are some terminal commands that accomplish the same function as xset led and xset -led.

dessert
  • 39,392
  • 12
  • 115
  • 163
Jon
  • 141
  • 1
  • 5
  • 2
    As you know Wayland is not X , so many x functions / programs do not work. xrandr for example. You need to file a bug report / feature request with wayland. You can fall back to x (log into gnome with an X session). – Panther Oct 22 '17 at 03:45
  • FYI I would like to mention that xrandr works fine on my machine. $ xrandr "Screen 0: minimum 320 x 200, current 1440 x 900, maximum 8192 x 8192 XWAYLAND0 connected 1440x900+0+0 (normal left inverted right x axis y axis) 0mm x 0mm 1440x900 59.89*+" – Rolf Oct 23 '17 at 13:38
  • @Rolf does "works fine" mean you can switch to a different resolution, add new video modes, set up panning, DPI etc.? – Ruslan Nov 11 '17 at 10:37
  • @Ruslan It seems only the commands that query some state do work. You are right. – Rolf Nov 11 '17 at 16:32
  • Related: https://ask.fedoraproject.org/en/question/97720/xset-led-3-does-not-work-in-fedora-25/ and https://www.reddit.com/r/linux_gaming/comments/51mdum/wayland_cm_storm_devastator_no_backlight/ – maybe try the `xinput` method mentioned in the latter? – dessert Nov 20 '17 at 20:36
  • were you able to fix it? – Daksh Gargas Dec 19 '17 at 14:09
  • Now that 18.04 is staying with X, and I couldn't find an easy answer, I'm just going to keep using {xset led}. I'm sure that once X is dropped entirely, there will be answers around. – Jon Apr 11 '18 at 06:46
  • @Jon you should clarify your title, that command should be included in gnome's wayland compositor, wayland is not x, there are no cross 'de' tools – ustick Apr 27 '18 at 03:51

2 Answers2

9

I also struggled with this and finally came up with a solution:

https://gist.github.com/ps1dr3x/b15c62eafb388ddf8bb7d3896d1a1cee

Basically you can turn on/off the keyboard backlight by changing the brightness value in /sys/class/leds/input/brightness

e.g.

sudo sh -c 'echo 1 > /sys/class/leds/input0::scrolllock/brightness'

P.s. input might be different

Michele
  • 191
  • 1
  • 5
  • it's an hassle to have to login as root to do it + many keyboard keys (or at least capslock) switch it off... backlight is a peripheral setting not a system setting so it feels more like a dirty hack than a true solution. but thanks better than nothing obviously & let's hope wayland guys will do stg about it. lost 2 hours on setting tablet & keyboard moving from xorg to wayland... – mikakun Nov 03 '22 at 19:27
  • 1
    yes I surely agree this is more a workaround. I noticed however this problem exists only with certain keyboards (also the fact that caps lock and/or other keys switch the lights off). Since I posted this answer I used various keyboards and never found the exact same behavior: some keyboards just have the leds always on, others have a key or combination of keys to control the lights, others don't switch off when pressing certain keys. Regarding root, I remember at the time I just set a root cronjob setting that flag every X seconds, kind of solving the switch off problem too. – Michele Nov 06 '22 at 18:22
  • yep so true ! i just got a new keyboard & the backlight is working out of the box (on ubuntu wayland & fedora) – mikakun May 23 '23 at 17:12
0

The device name seems to change on every reboot for me, thus I borrowed the last answer and provided the work around below.

*Unless you use more than one keyboard, then it in theory should work. Until of course it doesn't.

*On the downside if you do have more than one keyboard, it will just turn on the backlight LED for all keyboards? (Perhaps you could use the device ID and always get it right)

--Turns on the little backlight leds

cd /sys/class/leds
for i in `ls /sys/class/leds | grep scrolllock`; do echo 1 > $(readlink -f $i)/brightness; done;

--Turns off the little backlight leds

cd /sys/class/leds
for i in `ls /sys/class/leds | grep scrolllock`; do echo 0 > $(readlink -f $i)/brightness; done;

--Shows the full device directory including the device id, group exc.

cd /sys/class/leds
for i in `ls /sys/class/leds | grep scrolllock`; do echo $(readlink -f $i)/brightness; done;

--Easiest way to view the USB Device ID . ( Note: bus number may change. )

--With the ID , you can filter what is handled in the loop

lsusb