Cómo encender y apagar las luces LED de un teclado gamer en Fedora 45 con Wayland (sin Xorg)

Una guía para recuperar la retroiluminación de teclados gamer en Fedora 45, GNOME y otros entornos Linux que utilizan Wayland.

Durante años, quienes utilizamos teclados gamer retroiluminados en Linux encontramos una solución bastante sencilla para encender y apagar sus luces LED mediante la terminal.

En una publicación anterior de este blog expliqué cómo conseguirlo utilizando xset, una herramienta que permitía controlar los indicadores LED de algunos teclados desde el servidor gráfico Xorg.

Sin embargo, con la evolución de Linux y la adopción de Wayland como servidor gráfico, aquella solución dejó de funcionar en numerosas configuraciones.

Este problema vuelve a presentarse al utilizar Fedora 45 con GNOME y Wayland, donde los comandos tradicionales de X11 ya no tienen acceso directo al control físico de los LED del teclado.

Afortunadamente, existen alternativas que permiten recuperar esta funcionalidad sin regresar a Xorg.

1. ¿Por qué ya no funciona xset en Fedora 45?

Anteriormente podíamos encender la retroiluminación de determinados teclados con:

xset led 3

Y apagarla mediante:

xset -led 3

Estos comandos funcionaban porque algunos teclados gamer económicos utilizan el indicador Scroll Lock (Bloq Despl) para activar su iluminación.

El problema es que xset fue diseñado para X11 y no controla directamente los indicadores físicos del teclado bajo Wayland.

Aunque Fedora todavía puede ejecutar aplicaciones X11 mediante XWayland, esto no garantiza que los comandos de xset lleguen al hardware.

Por lo tanto, necesitamos comunicarnos con los dispositivos de entrada mediante los mecanismos que proporciona el propio núcleo de Linux.

2. Primera solución: controlar los LED desde /sys/class/leds/

Linux dispone de una interfaz denominada sysfs, que permite consultar y controlar determinadas funciones del hardware.

En algunos teclados, los indicadores Caps Lock, Num Lock y Scroll Lock aparecen como dispositivos dentro de:

/sys/class/leds/

Paso 1. Identificar los dispositivos LED

Abrimos una terminal y ejecutamos:

ls /sys/class/leds/

Podemos encontrar resultados similares a los siguientes:

input3::capslock
input3::numlock
input3::scrolllock

El número input3 es únicamente un ejemplo. Puede variar dependiendo de los dispositivos conectados.

Para localizar específicamente los indicadores Scroll Lock ejecutamos:

