如何跟踪 Linux 上生成的 X 窗口事件?

如何跟踪 Linux 上生成的 X 窗口事件?

我记得以前有一个在 Solaris 上运行的工具,可以让我查看键盘和鼠标生成的 X 事件。在 Linux Centos4 上执行此操作的应用程序是什么?

答案1

xev可能是您正在寻找的工具。

Xev 创建一个窗口,然后要求 X 服务器在窗口发生任何事件时向其发送事件(例如,移动、调整大小、输入、单击等)。您还可以将其附加到现有窗口。它对于查看导致事件发生的原因以及显示事件所包含的信息非常有用;它本质上是一个调试和开发工具,在正常使用中不需要它。

它会打印完整的事件内容,例如:

MotionNotify event, serial 38, synthetic NO, window 0x1a00001,
    root 0x1ff, subw 0x0, time 11360240, (108,129), root:(1078,148),
    state 0x0, is_hint 0, same_screen YES

或者按下按键:

KeyPress event, serial 38, synthetic NO, window 0x1a00001,
    root 0x1ff, subw 0x0, time 11362278, (111,107), root:(1081,126),
    state 0x0, keycode 24 (keysym 0x61, a), same_screen YES,
    XLookupString gives 1 bytes: (61) "a"
    XmbLookupString gives 1 bytes: (61) "a"
    XFilterEvent returns: False

相关内容