Если я пытаюсь увеличить / уменьшить / отключить звук на моем ноутбуке, я всегда держу кнопку нажатой. Я считаю, что я должен что-то изменить в /lib/udev/hwdb.d/60-keyboard.hwdb
, но я не знаю, что.
У меня есть ноутбук Medion
System Information
Manufacturer: Medion
Product Name: P6669 MD60147
У меня такая же проблема на Medion P6689 MD61019. Вы были на правильном пути; казалось, что это сработало:
Создайте текстовый файл, содержащий:
# 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
Сохраните его в /lib/udev/hwdb.d/99-keyboard-medion-vol-fix.hwdb
и выполните следующие команды как root:
systemd-hwdb update
udevadm trigger --verbose --sysname-match="event*"
и готово! Клавиши громкости теперь работают нормально.
В зависимости от количества моделей, на которые это влияет, поле :pnP*
можно изменить, чтобы оно соответствовало только нескольким моделям. (Вы можете проверить / sys / class / dmi / id / modalias для своего конкретного идентификатора поставщика.)
Из /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
Короче говоря, некоторым клавиатурам ноутбуков Medion требуется !
для клавиш регулировки громкости (и, возможно, также клавиша p
, какой бы она ни была), поскольку они не генерируют события отпускания клавиш; однако не все модели Medion по умолчанию рассматриваются в /lib/udev/hwdb.d/60-keyboard.hwdb.
Как ни странно, после этого исправления нажатие и удержание клавиш регулировки громкости автоматически повторяет их, пока вы не отпустите клавишу.