于是在网上找到了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库)
- from the5fire.com
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)
----EOF-----
微信公众号:Python程序员杂谈
微信公众号:Python程序员杂谈