The SparkFun 2D Barcode Scanner Breakout is a nifty little breakout board featuring the DE2120 barcode scanner module from DYScan. The DE2120 reads 20 different barcode symbologies (both 1D and 2D) using a camera coupled with on-board image processing to identify and decode everything from UPC codes to QR codes. The module also features two LEDs: one for illumination and one to project the red line that you're used to seeing from laser-based scanners.
All keyboard, HID, and serial can be transmitted over the single USB-C connector. Sparkfun has developed libraries for Arduino and Raspberry Pi.
More information is available on the website of Sparkfun.