Problemas con teclas especiales

Teclas especiales para ajustar brillo pantalla

En mi portátil hay teclas especiales para disminuir y aumentar el brillo de la pantalla. Funcionan sin problemas en Windows pero en Linux pierden su funcionalidad.

En Debian 13 lo más práctico es usar brightnessctl, que sirve para controlar la retroiluminación de la pantalla desde la terminal y está empaquetado en Debian.

Instalación. Abrir una terminal y ejecutar:

# apt update
# apt install brightnessctl

Uso básico

Para ver los dispositivos disponibles:

$ brightnessctl -l

Para subir o bajar la luminosidad, por ejemplo:

$ brightnessctl set +10%
$ brightnessctl set 10%-

Para fijar un valor exacto:

$ brightnessctl set 50%

Si las teclas Fn no funcionan y por lo tanto el portátil HP Pavilion x360 no responde a las teclas de brillo, suele funcionar crear accesos directos personalizados en el entorno gráfico para lanzar brightnessctl set 10%- y brightnessctl set +10%. Esta solución se usa mucho cuando las teclas de brillo no están bien mapeadas en Linux.

También se puede hacer un script que presente un menú con opciones de brillo, por ejemplo con botones Subir, Bajar y 50% en un solo menú: ~/bin/brillo-menu.sh

#!/bin/sh
#!/bin/bash
DEVICE=$(brightnessctl -l | grep backlight | head -n1 | cut -d"'" -f2 | cut -d"'" -d' ' -f2)
opcion=$(zenity --list --radiolist --title="Control Brillo" --text="Elige opción:" --column="Seleccionar" --column="Acción" TRUE "Subir (+10%)" FALSE "Bajar (-10%)" FALSE "50%" --width=300 --height=350)
case $opcion in
"Subir (+10%)") brightnessctl -d "$DEVICE" set +10% ;;
"Bajar (-10%)") brightnessctl -d "$DEVICE" set 10%- ;;
"50%") brightnessctl -d "$DEVICE" set 50% ;;
esac
notify-send "Brillo ajustado" "$opcion"

Previamente debemos tener instalado el paquete libnotify-bin y un demonio de notificaciones compatible como por ejemplo dunst ya que LXDE no incluye uno por defecto.

# apt update
# apt install libnotify-bin dunst

Iniciar el demonio dunst. Añadir dunst & al final de tu archivo ~/.config/lxsession/LXDE/autostart (crear el directorio si no existe) para que se inicie automáticamente con la sesión. Luego, reiniciar LXDE o ejecutar dunst manualmente para probar. Una vez configurado, la orden debería mostrar la notificación en la esquina de la pantalla.

Podemos crear un acceso directo en el escritorio para ejecutar este script ~/Desktop/brillo-menu.desktop…

[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=~/bin/brillo-menu.sh
Name=Menu Brillo
Comment=Controla brillo con botones
Icon=display-brightness-symbolic

El campo Type=Application y Exec=… son los esenciales para un lanzador .desktop.

Dar permisos. Los haremos ejecutables:

$ chmod +x ~/bin/brillo-menu.sh
$ chmod +x ~/Desktop/brillo-menu.desktop

En Linux, el permiso de ejecución es el que permite lanzar el archivo desde el escritorio o el menú; los .desktop suelen necesitar ese bit en el escritorio del usuario.