查找单击和键盘事件的详细信息

Non*_*ose 4 mouse xorg keyboard

我注意到 Linux 的问题步骤记录器没有太多替代品,我将尝试在 shell 脚本中制作一个。

  1. 我怎样才能等到/检测鼠标何时被点击?我想在这个时候截图。
  2. 如何找到鼠标单击的任何按钮或输入字段的描述?问题步骤记录器将返回类似用户左键单击“关闭窗口”的内容(如果我单击“X”)或用户左键单击“关闭”(如果我单击“关闭”按钮)。
  3. 如何等到/检测何时按下某个键并找出哪个键?

Hi-*_*gel 6

您可以使用xinput --test-xi2 --root命令( man xinput ),其中test-xi2表示记录输入设备,并且--root从所谓的根窗口(x11 特定概念)进行记录。它会向您显示系统中按下的时间和按键、鼠标点击,甚至鼠标运动坐标。它解决了你的13点,你只需要解析这些事件。

2点是棘手。您可以使用xev -root命令来监视系统中的所有 X 事件,包括(dis)出现的窗口、进入/退出特定窗口的焦点等。您必须解析其输出,并显示人类可读的描述正在发生。顺便说一句,该命令也会记录按键。

警告:很明显,这是一个很大的安全漏洞,可以追溯到 Xorg 的创建时代,没有人需要关心。出于这个原因,现在 X11 正在被 Wayland 协议取代(它本质上是一个 X12,但由于不向后兼容,该协议土地称为另一种方式),WM 正在实现 ATM。这不是一个快速的过程,因为协议对 WM 的要求更高,但 Fedora 25 似乎终于默认启用了 Wayland 会话。KWin也在迎头赶上。而且你的脚本在 Wayland 上不起作用。这并不意味着你不能这样做——我认为,你可以。但是您需要与特定 DE 的特定 WM 密切合作,并且该脚本不是独立的 bash 脚本,而是 WM 的插件。