方括号键停止工作

方括号键停止工作

在有人问之前,是的,我已经确定键盘本身没有问题,当我按住 Shift 键创建花括号时,有问题的两个键可以正常工作,并且它们在其他计算机上可以正确输入方括号。我在 Visual Studio Code 中编写代码,发现我的方括号键停止工作,但当我按住 Shift 键创建花括号时它们可以正常工作。我重启了几次电脑,但没有成功,在我做了一些调查并使用 xev 命令之后。

FocusOut event, serial 36, synthetic NO, window 0x4200001,
    mode NotifyGrab, detail NotifyAncestor

FocusIn event, serial 36, synthetic NO, window 0x4200001,
    mode NotifyUngrab, detail NotifyAncestor

KeymapNotify event, serial 36, synthetic NO, window 0x0,
    keys:  68  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   0   0   0   0   

FocusOut event, serial 36, synthetic NO, window 0x4200001,
    mode NotifyGrab, detail NotifyAncestor

FocusIn event, serial 36, synthetic NO, window 0x4200001,
    mode NotifyUngrab, detail NotifyAncestor

KeymapNotify event, serial 36, synthetic NO, window 0x0,
    keys:  2   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   0   0   0   0 

这就是我按下方括号键时发生的情况,我认为是其他程序在干扰方括号的执行,至少这是我从所有挖掘中得出的结论。问题是,我不知道那是什么程序。即使我刚刚启动机器,也会发生这种情况。当我尝试将Settings->Keyboard键绑定到某个东西时,它会识别它们,甚至允许我将它们绑定到现有命令。有什么想法可能导致这种情况吗?

- 更新 -

Mar 26 19:33:49 MinervaUBU /usr/lib/gdm3/gdm-x-session[1262]:     detail 1 (mask 0), modifiersDetail 79 (mask 0)
Mar 26 19:33:49 MinervaUBU /usr/lib/gdm3/gdm-x-session[1262]:     device 'Virtual core pointer' (2), modifierDevice 'Virtual core keyboard' (3)
Mar 26 19:33:49 MinervaUBU /usr/lib/gdm3/gdm-x-session[1262]:       xi2 event mask 0x70 0 0 0
Mar 26 19:33:49 MinervaUBU /usr/lib/gdm3/gdm-x-session[1262]:     owner-events false, kb 1 ptr 1, confine 0x0, cursor 0x0
Mar 26 19:33:49 MinervaUBU sudo[21324]: pam_unix(sudo:session): session closed for user root
Mar 26 19:33:49 MinervaUBU sudo[21326]: epicrangerpig : TTY=pts/0 ; PWD=/home/epicrangerpig ; USER=root ; COMMAND=/usr/bin/xdotool keyup XF86AudioMute
Mar 26 19:33:49 MinervaUBU sudo[21326]: pam_unix(sudo:session): session opened for user root by (uid=0)
Mar 26 19:33:49 MinervaUBU sudo[21326]: pam_unix(sudo:session): session closed for user root
Mar 26 19:33:56 MinervaUBU sudo[21328]: epicrangerpig : TTY=pts/0 ; PWD=/home/epicrangerpig ; USER=root ; COMMAND=/bin/journalctl -f
Mar 26 19:33:56 MinervaUBU sudo[21328]: pam_unix(sudo:session): session opened for user root by (uid=0)

--编辑2--

我自己解决了这个问题。其实这是我自己的错,我曾经在非常累的时候创建了一个 Xbindkeys 配置文件,然后就忘了它!停止 Xbindkeys 并删除配置文件,一切就都好了!

答案1

您可以使用xdotool来记录“Grab”信息:

KEY=XF86AudioPlay
xdotool keydown ${KEY}; xdotool key XF86LogGrabInfo; xdotool keyup ${KEY}

X11“抓取”将被记录。较新的系统可以在日志中看到这些详细信息$ sudo journalctl -f,而较旧的系统可能会在中找到日志/var/log/Xorg.0.log。这会向您显示哪个 X11 应用程序正在捕获或拦截密钥。

如果这不起作用,您能提供 X 加载之前行为的详细信息吗?

相关内容