使用Python获取/dev/input目录下event对应的设备

关于Linux的Input子系统详解请看这篇文章。

思路:

在某些情况下,我们想知道,event分别对应的是什么设备。虽然我们可以终端中通过命令获取详细信息,我们可以使用Python进行相关处理后获取event所对应的设备的信息。而系统所有输入设备都会出现在/sys/class/input之下,不论它们是以何种总线连接到系统的。

/sys/class/input下存放着event对应的链接:
使用Python获取/dev/input目录下event对应的设备_第1张图片

而对应链接到的文件夹中的/device/name文件中存放着该event对应的设备名称,直接读取文件内容就可以知道该event对应的设备名称。

代码:

#!/usr/bin/env python
#coding: utf-8
import os

# 源目录
deviceFilePath = '/sys/class/input/'

def showDevice():
    os.chdir(deviceFilePath)
    for i in os.listdir(os.getcwd()):
        namePath = deviceFilePath + i + '/device/name'
        if os.path.isfile(namePath):
            print "Name: %s Device: %s" % (i, file(namePath).read())

调用函数可输出event与相关的设备名称

效果:

下篇我将讲讲在Linux下如何用Python监控键盘的输入信息。

你可能感兴趣的:(linux,python,input)