环境
- Arch Linux(标准内核)+ niri 26.04(最新版)+ NVIDIA RTX 4060(专有驱动)
- fcitx5 + rime(唯一输入法,始终激活)
- kitty 0.48.2 主终端,zellij,Firefox
- dms(DankMaterialShell 1.5.3 / quickshell 0.3.0,无第三方插件)
- 外接 2.4G 键盘(BOOM68)+ 笔记本内置键盘
- 已启用
QS_DISABLE_DMABUF "1"
症状
- 回车、上下左右方向键、退格、删除键,在所有窗口(kitty、zellij、Firefox)同时失效
- 字母数字键正常(能正常打字)、niri 快捷键正常(如
Mod+Return仍能打开终端)、输入法正常(弹窗/切换都可用) - 所有键盘都失效(外接 + 笔记本内置键盘同样无响应)
- 重启 fcitx5、重启 dms/quickshell:均无效
- 目前发现解决方案是重启系统
已排除的排查项
| 假设 | 排除依据 |
|---|---|
| 键盘硬件 / 2.4G 链路 | 内置键盘同样失效 |
| 终端 / 应用层 | Firefox(非终端)同样失效 |
| 输入法进程 | 重启 fcitx5 无效 |
| 桌面壳 | 重启 dms 无效 |
| 键位绑定冲突 | 配置无裸键绑定,且静态配置无法解释"重启才恢复" |
| 设备热插拔 | 故障窗口内 journal 无任何设备事件 |
| 内存 / 负载 | 内存正常、DMA-BUF 已关闭时仍发生 |
日志线索
-
相关会话出现多次 libinput 告警:
client bug: event processing lagging behind by XXms, your system is too slow(G502 鼠标和 BOOM68 键盘都报过)
-
故障时段无内核错误、无 OOM、无 USB/HID 异常
当前判定
niri(合成器)seat 级按键状态楔死:输入事件处理出现抖动时丢了 key-up,合成器认为回车/方向键等"一直被按住",之后这些键在所有 surface、所有键盘上被去重抑制;该状态只存在于合成器进程内,所以重启 fcitx5/dms 无效,重启 niri 才清空。
求助
- 有人遇到过同样现象吗?niri / smithay 有没有对应的已知 issue?
- 有没有不重启合成器就能清空按键状态的方法?
- 已试无效:按住死键 2 秒再松开、
niri msg action switch-layout - 待试:
sudo udevadm trigger --subsystem-match=input、suspend/resume
- 已试无效:按住死键 2 秒再松开、
- 下一步该用什么手段定位?(RUST_LOG 应该开哪个模块?)
感谢任何线索!