#include <iostream>
#include <iomanip>
#include <usbpp.h>
#define VENDOR_LOGITECH 0x046D
using namespace std;
int main(void)
{
USB::Busses buslist;
USB::Device *device;
list<USB::Device *> miceFound;
list<USB::Device *>::const_iterator iter;
cout << "idVendor/idProduct/bcdDevice" << endl;
USB::DeviceIDList mouseList;
mouseList.push_back(USB::DeviceID(VENDOR_LOGITECH, 0xC00E)); mouseList.push_back(USB::DeviceID(VENDOR_LOGITECH, 0xC012)); mouseList.push_back(USB::DeviceID(VENDOR_LOGITECH, 0xC00F)); mouseList.push_back(USB::DeviceID(VENDOR_LOGITECH, 0xC024)); mouseList.push_back(USB::DeviceID(VENDOR_LOGITECH, 0xC025)); mouseList.push_back(USB::DeviceID(VENDOR_LOGITECH, 0xC503)); mouseList.push_back(USB::DeviceID(VENDOR_LOGITECH, 0xC506)); mouseList.push_back(USB::DeviceID(VENDOR_LOGITECH, 0xC031));
miceFound = buslist.match(mouseList);
for (iter = miceFound.begin(); iter != miceFound.end(); iter++) {
device = *iter;
cout << hex << setw(4) << setfill('0')
<< device->idVendor() << " / "
<< hex << setw(4) << setfill('0')
<< device->idProduct() << " / "
<< hex << setw(4) << setfill('0')
<< device->idRevision() << " "
<< endl;
}
return 0;
}