前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python监听usb鼠标插入

python监听usb鼠标插入

作者头像
the5fire
发布2019-02-28 15:32:09
3.3K0
发布2019-02-28 15:32:09
举报

在刚把电脑系统转为linux之后,一直觉得需要通过命令:sudo rmmod psmouse来完成禁用触摸板的操作实在是太不方便了,于是就想着用一个python脚本来完成该操作。

于是在网上找到了pyUSB这个python库,可以轻松的完成对usb设备的操作。

我的整个思路是这样的,首先开机启动一个python程序,不断运行,不停的检查usb设备中是否有usb鼠标的身影,如果有,那么执行上面的那个禁用触摸板的命令,如果没有,就启用触摸板。

到目前为止还没有完成这个小脚本,个人觉得系统应该是有一个usb设备插入的事件通知的,只是目前还不清楚怎么调用,另外还有一个问题是如何在python脚本中以管理员的身份执行禁用和启用触摸板的命令。

关于判断插入usb鼠标的代码已经完成,关于usb设备的必备知识:

USB设备分类 USB从设备的分类可以从USB设备接口描述符(Standard Interface Descriptor)对应的的bInterfaceClass这一个byte得到。 bInterfaceClass的典型代码为1,2,3,6,7,8,9,10,11,255。分别代表意思为1-audio:表示一个音频设 备。2-communication device:通讯设备,如电话,moden等等。3-HID:人机交互设备,如键盘,鼠标等。6-image图象设备,如扫描仪,摄像头等,有时数码相 机也可归到这一类。7-打印机类。如单向,双向打印机等。8-mass storage海量存储类。所有带有一定存储功能的都可以归到这一类。如数码相机大多数都归这一类。9-hub类。11-chip card/smart card。255-vendor specific.厂家的自定义类,主要用于一些特殊的设备。如接口转接卡等。

下面是代码:(当然,前提是你要安装PyUSB库)

代码语言:javascript
复制
import usb
import os

busses = usb.busses()

for bus in busses:
	devices = bus.devices
	for dev in devices:
		for config in dev.configurations:
			for intf in config.interfaces:
				for alt in intf:
					print " --------alt.interfaceClass:",alt.interfaceClass
					if alt.interfaceClass == 3:
						print 'hahhaahhaah'
						cmd = 'sudo rmmod psmouse'
						os.system(cmd)
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2011-10-06 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云小微
腾讯云小微,是一套腾讯云的智能服务系统,也是一个智能服务开放平台,接入小微的硬件可以快速具备听觉和视觉感知能力,帮助智能硬件厂商实现语音人机互动和音视频服务能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档