在Linux下如何用Python监控键盘记录
来源:互联网 发布:u3d java工资大概多少 编辑:程序博客网 时间:2024/04/30 21:45
evdev 输入事件驱动,为输入子系统提供了一个默认的事件处理方法。其接收来自底层驱动的大多数事件,并使用相应的逻辑对其进行处理。
evdev 输入事件驱动从底层接收事件信息,将其反映到 sys 文件系统中,用户程序通过对 sys 文件系统的操作,就能够达到处理事件的能力。
这里使用一个叫做evdev的库进行处理,其原理是用C函数evdev_read()读取/dev/eventX设备中的buffer数组,里面存有input_event类型数据,下面内核上报的事件都会存在这里。
编写以下程序:
#!/usr/bin/env python#coding: utf-8from evdev import InputDevicefrom select import selectdef detectInputKey(): dev = InputDevice('/dev/input/event4') while True: select([dev], [], []) for event in dev.read(): print "code:%s value:%s" % (event.code, event.value)if __name__ == '__main__': detectInputKey()
使用root权限执行程序,通过观察可知。
注意:如果python执行器报错evdev库错误,可以去https://pypi.python.org/pypi/evdev下载,并 sudo python setup.py install
它的code就是输入的键值,它的value就是对应其状态,按下一个键时,它的value为1,松开时value为0。
那么稍微修改一下代码就可以知道输入值和状态了。
def detectInputKey(): dev = InputDevice('/dev/input/event4') while True: select([dev], [], []) for event in dev.read(): if (event.value == 1 or event.value == 0) and event.code != 0: print "Key: %s Status: %s" % (event.code, "pressed" if event.value else "release")
这样就实现了能够读取键盘输入的键和其状态的程序了。
执行程序,依次按下zxc:
这里写图片描述
假如要同时监控多个键盘输入的话,开多个线程监控就可以了。
0 0
- 在Linux下如何用Python监控键盘记录
- 在windows XP下如何用Vmware装Linux操作系统~
- 在windows XP下如何用Vmware装Linux操作系统
- 在windows XP下如何用Vmware装Linux操作系统
- 在windows XP下如何用Vmware装Linux操作系统
- 在windows XP下如何用Vmware装Linux操作系统
- 在MAC下如何用SSH连接远程LINUX服务器
- linux下的键盘记录
- 在VB中如何用API监控鼠标和键盘
- windows下如何用xmanager控制Linux?
- Linux下如何用rpm卸载软件
- Linux下如何用rpm卸载软件
- 在LINUX如何用键盘复制,粘贴
- 如何用 sysdig 监控和排查 Linux 服务器
- 如何用 sysdig 监控和排查 Linux 服务器
- 如何用Loadrunner监控Tomcat
- 如何用Key实现在Linux下方便的远程连接
- 在linux操作系统下如何用指令配置jdk的环境变量
- 二位小数
- 称砝码
- 小心:防止数据库数据写覆盖
- asp.net登录页面验证(js方法)【转载】
- 欢迎使用CSDN-markdown编辑器
- 在Linux下如何用Python监控键盘记录
- Android 使用存放在存assets文件夹下的SQLite数据库
- C/C++ 快速排序算法
- 11-系统环境变量小常识
- 解决浏览器缓存问题
- Android 之 Android Studio
- tempDay
- apache mvc的运用
- Linux下Android开发环境搭建