I'm new here but I'm going to go out on a limb and see if this is helpful :-)
Assuming by HID you mean Human Interface Device you might want to look at some of the starter monome examples. The monome (which you may already know) is a USB device that sends button presses and receives LED on/off messages - at it's simplest level.
Max patches communicate with the monome using udpsend and udpreceive via a helper app called "MonomeSerial" on the Mac side - not sure what on Windows. You can find out more information (and another very helpful forum) at http://monome.org
So...I would consider the monome a HID - so hopefully this is helpful and can point you in the right direction.
I meant HID devices, right. The "hi" object (https://cycling74.com/docs/max5/refpages/max-ref/hi.html) is convenient in that one can directly read from HID devices connected by USB. The documentation does not show a way to send data back to the HID device, which is something I need to do with the wireless PS/3 Buzz controllers I try to use. I am hoping for an undocumented method that allows sending data. It would be nice to get away without additional helper applications.