Linux上使用Python 监控键盘输入,生成每日报表

2018-05-25 20:50:53 已经完成 Github 项目主页

简易统计结果:
Linux上使用Python 监控键盘输入,生成每日报表_第1张图片
将redis中的数据使用 echarts 做可视化 Web Redis

Linux上使用Python 监控键盘输入,生成每日报表_第2张图片

查看输入设备

查看输入设备列表ls /dev/input
查看输入设备的详细信息 cat /proc/bus/input/devices
根据描述,找到键盘对应的eventX

例如我的键盘是这个: event0

$ cat /proc/bus/input/devices 
I: Bus=0011 Vendor=0001 Product=0001 Version=ab83
N: Name="AT Translated Set 2 keyboard"
P: Phys=isa0060/serio0/input0
S: Sysfs=/devices/platform/i8042/serio0/input/input0
U: Uniq=
H: Handlers=sysrq kbd leds event0 
B: PROP=0
B: EV=120013
B: KEY=402000000 3803078f800d001 feffffdfffefffff fffffffffffffffe
B: MSC=10
B: LED=7

方案

1. evtest

evtest
使用: evtest "/dev/input/eventX" X 为对应的数字

2. input-utils

debian列表
暂时还不会用…

3. Python的evdev模块

官方文档

# 实现了 对键盘敲击次数的计数
from evdev import InputDevice
from select import select

def detectInputKey(count):
    dev = InputDevice('/dev/input/event0')
    while True:
        select([dev], [], [])
        for event in dev.read():
            if event.value == 1 and event.code != 0:
                count+=1
                print(count)

detectInputKey(0)

注意要root权限执行.


如果是安卓就更方便 getevent和setevent getevent/sendevent 使用说明

你可能感兴趣的:(Linux)