ls -d /sys/class/leds/*::scrolllock

Paso 2. Encender la retroiluminación

Si nuestro teclado aparece como input3::scrolllock, ejecutamos:

echo 1 | sudo tee /sys/class/leds/input3::scrolllock/brightness

Si el teclado utiliza Scroll Lock como activador de iluminación, sus luces deberían encenderse.

Paso 3. Apagar la retroiluminación

Para apagarlas utilizamos:

echo 0 | sudo tee /sys/class/leds/input3::scrolllock/brightness

Importante: debemos sustituir input3 por el identificador correspondiente a nuestro teclado.

Si existen varios dispositivos Scroll Lock, conviene probarlos individualmente para identificar el correcto.

Este procedimiento no requiere Xorg ni instalar aplicaciones adicionales.

Sin embargo, presenta algunas limitaciones: ciertos teclados pueden perder el estado de iluminación al presionar Bloq Mayús o Bloq Num, y los identificadores de los dispositivos pueden cambiar después de reiniciar.

3. Segunda solución: Scroll Lock RGB Fix

Una alternativa más completa es el proyecto de código abierto Scroll Lock RGB Fix, desarrollado específicamente para corregir problemas de iluminación en teclados gamer genéricos que utilizan Scroll Lock.

Repositorio:

https://github.com/kayo-willian/scrolllock-rgb-fix

Esta herramienta funciona mediante un servicio en segundo plano que detecta los eventos del teclado y actualiza directamente el estado del LED correspondiente.

Entre sus características encontramos:

  • Compatibilidad declarada con Fedora, Ubuntu, Debian, Arch Linux y otras distribuciones.
  • Funcionamiento con GNOME y Wayland.
  • Encendido y apagado mediante la tecla Scroll Lock.
  • Detección automática del teclado.
  • Recuperación del estado de iluminación cuando otros indicadores interfieren.
  • Reconocimiento de dispositivos USB reconectados.
  • Inicio automático mediante systemd.

Instalación en Fedora 45

Primero instalamos Git, si todavía no está disponible:

sudo dnf install git

Descargamos el repositorio:

git clone https://github.com/kayo-willian/scrolllock-rgb-fix.git

Entramos al directorio:

cd scrolllock-rgb-fix

Antes de ejecutar el instalador, es recomendable revisar los archivos install.sh, scrolllock-rgb.py y scrolllock-rgb.service, ya que el programa necesita privilegios para interactuar con los dispositivos.

Una vez revisados, podemos ejecutar:

sudo ./install.sh

El instalador configura las dependencias necesarias y registra un servicio de systemd.

Para comprobar su funcionamiento:

systemctl status scrolllock-rgb.service --no-pager

Y para consultar sus registros:

journalctl -u scrolllock-rgb.service -f

Si nuestro teclado es compatible, podremos encender y apagar las luces utilizando la tecla Scroll Lock.

Nota: el proyecto declara compatibilidad con Fedora, pero su funcionamiento específico en Fedora 45 dependerá del modelo del teclado y de la versión instalada.

4. Otra alternativa: comandos para encender y apagar desde la terminal

Para quienes prefieren controlar la iluminación mediante comandos sencillos, existe otra herramienta de código abierto llamada Wayland Backlight LED.

Repositorio:

https://github.com/somniasum/wayland-backlight-led

Este proyecto busca ofrecer una alternativa a xset en entornos Wayland.

Su principal ventaja es que permite encender y apagar la iluminación mediante dos comandos muy fáciles de recordar:

on

Para encender las luces, y:

off

Para apagarlas.

También permite configurar combinaciones de teclas en GNOME.

Paso 1. Instalar las herramientas necesarias

En Fedora podemos instalar Git y brightnessctl mediante:

sudo dnf install git brightnessctl

Paso 2. Descargar Wayland Backlight LED

Clonamos el repositorio:

git clone https://github.com/somniasum/wayland-backlight-led.git

Entramos al directorio:

cd wayland-backlight-led

Paso 3. Instalar la herramienta

Revisamos primero el contenido del instalador y los permisos que solicita.

Después ejecutamos:

./install.sh

El proyecto incluye un instalador que configura los comandos y los accesos rápidos correspondientes.

Paso 4. Encender y apagar las luces

Una vez terminada la instalación, abrimos una nueva terminal.

Para encender:

on

Para apagar:

off

Paso 5. Utilizar atajos de teclado en GNOME

El proyecto también contempla estas combinaciones predeterminadas:

Encender la iluminación:

Super + Shift + Enter

Apagar la iluminación:

Super + Ctrl + Enter

La tecla Super es normalmente la que lleva el logotipo de Windows en los teclados convencionales.

Los atajos pueden modificarse desde la configuración de teclado de GNOME.

¿Qué hacer si no encuentra el dispositivo Scroll Lock?

Podemos comprobar si brightnessctl detecta el indicador ejecutando:

brightnessctl -l | grep -i scrolllock

Si no aparece ningún dispositivo, debemos comprobar si el teclado expone el indicador Scroll Lock al sistema.

Conviene recordar que esta herramienta está orientada a teclados cuya retroiluminación depende de dicho indicador. No necesariamente funcionará con teclados RGB que utilizan controladores propietarios o protocolos específicos.

5. Crear nuestros propios comandos sin instalar herramientas adicionales

Si comprobamos que nuestro teclado responde correctamente a los comandos de /sys/class/leds/, también podemos crear un pequeño script para simplificar el procedimiento.

Primero identificamos el dispositivo:

ls -d /sys/class/leds/*::scrolllock

Después creamos un archivo:

nano ~/teclado-led.sh

Introducimos el siguiente contenido:

#!/usr/bin/env bash

LED="/sys/class/leds/input3::scrolllock/brightness"

case "$1" in
  on)
    echo 1 | sudo tee "$LED" > /dev/null
    ;;
  off)
    echo 0 | sudo tee "$LED" > /dev/null
    ;;
  *)
    echo "Uso: $0 {on|off}"
    exit 1
    ;;
esac

Sustituimos input3 por el identificador correspondiente a nuestro teclado.

Guardamos el archivo y le concedemos permisos de ejecución:

chmod +x ~/teclado-led.sh

Ahora podemos encender las luces mediante:

~/teclado-led.sh on

Y apagarlas con:

~/teclado-led.sh off

Este método puede solicitar nuestra contraseña de administrador y no resuelve automáticamente los cambios de identificador después de reiniciar. Tampoco conviene eliminar las restricciones de permisos del dispositivo únicamente para evitar esa solicitud.

6. ¿Qué solución conviene utilizar?

Las alternativas anteriores responden a necesidades diferentes.

MétodoVentajasLimitaciones
sysfsNo requiere instalar software adicionalNecesita identificar el dispositivo y normalmente permisos de administrador
Scroll Lock RGB FixAutomatiza el control y puede recuperar el estado de iluminaciónRequiere instalar un servicio con acceso al hardware
Wayland Backlight LEDOfrece comandos on y off y atajos en GNOMEDepende de la detección del dispositivo y de la configuración del instalador
Script personalizadoEs sencillo y permite adaptacionesRequiere mantenimiento si cambia el identificador del dispositivo

Mi recomendación es comenzar por el método directo mediante sysfs, ya que permite comprobar si el teclado responde antes de instalar herramientas adicionales.

Si funciona y necesitamos automatizarlo, podemos considerar Scroll Lock RGB Fix.

Por otra parte, Wayland Backlight LED resulta especialmente interesante para quienes desean conservar la comodidad de encender y apagar la iluminación mediante comandos desde la terminal.

No es necesario instalar las dos herramientas al mismo tiempo. Es preferible probarlas por separado para evitar que interfieran en el control del mismo indicador.

7. Consideraciones finales

La transición de Xorg a Wayland ha significado cambios importantes en la manera en que Linux administra los dispositivos de entrada.

Aunque algunas herramientas tradicionales han dejado de funcionar como antes, el propio núcleo de Linux sigue ofreciendo mecanismos para comunicarse con determinados componentes del hardware.

En el caso de los teclados gamer retroiluminados que utilizan Scroll Lock, las interfaces del sistema y los proyectos desarrollados por la comunidad permiten recuperar funciones que anteriormente dependían de xset.

Estas soluciones no son universales: su eficacia depende de cómo cada fabricante implementa el control de iluminación.

Por eso, antes de realizar cambios permanentes en Fedora 45, lo más conveniente es identificar el dispositivo, comprobar su respuesta y elegir el procedimiento adecuado.

La desaparición de Xorg como opción de sesión en determinadas configuraciones de GNOME no significa que tengamos que renunciar a utilizar nuestros periféricos favoritos. Simplemente necesitamos adaptar las herramientas a la nueva arquitectura gráfica de Linux.


Referencias y recursos

Artículo actualizado para Fedora 45, GNOME y Wayland. Los procedimientos descritos son alternativas documentadas cuya compatibilidad debe comprobarse en cada teclado.

Humberto Villafuerte
www.humbertovillafuerte.com.mx

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio