hi again,
btw, with libusb, you just send or receive buffers with up to 64 bytes, independant of how the device is enumerated. so you can send/receive data from a hid device the same way as from a non-hid device, by usb_interrupt_read or *_write ..... serial devices usually have bulk endpoints (higher transfer rate), so it just changes to usb_bulk_read and *_write.
greets,
chris