Source: http://blog.automart.ph/C_pic-usb-hid-tutorial_XfwytVU5r.pdf