linux下查看usb插拔日志,Linux:如何检测usb键盘是否已插入和拔出

如果HAL守护进程正在运行(这在大多数现代linux桌面上都是如此),那么您可以监听它的DBus信号。下面是一个如何检测USB鼠标是否已插入的示例(我手头没有USB键盘):import gobject

import dbus

from dbus.mainloop.glib import DBusGMainLoop

DBusGMainLoop(set_as_default=True)

bus = dbus.SystemBus()

# enumerate all present mice:

manager = dbus.Interface(bus.get_object("org.freedesktop.Hal",

"/org/freedesktop/Hal/Manager"),

"org.freedesktop.Hal.Manager")

mice = set(manager.FindDeviceByCapability('input.mouse'))

def device_added(sender):

dev = dbus.Interface(bus.get_object("org.freedesktop.Hal", sender),

"org.freedesktop.Hal.Device")

try:

caps = dev.GetProperty('info.capabilities')

if 'input.mouse' in caps:

print "mouse plugged in"

mice.add(sender)

except dbus.DBusException:

pass

def device_removed(sender):

if sender in mice:

print "mouse unplugged"

mice.remove(sender)

bus.add_signal_receiver(device_added, signal_name="DeviceAdded")

bus.add_signal_receiver(device_removed, signal_name="DeviceRemoved")

loop = gobject.MainLoop()

loop.run()

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值