我需要澄清一下:
当我xev
在终端中启动并使用Super时,我得到以下输出。这是什么意思?
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
FocusIn event, serial 36, synthetic NO, window 0x2000001,
mode NotifyUngrab, detail NotifyNonlinear
KeymapNotify event, serial 36, synthetic NO, window 0x0,
keys: 93 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
所以在网上研究了一段时间后,这是我对输出含义的理解:
查看字母键的 KeyPress 和 KeyRelease 事件,例如
m
.它具有键码并报告按下键的窗口 ID。
功能键,如Fn+ F6,实际上是亮度降低键,不输出此类信息。他们报告窗口的 0x0 id 并且没有 keykode。因此,这意味着这些键不能被重新分配并由软件控制,如 X 服务器或控制台;它们依赖于它们运行的环境。这也在一定程度上解释了为什么 Super 键在特定的桌面环境中可能会或可能不会工作 - 由开发人员将该键的功能包含到他们的桌面环境中。