更新至 Gnome 3.18 后无法使用“m”键

更新至 Gnome 3.18 后无法使用“m”键

我刚刚将 Arch Linux 更新为 gnome shell 3.18,然后我重新启动后,我的“m”不见了,按下它时它什么也没做。我试过使用它,当我搜索应用程序或在 Alt+F2 命令框中输入时它可以工作,但我无法在控制台、浏览器或任何其他地方使用它。这是 m 键的 xev 输出 >

FocusOut 事件,序列 36,合成 NO,窗口 0x2800001,
模式 NotifyGrab,细节 NotifyAncestor

FocusIn 事件,序列 36,合成 NO,窗口 0x2800001,
模式 NotifyUngrab,细节 NotifyAncestor

KeymapNotify 事件,序列 36,合成 NO,窗口 0x0,
键:2 0 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 0 0

KeyRelease 事件,序列 36,合成 NO,窗口 0x2800001,
根 0xd4,subw 0x0,时间 635522,(301,-434),根:(808,373),
状态 0x10,键码 58(keysym 0x6d,m),same_screen YES,
XLookupString 给出 1 个字节:(6d)“m”
XFilterEvent 返回:False

此处为任何其他键。我必须说 (shift + m) 工作正常。

KeyPress 事件,序列 36,合成 NO,窗口 0x2800001,
根 0xd4,subw 0x0,时间 724970,(425,97),根:(932,904),
状态 0x10,键码 57(keysym 0x6e,n),same_screen YES,
XLookupString 给出 1 个字节:(6e)“n”
XmbLookupString 给出 1 个字节:(6e)“n”
XFilterEvent 返回:False

KeyRelease 事件,序列 36,合成 NO,窗口 0x2800001,
根 0xd4,subw 0x0,时间 725051,(425,97),根:(932,904),
状态 0x10,键码 57(keysym 0x6e,n),same_screen YES,
XLookupString 给出 1 个字节:(6e)“n”
XFilterEvent 返回:False

我认为可能有一些键盘快捷键与字符 m 绑定,但是我搜索了所有 dconf 并没有发现任何东西。

localectl 状态输出:

系统区域设置:LANG=es_ES.UTF-8
VC 键盘映射:es
X11 布局:es,us
X11 变体:,

PD:我可以通过设置大写锁定并使用 shift+m​​ 来写 m,但这很痛苦。

答案1

您的键盘工作正常,但您的m按键被其他程序劫持。输出中的前两节显示了这一点:您能看到“Modify{Grab|Ungrab}”行吗?它们表明按键的输出被其他程序劫持。

该程序到底是什么,谁也说不准。X11 的最新版本确实具有调查此问题的功能,但在原始 X11 安装中,此功能通常被禁用。在 Linux 中,您需要安装该软件包xdotools才能使用这些功能。

你可以通过以下命令激活它

 xdotools key $KEY

其中 是以下$KEY之一:

  • XF86LogGrabInfo:打印当前抓取的列表/var/log/Xorg.0.log

  • XF86Ungrab:删除当前抓取,但不会终止执行抓取的进程

  • XF86ClearGrab:终止获取您密钥的进程。

这是讨论在非常有用的 Arch Linux Wiki 中以及其中的参考文献,特别是他们建议一个可爱的小技巧看看谁在passively抢你的钥匙。它由以下一行代码组成(已根据您的情况进行了调整):

xdotool keydown "m"; xdotool key "XF86LogGrabInfo"; xdotool keyup "m"; tail /var/log/Xorg.0.log

相关内容