这是迄今为止我见过的最奇怪的错误。我正在配置联想 P50 笔记本电脑上全新安装的 Ubuntu Mate 16.04。我无法输入小写字母'K'
。大写字母可以正常工作,与字母相关的组合键也可以正常工作,但我无法用小写字母输入。
现在,按如下方式xev
拾取小写字母K
按键:
KeyRelease event, serial 78, synthetic NO, window 0x4200001,
root 0x271, subw 0x0, time 584185, (115,103), root:(117,164),
state 0x0, keycode 45 (keysym 0x6b, k), same_screen YES,
XLookupString gives 1 bytes: (6b) "k"
XFilterEvent returns: False
与其他小写按键相比(例如b
):
KeyPress event, serial 38, synthetic NO, window 0x4200001,
root 0x271, subw 0x0, time 620761, (145,166), root:(147,256),
state 0x0, keycode 56 (keysym 0x62, b), same_screen YES,
XLookupString gives 1 bytes: (62) "b"
XmbLookupString gives 1 bytes: (62) "b"
XFilterEvent returns: False
我推测缺少XmbLookupString
小写字母K
是罪魁祸首,但我不知道如何解决这个问题。
答案1
这应该归类为“用户错误”,但可能值得注意的是发生了什么:
我
.XCompose
从另一台机器传输了一个文件,但在此过程中文件损坏了。这导致损坏的密钥配置绑定到“k”我认为需要调用命令
export GTK_IM_MODULE="xim"
来激活用户定义.XCompose
文件,因为 Gnome 中曾经出现过这种情况。因此,在调试期间,我以为我已经通过从中删除此命令来禁用用户定义的键绑定.gnomerc
,但事实并非如此。这让我(错误地)认为发生了一些更复杂的事情。
~/.XCompose
通过让 X 验证并拒绝格式错误的键绑定,可以避免将来出现类似的错误。