首先,这与其说是一个问题,不如说是我想到的一个解决方案,如果有人遇到这个问题,我想分享一下,因为我在网上找不到任何东西,只有一个人放弃了。我还向华硕寻求帮助,他们收费让我安装 Windows :D。
我买了一个华硕 ROG STRIC SCOPE NX 无线键盘,但出现了一个 bug,当键盘处于睡眠模式(以节省电池)时,我按下按钮将其唤醒,它会将我从 KDE 中注销并显示登录屏幕。这发生在我的个人电脑和工作笔记本电脑上,两者都安装了 Kubuntu 22.04(也尝试过 Kubuntu 23.10)
因此,在尝试从设置中禁用所有睡眠按钮命令并从/etc/systemd/logind.conf
信号中禁用无济于事后,我在 xev 中注意到,当发生这种情况时,此消息会被发送:
KeyRelease event, serial 41, synthetic NO, window 0x400001,
root 0x1f1, subw 0x0, time 39552, (-385,-158), root:(1446,1215),
state 0x10, keycode 151 (keysym 0x0, XF86WakeUp), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
因此,出于某种原因,键盘发出了奇怪的信号。运行 xinput 时,我还注意到有一些奇怪的键盘 15 和 12:
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Logitech USB Receiver id=9 [slave pointer (2)]
⎜ ↳ Logitech USB Receiver Keyboard id=10 [slave pointer (2)]
⎜ ↳ ASUSTeK ROG STRIX SCOPE NX WIRELESS DELUXE Mouse id=13 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Power Button id=7 [slave keyboard (3)]
↳ Sleep Button id=8 [slave keyboard (3)]
↳ ASUSTeK ROG STRIX SCOPE NX WIRELESS DELUXE id=11 [slave keyboard (3)]
↳ ASUSTeK ROG STRIX SCOPE NX WIRELESS DELUXE Consumer Control id=14 [slave keyboard (3)]
↳ Logitech G560 Gaming Speaker Consumer Control id=16 [slave keyboard (3)]
↳ Logitech G560 Gaming Speaker id=17 [slave keyboard (3)]
↳ Asus WMI hotkeys id=18 [slave keyboard (3)]
↳ Eee PC WMI hotkeys id=19 [slave keyboard (3)]
↳ Logitech USB Receiver Keyboard id=20 [slave keyboard (3)]
∼ ASUSTeK ROG STRIX SCOPE NX WIRELESS DELUXE id=15 [floating slave]
∼ ASUSTeK ROG STRIX SCOPE NX WIRELESS DELUXE System Control id=12 [floating slave]
禁用它们之后xinput disable 15
,xinput disable 12
问题就消失了。
所以我的解决方案是编写一个包含两行内容的“脚本”:):
#!/bin/bash
xinput disable 12
xinput disable 15
并创建一个简单的 .desktop 条目,~/.config/autostart
在 KDE 启动时执行 cmds:
[Desktop Entry]
Exec=~/scripts/keyboard-fix.sh # The location for the script (don't forget chmod +x script)
Icon=dialog-scripts
Name[en_US]=Unlock KeePassXC database
Name=Unlock KeePassXC database
StartupNotify=true
Terminal=false
Type=Application
X-KDE-AutostartScript=true
X-KDE-SubstituteUID=false
禁用这些输入后,我没有发现键盘上缺少任何功能(所有媒体和特殊键均能正常工作)。
希望这对某些人有帮助,如果有人有更好的解决方案,请分享:)。