USB HID keyboard: why 4 URBs are generated for a keypress instead of 2?
There are two types of packets shown:

URB type: URB_COMPLETE:  This is clearly sent from the device and contains the key data.

URB type: URB_SUBMIT : This is the host (hid driver) asking for the next data packet.  Note that source is host and destination is device, which would otherwise be invalid for an IN type packet on the USB bus.