音量按钮保持按下状态

如果我试图将笔记本电脑的音量调高/调低/静音,那就像按下按钮一样。 我相信我必须在/lib/udev/hwdb.d/60-keyboard.hwdb更改一些/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 /lib/udev/hwdb.d/99-keyboard-medion-vol-fix.hwdb运行以下命令:

 systemd-hwdb update udevadm trigger --verbose --sysname-match="event*" 

并做了! 音量键现在正常工作。

根据影响的模型数量,可以更改:pnP*字段以仅匹配少数模型。 (您可能需要检查特定供应商ID的/ 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:pn:pvr* #  and  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键,无论它是什么),因为它们不会生成键释放事件; 但是,并非/lib/udev/hwdb.d/60-keyboard.hwdb中默认涵盖所有Medion模型。

奇怪的是,在此修复之后,按住音量键会自动重复它们,直到您松开键。