这是迄今为止我见过的最奇怪的错误。我正在联想 P50 笔记本电脑上配置全新安装的 Ubuntu Mate 16.04。我无法输入小写字母'K'
。大写可以正常工作,就像组合涉及字母的组合键一样,但我不能用小写字母输入。
现在,因此xev
选择小写 Keypresses 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
是罪魁祸首,但我不知道如何解决这个问题。
这应该归类为“用户错误”,但可能值得注意的是发生了什么:
我
.XCompose
从另一台机器上传输了一个文件,但它在此过程中损坏了。这导致损坏的密钥配置绑定到“k”我认为有必要调用命令
export GTK_IM_MODULE="xim"
来激活用户定义的.XCompose
文件,因为在 Gnome 中曾经是这种情况。因此,在调试期间,我虽然通过从 中删除此命令来禁用用户定义的键绑定.gnomerc
,但没有。这让我(错误地)相信发生了更复杂的事情。~/.XCompose
通过让 X 验证并拒绝格式不正确的键绑定,将来可以避免类似的错误。