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

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

思路:

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

/sys/class/input下存放着event对应的链接:

而对应链接到的文件夹中的/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监控键盘的输入信息。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-13 10:04:27

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

Linux如何查看与/dev/input目录下的event对应的设备

1. /dev/input目录 /dev/input目录下的事件都是在驱动中调用input_register_device(struct input_dev *dev)产生的.如我的盒子的/dev/input目录的内容如下: 待续

Python获取脚本所在目录的正确方法

http://www.jb51.net/article/49035.htm 文章主要介绍了Python获取脚本所在目录的正确方法 1.以前的方法 如果是要获得程序运行的当前目录所在位置,那么可以使用os模块的os.getcwd()函数. 如果是要获得当前执行的脚本的所在目录位置,那么需要使用sys模块的sys.path[0]变量或者sys.argv[0]来获得.实际上sys.path是Python会去寻找模块的搜索路径列表,sys.path[0]和sys.argv[0]是一回事因为Python会

用python查找在指定目录下特定文件夹下的指定文件

本代码是在python2.*上边所写. 功能:在指定目录下查找特定文件夹下的特定文件. 实例:查找在packages目录下文件夹名为values下的strings.xml文件 #!/usr/bin/env python import os def walk_dir(path): filter_file_name = 'strings.xml' for root, dirs, files in os.walk(path): for dir_item in dirs: if dir_item ==

python实例31[列出目录下所有的文件到txt]

代码: (使用os.listdir) import os def ListFilesToTxt(dir,file,wildcard,recursion):    exts = wildcard.split(" ")    files = os.listdir(dir)    for name in files:        fullname=os.path.join(dir,name)        if(os.path.isdir(fullname) & recursion

python 获取脚本所在目录

平时写python经常会想获得脚本所在的目录,例如有个文件跟脚本文件放在一个相对的目录位置,那就可以通过脚本文件的目录找到对应的文件,即使以后脚本文件移到其他地方,脚本也基本不需要改动(相对于写死目录的好处).下面通过一些代码进行一下对比. 这是我写的一段代码在:/root/printfabcd/py/filePath.py Python代码   20 logger.debug("sys.path:"+sys.path[0]) 21 logger.debug("sys.arg

python之查询指定目录下的最新文件

使用os模块查询指定目录下的最新文件 1 import os 2 3 # 输入目录路径,输出最新文件完整路径 4 def find_new_file(dir): 5 '''查找目录下最新的文件''' 6 file_lists = os.listdir(dir) 7 file_lists.sort(key=lambda fn: os.path.getmtime(dir + "\\" + fn) 8 if not os.path.isdir(dir + "\\" + f

Python获取脚本所在目录的正确方法【转】

1.以前的方法 如果是要获得程序运行的当前目录所在位置,那么可以使用os模块的os.getcwd()函数. 如果是要获得当前执行的脚本的所在目录位置,那么需要使用sys模块的sys.path[0]变量或者sys.argv[0]来获得.实际上sys.path是Python会去寻找模块的搜索路径列表,sys.path[0]和sys.argv[0]是一回事因为Python会自动把sys.argv[0]加入sys.path. 具体来说,如果你在C:\test目录下执行python getpath\get

如何获取项目src目录下的资源文件

在我们编写Java的应用程序时,可能会用到一些配置文件,如config.properties,我们可以在配置文件中存储一些重要信息,例如服务器的IP地址,用户名和密码等信息. 在本篇文章当中,只是讨论如何获取到资源文件的路径,并不会对资源文件的内容进行读取. 1.资源目录:src目录和bin目录 在我们编写Java代码的过程当中,我们会把有关的资源文件(例如config.properties)放到src目录和src目录下的某个package中. 但有一点值得注意的是,虽然我们在放置资源文件的时候

Python获取程序运行目录和脚本目录

import os import sys #获取脚本所在目录 print os.path.split( os.path.realpath( sys.argv[0] ) )[0] #获取脚本运行目录 print os.getcwd() 在脚本所在目录运行: python test.py /home/Hadoop /home/hadoop 在其他目录运行:python hadoop/test.py /home/hadoop /home