我在 Arch Linux 上。我完全被困在试图弄清楚为什么某些组合键可以在 X11 的常规 DELL 101 键 USB 键盘上使用,但在机械游戏键盘上却无法使用。我有 2 个键盘(ttesports 和 Corsair K60),它们在 X11 中的故障方式完全相同:除了Ctrl+ Alt+ Fn、Ctrl+ 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 状态。