Si trato de subir/bajar/silenciar el volumen de mi computadora portátil, siempre es como si mantuviera presionado el botón. Creo que tengo que cambiar algo en /lib/udev/hwdb.d/60-keyboard.hwdb
, pero no sé qué.
Tengo una laptop medion
System Information
Manufacturer: Medion
Product Name: P6669 MD60147
Respuesta aceptada:
Tengo el mismo problema en un Medion P6689 MD61019. Estabas en el camino correcto; esto pareció funcionar:
Cree un archivo de texto que contenga:
# Fix for volume keys on Medion keyboards
evdev:atkbd:dmi:bvn*:bvr*:svnMEDION:pnP*:pvr*
evdev:atkbd:dmi:bvn*:bvr*:svnMedion:pnP*:pvr*
KEYBOARD_KEY_a0=!mute
KEYBOARD_KEY_ae=!volumedown
KEYBOARD_KEY_b0=!volumeup
Guárdelo en /lib/udev/hwdb.d/99-keyboard-medion-vol-fix.hwdb
y ejecuta los siguientes comandos como root:
systemd-hwdb update
udevadm trigger --verbose --sysname-match="event*"
¡y hecho! Las teclas de volumen ahora funcionan normalmente.
Según a cuántos modelos afecte, el :pnP*
el campo se puede cambiar para que coincida solo con unos pocos modelos.
(Es posible que desee comprobar /sys/class/dmi/id/modalias para su ID de proveedor específico).
Desde /lib/udev/hwdb.d/60-keyboard.hwdb:
# Supported hardware matches are:
...
# - AT keyboard DMI data matches:
# evdev:atkbd:dmi:bvn*:bvr*:bd*:svn<vendor>:pn<product>:pvr*
# <vendor> and <product> are the firmware-provided strings
# exported by the kernel DMI modalias, see /sys/class/dmi/id/modalias
...
# An '!' as the first character of the key identifier string
# will add the scan code to the AT keyboard's list of scan codes
# where the driver will synthesize a release event and not expect
# it to be generated by the hardware.
...
# To update this file, create a new file
# /etc/udev/hwdb.d/70-keyboard.hwdb
# and add your rules there. To load the new rules execute (as root):
# systemd-hwdb update
# udevadm trigger /dev/input/eventXX
# where /dev/input/eventXX is the keyboard in question. If in
# doubt, simply reload all input rules
# udevadm trigger --verbose --sysname-match="event*"
...
# Akoya
evdev:atkbd:dmi:bvn*:bvr*:svnMEDION*:pnS3409*:pvr*
evdev:atkbd:dmi:bvn*:bvr*:svnMedion*:pnAkoya*:pvr*
KEYBOARD_KEY_a0=!mute
KEYBOARD_KEY_ae=!volumedown
KEYBOARD_KEY_b0=!volumeup
KEYBOARD_KEY_19=!p
KEYBOARD_KEY_df=sleep
En resumen, algunos teclados de portátiles Medion necesitan un !
para las teclas de volumen (y quizás también la p
clave, lo que sea) porque no generan eventos de liberación de clave; sin embargo, no todos los modelos de Medion están cubiertos por defecto en /lib/udev/hwdb.d/60-keyboard.hwdb.
Por extraño que parezca, después de esta solución, mantener presionadas las teclas de volumen SÍ las repite automáticamente hasta que sueltas la tecla.