“xev”输出的含义

“xev”输出的含义

我需要一些澄清:

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 

答案1

因此在网上研究了一段时间后,我对输出的含义有了以下理解:

查看字母键的 KeyPress 和 KeyRelease 事件,例如m

KeyRelease event, serial 28, synthetic NO, window 0x6e00001,
    root 0x2c9, subw 0x0, time 17599679, (-746,426), root:(337,478),
    state 0x10, keycode 58 (keysym 0x6d, m), same_screen YES,
    XLookupString gives 1 bytes: (6d) "m"
    XFilterEvent returns: False

它具有键码并报告按下该键的窗口 ID。

功能键(例如Fn+ F6,实际上是亮度降低键)不输出此类信息。它们报告窗口 ID 为 0x0,没有密钥。因此,这意味着这些键无法重新分配,并且由软件(例如 X 服务器或控制台)控制;它们依赖于它们运行的​​环境。这也在某种程度上解释了为什么 Super 键在特定桌面环境中可能或不可能起作用 - 开发人员可以决定是否将该键的功能纳入他们的桌面环境。

MappingNotify event, serial 28, synthetic NO, window 0x0,
    request MappingKeyboard, first_keycode 8, count 248

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

相关内容