如何追踪 X11 键盘快捷键不起作用的原因?

如何追踪 X11 键盘快捷键不起作用的原因?

我在 Arch Linux 上。我完全被困在试图弄清楚为什么某些组合键可以在 X11 的常规 DELL 101 键 USB 键盘上使用,但在机械游戏键盘上却无法使用。我有 2 个键盘(ttesports 和 Corsair K60),它们在 X11 中的故障方式完全相同:除了Ctrl+ Alt+ FnCtrl+ Alt+Backspace和 CapsLock LED 之外,所有键盘都可以工作。

键盘由配置文件中的以下部分配置:

Section "InputClass"
        Identifier "system-keyboard"
        Driver       "evdev"
        MatchIsKeyboard "on"
        Option "XkbLayout" "us,ru"
        Option "XkbOptions" "grp:lalt_lshift_toggle,terminate:ctrl_alt_bksp"
EndSection

为了进行诊断,我同时插入了DELL和ttesports键盘。我试图看看单击Ctrl+ Alt+时有什么不同F2。我用来xev跟踪生成了哪些事件。当我按Ctrl+ Alt+时F2,两个键盘都会生成相同的输出(串行除外),但只有 DELL 键盘切换到 VT2,ttesports 保持屏幕不变。输出是:

KeyRelease event, serial 36, synthetic NO, window 0x2000001,
    root 0x287, subw 0x0, time 74514015, (2239,-23), root:(2385,850),
    state 0xc, keycode 68 (keysym 0x1008fe02, XF86Switch_VT_2), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

据我所知,两个键盘在控制台模式下的工作方式相同(不是 X11),从某种意义上说,据我所知,每个快捷键都可以正常工作。

如何追踪为什么一个键盘切换 VT,而另一个键盘不切换?

编辑:我还尝试跟踪 CapsLock 行为。我showkey在控制台上使用命令。当我在任一键盘上使用 CapsLock 按钮时,它显示键码 58 按下/释放。然而:

  • CapsLock任一键盘可切换 CapsLock 状态。
  • CapsLockDELL 键盘只会在 DELL 键盘上切换 CalsLock LED。
  • CapsLockttesports 键盘会切换实际的 CapsLock 状态,但 CapsLock LED 不会在 2 个键盘上切换。
  • CapsLock当 DELL 键盘上的 CapsLock LED亮起时,按 ttesports 键盘不会将其关闭,尽管它会关闭实际的 CapsLock 状态。

相关内容