Exemplo n.º 1
0
def _open(args):
    device = args.device
    if args.hidpp and not device:
        for d in _hid.enumerate(vendor_id=0x046d):
            if d.driver == 'logitech-djreceiver':
                device = d.path
                break
        if not device:
            sys.exit("!! No HID++ receiver found.")
    if not device:
        sys.exit("!! Device path required.")

    print(".. Opening device", device)
    handle = _hid.open_path(device)
    if not handle:
        sys.exit("!! Failed to open %s, aborting." % device)

    print(".. Opened handle %r, vendor %r product %r serial %r." %
          (handle, _hid.get_manufacturer(handle), _hid.get_product(handle),
           _hid.get_serial(handle)))
    if args.hidpp:
        if _hid.get_manufacturer(handle) != b'Logitech':
            sys.exit("!! Only Logitech devices support the HID++ protocol.")
        print(".. HID++ validation enabled.")
    else:
        if (_hid.get_manufacturer(handle) == b'Logitech'
                and b'Receiver' in _hid.get_product(handle)):
            args.hidpp = True
            print(".. Logitech receiver detected, HID++ validation enabled.")

    return handle
Exemplo n.º 2
0
def _open(device, hidpp):
	if hidpp and not device:
		for d in hidapi.enumerate(vendor_id=0x046d):
			if d.driver == 'logitech-djreceiver':
				device = d.path
				break
		if not device:
			sys.exit("!! No HID++ receiver found.")
	if not device:
		sys.exit("!! Device path required.")

	print (".. Opening device", device)
	handle = hidapi.open_path(device)
	if not handle:
		sys.exit("!! Failed to open %s, aborting." % device)

	print (".. Opened handle %r, vendor %r product %r serial %r." % (
					handle,
					hidapi.get_manufacturer(handle),
					hidapi.get_product(handle),
					hidapi.get_serial(handle)))
	if hidpp:
		if hidapi.get_manufacturer(handle) != b'Logitech':
			sys.exit("!! Only Logitech devices support the HID++ protocol.")
		print (".. HID++ validation enabled.")

	return handle