#!/usr/bin/python import sys import getopt import dbus bus = dbus.SystemBus() bmgr = dbus.Interface(bus.get_object('org.bluez', '/org/bluez'), 'org.bluez.Manager') bus_id = bmgr.ActivateService('input') imgr = dbus.Interface(bus.get_object(bus_id, '/org/bluez/input'), 'org.bluez.input.Manager') optlist, args = getopt.getopt(sys.argv[1:], '', ['list','connect=','disconnect=','help']) for opt,val in optlist: if opt == '--list': for path in imgr.ListDevices(): idev = dbus.Interface (bus.get_object(bus_id, path), 'org.bluez.input.Device') print "%s Name: \"%s\" ID: %04x:%04x Connected: %i" % (path, idev.GetName(), idev.GetProductId(), idev.GetVendorId(), idev.IsConnected()) elif opt == '--connect': path = '' if (val[0] == '/'): path = val else: path = imgr.CreateDevice(val) idev = dbus.Interface (bus.get_object(bus_id, path), 'org.bluez.input.Device') idev.Connect() elif opt == '--disconnect': imgr.RemoveDevice(val) else: print 'usage: ', sys.argv[0], '[ --list, --connect=[XX:XX:XX:XX:XX, /org/bluez/input/device0], --disconnect=/org/bluez/input/device0, --help ]' break