MAX3421E USB printer class driver based on felis usb host shield library

I'm trying to develop a simple printer class driver that has a couple of end points for data etc. to print on a receipt printer. I find it very hard to understand how to make a new class driver based on felis usb host shield library:

The library and amount of device drivers is extensive but extremely hard to understand due to the way it was written with numerous templates and type defs and what not.

I wonder if anyone has a reference of how to write device drivers or examples of such device driver.

Their doc:

http://felis.github.io/USB_Host_Shield_2.0/

I've only been able to expand their HID class with a new "translator" to translate custom HID data in one instance but doing that felt like free falling into a rabbit hole.

Thanks!

There is a USB printer driver for USB host shield:

Great! Thanks. Are you the author of these libraries? The ESC_POS library that I glanced at is relying on Stream class, and requires another layer of library from the same author, which is different from the USB host shield library V2. I think it's definitely worth looking into, for being simple and UHS V2 library being so complex.

What I am currently using is the USB host shield library V1, which has been superseded by V2. On the other hand, V1 is much simpler than V2. I was able to modify and add to it to establish the needed structure to activate printer configuration and run bulk OUT end point for print data. Hope I have enough time to digest these libraries you posted the links for. Should help me understand more about the mAX3421e and how USB host works.