Linux上使用Python 監控鍵盤輸入,生成每日報表

2018-05-25 20:50:53 已經完成 Github 項目主頁

簡易統計結果:
在這裏插入圖片描述
將redis中的數據使用 echarts 做可視化 Web Redis

這裏寫圖片描述

查看輸入設備

查看輸入設備列表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 使用說明

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章