Dispositivos USB UDev e D-BUS

Estou tentando obter uma lista dos dispositivos USB atualmente conectados no Ubuntu 10.10 e monitorar as alterações que ocorrem, como dispositivos sendo conectados ou desconectados usando UDev e D-BUS. Eu sou bastante novo em programação usando D-BUS. Eu vi um exemplo:Linux: Como detectar se o teclado USB está conectado e desconectado somente aquele que usa o HAL e eu sei que o HAL está obsoleto. Encontrei algum código funcional, modifiquei-o um pouco, mas não funciona para nenhum dispositivo, apenas dispositivos de armazenamento, como pendrives, players de mídia ou dispositivos de CD-ROM. Eu quero a coisa toda: ratos, teclados, câmeras USB carregam tudo o que estiver conectado ao USB. Quero que meu programa saiba sobre isso. Isso é basicamente o que eu tenho (http://moserei.de/2010/01/08/accessing-devicekit-with-dbus-and-python.html ):

import dbus
import gobject
from dbus.mainloop.glib import DBusGMainLoop

def device_added_callback(device):
    print 'Device %s was added' % (device)

def device_changed_callback(device):
    print 'Device %s was changed' % (device)

#must be done before connecting to DBus
DBusGMainLoop(set_as_default=True)

bus = dbus.SystemBus()

proxy = bus.get_object("org.freedesktop.UDisks", 
                       "/org/freedesktop/UDisks")
iface = dbus.Interface(proxy, "org.freedesktop.UDisks.Device")

devices = iface.get_dbus_method('EnumerateDevices')()

print '%s' % (devices)

#addes two signal listeners
iface.connect_to_signal('DeviceAdded', device_added_callback)
iface.connect_to_signal('DeviceChanged', device_changed_callback)

#start the main loop
mainloop = gobject.MainLoop()
mainloop.run()

Qualquer ajuda seria apreciada. Agradeço antecipadamente, Calota Romeo

questionAnswers(2)

yourAnswerToTheQuestion