加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

如何在linux上的后台使用python捕获mouseevents和keyevent

发布时间:2020-12-13 18:31:01 所属栏目:Linux 来源:网络整理
导读:我想创建一个可以在后台运行的 python脚本,但是当mouseevent或keyevent发生时打印文本.是否有任何库/内置功能来实现这一目标?或者我可以调用任何系统命令来获取此信息?成为根本不是问题. 解决方法 我想,你可能会使用python绑定evdev: http://packages.pyt
我想创建一个可以在后台运行的 python脚本,但是当mouseevent或keyevent发生时打印文本.是否有任何库/内置功能来实现这一目标?或者我可以调用任何系统命令来获取此信息?成为根本不是问题.

解决方法

我想,你可能会使用python绑定evdev: http://packages.python.org/evdev/index.html.在教程中他们给出了一个键盘示例,但它应该与鼠标事件类似:
>>> from evdev import InputDevice,categorize,ecodes
>>> from select import select
>>> dev = InputDevice('/dev/input/event1')

>>> print(dev)
device /dev/input/event1,name "Dell Dell USB Keyboard",phys "usb-0000:00:12.1-2/input0"

>>> while True:
...    r,w,x = select([dev],[],[])
...    for event in dev.read():
...        if event.type == ecodes.EV_KEY:
...            print(categorize(event))
... # hitting a and holding space
key event at 1337016188.396030,30 (KEY_A),down
key event at 1337016188.492033,up
key event at 1337016189.772129,57 (KEY_SPACE),down
key event at 1337016190.275396,hold
key event at 1337016190.284160,up

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读