
Recientemente compré un Samsung NP900X3N y estoy intentando que la luz de fondo funcione (con Linux Mint 18.1 y Kernel 4.10 en UEFI). He leído mucho sobre esto y soy consciente de que existen muchas páginas sobre ese tema, pero todas son antiguas (más de 3 años) y no pude hacer que ninguna de ellas funcionara para mí (tal vez porque esta versión de la computadora portátil es relativamente nuevo).
Algunas cosas que he probado son:
- Descargué e instalé el
samsung-tools
paquete, pero al ejecutarlo aparece un error después de aproximadamente 2 minutos sin resultados. - Intenté encontrar un
samsung::kbd_backlight/brightness
archivo de acuerdo conesta simple respuesta, pero aparentemente no hay ninguno (solo pude encontrar unphy0-led/brightness
, que no sé qué hace pero que ya está configurado en 1). - he tratado de seguiresta guíaen un enfoque muy manual, pero para ser honesto no pude llegar muy lejos (probablemente por falta de conocimiento de mi parte, pero debe haber un enfoque menos complicado)
- Verificar el código de escaneo de la clave verificando el registro del kernel como lo sugiereesta respuesta.
Este último es el que más se acercó y en el que me gustaría profundizar más. Al presionar fn+f9
(alternar la retroiluminación del teclado), obtengo el código de escaneo e02c
asignado a esa tecla. Así que lo hice
sudo setkeycodes e02c 230
como lo sugierela respuesta. Entonces, cuando presiono esta tecla, recibo una notificación que muestra un símbolo de luz en el teclado, lo cual creo que es una buena señal, pero no sucede nada.
Como indica la pregunta, el valor del código clave 230 es para aumentar kbdlight, pero mi computadora portátil no tiene eso: solo tiene la tecla de alternancia kbdlight. Entonces creo que este podría ser el problema, pero no puedo encontrar un código clave para "alternar" (lo que podría deberse a mi incapacidad para comprenderlo /usr/include/linux/input.h
completamente).
Intenté usar xmodmap -pke | less
para encontrar "alternar retroiluminación del teclado", que aparece como código clave 236, pero aparentemente los números en esa lista realmente no funcionan.
¿Alguna sugerencia?
EDITAR
Salida de ll /sys/class/backlight/
:
lrwxrwxrwx 1 root root 0 Apr 28 07:16 intel_backlight -> ../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-eDP-1/intel_backlight/
Ya había intentado cambiar el valor en /sys/class/backlight/brightness
, pero esto sólo controla el brillo de la pantalla.
Salida de ll /sys/class/leds/
:
lrwxrwxrwx 1 root root 0 Apr 28 07:19 input3::capslock -> ../../devices/platform/i8042/serio0/input/input3/input3::capslock/
lrwxrwxrwx 1 root root 0 Apr 28 07:19 input3::numlock -> ../../devices/platform/i8042/serio0/input/input3/input3::numlock/
lrwxrwxrwx 1 root root 0 Apr 28 07:19 input3::scrolllock -> ../../devices/platform/i8042/serio0/input/input3/input3::scrolllock/
lrwxrwxrwx 1 root root 0 Apr 28 07:19 phy0-led -> ../../devices/pci0000:00/0000:00:1c.0/0000:01:00.0/leds/phy0-led/
El bloqueo de mayúsculas es lo que dice (lo he probado). El bloqueo numérico no parece hacer nada, ya que cambié el valor de 0 al máximo y no pasó nada (mi teclado no tiene bloqueo numérico. El bloqueo de desplazamiento tampoco parece hacer nada. Tampoco lo sé qué phy0-led
. Ya está configurado en 1 y poner 0 no parece hacer nada.
EDITAR2
Al hacerlo modprobe samsung-laptop
me da el error de seguir
modprobe: ERROR: could not insert 'samsung_laptop': No such device
que parece ser unviejo error.
Respuesta1
Hay dos partes para poder controlar la retroiluminación con teclas especiales del teclado:
- comprender los eventos que se producen cuando se presionan las teclas
- en realidad cambiar la intensidad de la luz de fondo
Y necesita un programa, por ejemplo un administrador de ventanas, que reaccione a los eventos y luego cambie la intensidad.
Estás bien en la primera parte, obtienes un evento y podemos solucionar las traducciones necesarias más adelante. En cuanto a la segunda parte, necesita algún controlador que sepa cómo controlar la intensidad de la luz de fondo y luego alguna interfaz con este controlador.
Muy a menudo, estos se encuentran en la /sys
jerarquía, así que intente
ll /sys/class/backlight
ll /sys/class/led
y edite su pregunta con el resultado. Estos directorios deben contener enlaces a otros directorios con un archivo llamado brightness
y un archivo llamado max_brightness
. Si no puede descifrar qué es por el nombre, mire el contenido de max_brightness
y, como raíz, intente escribir números entre 0 y el valor máximo en cada uno de esos archivos como
echo 0 > /sys/class/led/phy0-led/brightness
y vea si puede identificar qué controla.
Editar:
Ok, parece que no hay controles para la retroiluminación del teclado y necesitas un controlador específico. phy0-led
Es muy probable que sea un conector LED WLAN, que puede estar conectado o no a algo. Puede consultar lspci
y buscar el dispositivo en 00:1c.0
.
Los samsung::kbd_backlight
controles son proporcionados por elasus-wmicontrolador para portátiles ASUS que utilizan la interfaz WMI. Elesalgo similar para Samsung, a saberportátil-samsung, proporciona leds/samsung::kbd_backlight
, y también hay una debugfs
interfaz para un acceso más directo.
No tengo idea si esto funcionará en tu modelo. Intentar
modprobe samsung-laptop
como root, verifique lsmod
si está cargado, mire dmesg
para ver si hubo algún problema u otros mensajes, y vea si aparece algo.