MSI 笔记本电脑的亮度随机调高或调低

MSI 笔记本电脑的亮度随机调高或调低

我在 MSI GS60 上遇到了这个问题。在运行 Ubuntu 时第一次使用 Fn 键时就会发生这种情况(我也在 Arch 上测试过这个问题,那里的情况更糟)。

即使我没有触摸笔记本电脑的键盘,Ubuntu 似乎也会认为有人随机按下了亮度调高/调低键(Fn + 向上箭头或 Fn + 向下箭头)。当我关闭笔记本电脑时,它显示好像按下了某个键。

只要我能解决这个亮度问题,我不会介意不能使用任何 Fn 键(尽管如果启用它们会更好)。

答案1

这似乎是大多数 MSI 笔记本电脑的常见问题,包括我自己的 GP62 6QF Leopard Pro。据说,修复此问题的一种方法是更新 BIOS,但这对我来说不起作用。

我设法通过将其添加到来解决这个问题/usr/share/X11/xorg.conf.d/10-quirks.conf

  Section "InputClass"
  Identifier "Spooky Ghosts"
  MatchProduct "Video Bus"
  Option "Ignore" "on"
  EndSection

这基本上忽略了来自视频总线的消息,该消息似乎是fn+up fn+down随机发送伪消息。

来源:https://ubuntuforums.org/showthread.php?t=2314161&page=2

编辑:请注意,这不是永久性修复,因为10-quirks.conf该文件经常被操作系统更新覆盖。撰写本文时,最新的更新于 8 月 7 日发布,已覆盖此文件,并且上述脚本未保留。要再次修复它,您只需重新输入它,或提交错误报告通知他们有关此修复的信息。

仅供参考,该10-quirks.conf文件正是用于此目的——修复由硬件不兼容导致的错误。

答案2

我最近切换到了 SwayWM/Wayland,另一个答案提供的配置对我来说不再有效(因为它仅适用于 X11)。我四处打听,被告知有一个针对 SwayWM 的修复程序,具体来说是禁用来自“视频总线”的输入事件。

首先,必须运行swaymsg -t get_inputs以获取“视频总线”的标识符。相关部分的示例输出如下所示:

...
Input device: Video Bus
  Type: Keyboard
  Identifier: 0:6:Video_Bus
  Product ID: 6
  Vendor ID: 0
  Active Keyboard Layout: English (US)
  Libinput Send Events: enabled
...

您必须获取“标识符”条目,它将用于.config/sway/config禁用“视频总线”的输入。在我的例子中,它是0:6:Video_Bus

最后要做的就是将以下行添加到您的.config/sway/config

input 0:6:Video_Bus events disabled

因此,如果您的标识符不同,您可以0:6:Video_Bus用您的标识符替换。

剩下的就是重新加载 sway 的配置$mod+Shift+c或者重新启动 sway,并且 sway 应该已经禁用来自“视频总线”的输入。

答案3

如果您使用带有 wayland 的 KDE Plasma,则需要使用 D-Bus 来禁用视频总线输入。

首先,您需要找到与视频总线相对应的事件,运行此命令并查看处理程序

cat /proc/bus/input/devices | grep "Video Bus" -A 5

示例输出,在此示例中为event3

N: Name="Video Bus"
P: Phys=LNXVIDEO/video/input0
S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:14/LNXVIDEO:00/input/input4
U: Uniq=
H: Handlers=kbd event3 
B: PROP=0

然后调用 D-Bus 来禁用它(event3用笔记本电脑上的正确事件替换)

qdbus org.kde.KWin /org/kde/KWin/InputDevice/event3 org.kde.KWin.InputDevice.enabled false

答案4

我想使用 的设备怪癖添加我的 Wayland 解决方案libinput,请参阅https://wayland.freedesktop.org/libinput/doc/latest/device-quirks.html#device-quirks。我有带有默认 GNOME 环境的 Fedora 38,笔记本电脑是 MSI Modern 14 C7M-081CZ。

先前的答案启发了它,因此为了完整起见,您可以列出您的设备,sudo libinput list-devices其输出将输出包含以下内容的内容

Device:           Video Bus
Kernel:           /dev/input/event7
Group:            1
Seat:             seat0, default
Capabilities:     keyboard 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      n/a
Nat.scrolling:    n/a
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Disable-w-trackpointing: n/a
Accel profiles:   n/a
Rotation:         0.0

您还可以使用 来查看所有事件sudo libinput debug-events。实际亮度按钮将输出为

 event2   KEYBOARD_KEY            +13.879s  KEY_BRIGHTNESSDOWN (224) pressed
 event2   KEYBOARD_KEY            +13.925s  KEY_BRIGHTNESSDOWN (224) released
 event2   KEYBOARD_KEY            +14.324s  KEY_BRIGHTNESSUP (225) pressed
 event2   KEYBOARD_KEY            +14.368s  KEY_BRIGHTNESSUP (225) released

“假”的看上去很相似,但是事件编号不同。

我有libinput怪癖文件,/usr/share/libinput/因此我创建了一个新的:

[tomtom@fedora libinput]$ cat 10-generic-keyboard_video.quirks 
[Video Bus Spooky Ghost]
MatchName=*Video Bus*
AttrEventCode=-EV_KEY:0xE0;-EV_KEY:0xE1;

不确定是否需要重新启动或如何使其立即工作。

如果设置正确,与特定事件相关的怪癖将使用以下命令打印libinput quirks list /dev/input/event<number>

[tomtom@fedora libinput]$ libinput quirks list /dev/input/event3
AttrEventCode=-KEY_BRIGHTNESSDOWN;-KEY_BRIGHTNESSUP;

在相反的情况下,sudo libinput list-devices会在输出开始处打印警告/错误。

相关内容