很奇怪的问题:
1)、在大多数应用程序中无法输入“?”字符,例如chrome,vscode。
2)、能在ubuntu终端输入“?”。
3)、
"showkey -a"
能够检测正确的键盘代码。
Press any keys - Ctrl-D will terminate this program
? 63 0077 0x3f
? 63 0077 0x3f
3)、一天之前,所有应用程序均无不同。
操作系统:Ubuntu 21.10。感谢长安汽车指出这一点。
键盘布局:美式键盘。
不知道如何开始解决问题,请提供一些提示。非常感谢。
[更新 20220308]
我使用 xev 监控发生了什么,然后发现有 FocusIn 和 FocusOut 事件。看起来还有其他地方修改了 keycode。参见下面的 Log:
KeyPress event, serial 34, synthetic NO, window 0x2000001,
root 0x2a6, subw 0x0, time 26707415, (788,689), root:(838,803),
state 0x10, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
FocusOut event, serial 37, synthetic NO, window 0x2000001,
mode NotifyGrab, detail NotifyAncestor
FocusIn event, serial 37, synthetic NO, window 0x2000001,
mode NotifyUngrab, detail NotifyAncestor
KeymapNotify event, serial 37, synthetic NO, window 0x0,
keys: 14 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
KeyRelease event, serial 37, synthetic NO, window 0x2000001,
root 0x2a6, subw 0x0, time 26709387, (788,689), root:(838,803),
state 0x11, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
我还检查了 xmodmap 中的键映射是否正确:
keycode 61 = slash question slash question
我继续调查,看看哪个窗口是 0x2000001:
~ xlsclients -l
Window 0x200001:
Machine: xxxxx
Name: gsd-xsettings
Icon Name: gsd-xsettings
Command: gsd-xsettings
Instance/Class: gsd-xsettings/Gsd-xsettings
这也证明了为什么这种症状不会在终端发生。
然后删除 ulauncher,问题解决。