diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/.gitattributes b/lib/usbhost/USB_Host_Shield_2.0/.gitattributes
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/.gitattributes
rename to lib/usbhost/USB_Host_Shield_2.0/.gitattributes
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/.gitignore b/lib/usbhost/USB_Host_Shield_2.0/.gitignore
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/.gitignore
rename to lib/usbhost/USB_Host_Shield_2.0/.gitignore
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/.gitmodules b/lib/usbhost/USB_Host_Shield_2.0/.gitmodules
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/.gitmodules
rename to lib/usbhost/USB_Host_Shield_2.0/.gitmodules
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/BTD.cpp b/lib/usbhost/USB_Host_Shield_2.0/BTD.cpp
old mode 100755
new mode 100644
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/BTD.cpp
rename to lib/usbhost/USB_Host_Shield_2.0/BTD.cpp
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/BTD.h b/lib/usbhost/USB_Host_Shield_2.0/BTD.h
old mode 100755
new mode 100644
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/BTD.h
rename to lib/usbhost/USB_Host_Shield_2.0/BTD.h
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/BTHID.cpp b/lib/usbhost/USB_Host_Shield_2.0/BTHID.cpp
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/BTHID.cpp
rename to lib/usbhost/USB_Host_Shield_2.0/BTHID.cpp
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/BTHID.h b/lib/usbhost/USB_Host_Shield_2.0/BTHID.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/BTHID.h
rename to lib/usbhost/USB_Host_Shield_2.0/BTHID.h
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/PS3BT.cpp b/lib/usbhost/USB_Host_Shield_2.0/PS3BT.cpp
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/PS3BT.cpp
rename to lib/usbhost/USB_Host_Shield_2.0/PS3BT.cpp
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/PS3BT.h b/lib/usbhost/USB_Host_Shield_2.0/PS3BT.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/PS3BT.h
rename to lib/usbhost/USB_Host_Shield_2.0/PS3BT.h
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/PS3Enums.h b/lib/usbhost/USB_Host_Shield_2.0/PS3Enums.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/PS3Enums.h
rename to lib/usbhost/USB_Host_Shield_2.0/PS3Enums.h
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/PS3USB.cpp b/lib/usbhost/USB_Host_Shield_2.0/PS3USB.cpp
old mode 100755
new mode 100644
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/PS3USB.cpp
rename to lib/usbhost/USB_Host_Shield_2.0/PS3USB.cpp
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/PS3USB.h b/lib/usbhost/USB_Host_Shield_2.0/PS3USB.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/PS3USB.h
rename to lib/usbhost/USB_Host_Shield_2.0/PS3USB.h
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/PS4BT.h b/lib/usbhost/USB_Host_Shield_2.0/PS4BT.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/PS4BT.h
rename to lib/usbhost/USB_Host_Shield_2.0/PS4BT.h
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/PS4Parser.cpp b/lib/usbhost/USB_Host_Shield_2.0/PS4Parser.cpp
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/PS4Parser.cpp
rename to lib/usbhost/USB_Host_Shield_2.0/PS4Parser.cpp
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/PS4Parser.h b/lib/usbhost/USB_Host_Shield_2.0/PS4Parser.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/PS4Parser.h
rename to lib/usbhost/USB_Host_Shield_2.0/PS4Parser.h
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/PS4USB.h b/lib/usbhost/USB_Host_Shield_2.0/PS4USB.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/PS4USB.h
rename to lib/usbhost/USB_Host_Shield_2.0/PS4USB.h
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/PSBuzz.cpp b/lib/usbhost/USB_Host_Shield_2.0/PSBuzz.cpp
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/PSBuzz.cpp
rename to lib/usbhost/USB_Host_Shield_2.0/PSBuzz.cpp
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/PSBuzz.h b/lib/usbhost/USB_Host_Shield_2.0/PSBuzz.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/PSBuzz.h
rename to lib/usbhost/USB_Host_Shield_2.0/PSBuzz.h
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/README.md b/lib/usbhost/USB_Host_Shield_2.0/README.md
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/README.md
rename to lib/usbhost/USB_Host_Shield_2.0/README.md
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/SPP.cpp b/lib/usbhost/USB_Host_Shield_2.0/SPP.cpp
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/SPP.cpp
rename to lib/usbhost/USB_Host_Shield_2.0/SPP.cpp
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/SPP.h b/lib/usbhost/USB_Host_Shield_2.0/SPP.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/SPP.h
rename to lib/usbhost/USB_Host_Shield_2.0/SPP.h
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/Usb.cpp b/lib/usbhost/USB_Host_Shield_2.0/Usb.cpp
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/Usb.cpp
rename to lib/usbhost/USB_Host_Shield_2.0/Usb.cpp
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/Usb.h b/lib/usbhost/USB_Host_Shield_2.0/Usb.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/Usb.h
rename to lib/usbhost/USB_Host_Shield_2.0/Usb.h
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/UsbCore.h b/lib/usbhost/USB_Host_Shield_2.0/UsbCore.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/UsbCore.h
rename to lib/usbhost/USB_Host_Shield_2.0/UsbCore.h
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/Wii.cpp b/lib/usbhost/USB_Host_Shield_2.0/Wii.cpp
old mode 100755
new mode 100644
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/Wii.cpp
rename to lib/usbhost/USB_Host_Shield_2.0/Wii.cpp
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/Wii.h b/lib/usbhost/USB_Host_Shield_2.0/Wii.h
old mode 100755
new mode 100644
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/Wii.h
rename to lib/usbhost/USB_Host_Shield_2.0/Wii.h
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/WiiCameraReadme.md b/lib/usbhost/USB_Host_Shield_2.0/WiiCameraReadme.md
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/WiiCameraReadme.md
rename to lib/usbhost/USB_Host_Shield_2.0/WiiCameraReadme.md
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/XBOXOLD.cpp b/lib/usbhost/USB_Host_Shield_2.0/XBOXOLD.cpp
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/XBOXOLD.cpp
rename to lib/usbhost/USB_Host_Shield_2.0/XBOXOLD.cpp
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/XBOXOLD.h b/lib/usbhost/USB_Host_Shield_2.0/XBOXOLD.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/XBOXOLD.h
rename to lib/usbhost/USB_Host_Shield_2.0/XBOXOLD.h
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/XBOXONE.cpp b/lib/usbhost/USB_Host_Shield_2.0/XBOXONE.cpp
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/XBOXONE.cpp
rename to lib/usbhost/USB_Host_Shield_2.0/XBOXONE.cpp
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/XBOXONE.h b/lib/usbhost/USB_Host_Shield_2.0/XBOXONE.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/XBOXONE.h
rename to lib/usbhost/USB_Host_Shield_2.0/XBOXONE.h
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/XBOXRECV.cpp b/lib/usbhost/USB_Host_Shield_2.0/XBOXRECV.cpp
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/XBOXRECV.cpp
rename to lib/usbhost/USB_Host_Shield_2.0/XBOXRECV.cpp
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/XBOXRECV.h b/lib/usbhost/USB_Host_Shield_2.0/XBOXRECV.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/XBOXRECV.h
rename to lib/usbhost/USB_Host_Shield_2.0/XBOXRECV.h
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/XBOXUSB.cpp b/lib/usbhost/USB_Host_Shield_2.0/XBOXUSB.cpp
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/XBOXUSB.cpp
rename to lib/usbhost/USB_Host_Shield_2.0/XBOXUSB.cpp
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/XBOXUSB.h b/lib/usbhost/USB_Host_Shield_2.0/XBOXUSB.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/XBOXUSB.h
rename to lib/usbhost/USB_Host_Shield_2.0/XBOXUSB.h
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/address.h b/lib/usbhost/USB_Host_Shield_2.0/address.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/address.h
rename to lib/usbhost/USB_Host_Shield_2.0/address.h
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/adk.cpp b/lib/usbhost/USB_Host_Shield_2.0/adk.cpp
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/adk.cpp
rename to lib/usbhost/USB_Host_Shield_2.0/adk.cpp
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/adk.h b/lib/usbhost/USB_Host_Shield_2.0/adk.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/adk.h
rename to lib/usbhost/USB_Host_Shield_2.0/adk.h
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/avrpins.h b/lib/usbhost/USB_Host_Shield_2.0/avrpins.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/avrpins.h
rename to lib/usbhost/USB_Host_Shield_2.0/avrpins.h
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/cdc_XR21B1411.cpp b/lib/usbhost/USB_Host_Shield_2.0/cdc_XR21B1411.cpp
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/cdc_XR21B1411.cpp
rename to lib/usbhost/USB_Host_Shield_2.0/cdc_XR21B1411.cpp
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/cdc_XR21B1411.h b/lib/usbhost/USB_Host_Shield_2.0/cdc_XR21B1411.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/cdc_XR21B1411.h
rename to lib/usbhost/USB_Host_Shield_2.0/cdc_XR21B1411.h
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/cdcacm.cpp b/lib/usbhost/USB_Host_Shield_2.0/cdcacm.cpp
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/cdcacm.cpp
rename to lib/usbhost/USB_Host_Shield_2.0/cdcacm.cpp
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/cdcacm.h b/lib/usbhost/USB_Host_Shield_2.0/cdcacm.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/cdcacm.h
rename to lib/usbhost/USB_Host_Shield_2.0/cdcacm.h
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/cdcftdi.cpp b/lib/usbhost/USB_Host_Shield_2.0/cdcftdi.cpp
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/cdcftdi.cpp
rename to lib/usbhost/USB_Host_Shield_2.0/cdcftdi.cpp
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/cdcftdi.h b/lib/usbhost/USB_Host_Shield_2.0/cdcftdi.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/cdcftdi.h
rename to lib/usbhost/USB_Host_Shield_2.0/cdcftdi.h
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/cdcprolific.cpp b/lib/usbhost/USB_Host_Shield_2.0/cdcprolific.cpp
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/cdcprolific.cpp
rename to lib/usbhost/USB_Host_Shield_2.0/cdcprolific.cpp
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/cdcprolific.h b/lib/usbhost/USB_Host_Shield_2.0/cdcprolific.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/cdcprolific.h
rename to lib/usbhost/USB_Host_Shield_2.0/cdcprolific.h
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/confdescparser.h b/lib/usbhost/USB_Host_Shield_2.0/confdescparser.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/confdescparser.h
rename to lib/usbhost/USB_Host_Shield_2.0/confdescparser.h
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/controllerEnums.h b/lib/usbhost/USB_Host_Shield_2.0/controllerEnums.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/controllerEnums.h
rename to lib/usbhost/USB_Host_Shield_2.0/controllerEnums.h
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/Bluetooth/BTHID/BTHID.ino b/lib/usbhost/USB_Host_Shield_2.0/examples/Bluetooth/BTHID/BTHID.ino
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/Bluetooth/BTHID/BTHID.ino
rename to lib/usbhost/USB_Host_Shield_2.0/examples/Bluetooth/BTHID/BTHID.ino
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/Bluetooth/BTHID/KeyboardParser.h b/lib/usbhost/USB_Host_Shield_2.0/examples/Bluetooth/BTHID/KeyboardParser.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/Bluetooth/BTHID/KeyboardParser.h
rename to lib/usbhost/USB_Host_Shield_2.0/examples/Bluetooth/BTHID/KeyboardParser.h
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/Bluetooth/BTHID/MouseParser.h b/lib/usbhost/USB_Host_Shield_2.0/examples/Bluetooth/BTHID/MouseParser.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/Bluetooth/BTHID/MouseParser.h
rename to lib/usbhost/USB_Host_Shield_2.0/examples/Bluetooth/BTHID/MouseParser.h
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/Bluetooth/PS3BT/PS3BT.ino b/lib/usbhost/USB_Host_Shield_2.0/examples/Bluetooth/PS3BT/PS3BT.ino
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/Bluetooth/PS3BT/PS3BT.ino
rename to lib/usbhost/USB_Host_Shield_2.0/examples/Bluetooth/PS3BT/PS3BT.ino
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/Bluetooth/PS3Multi/PS3Multi.ino b/lib/usbhost/USB_Host_Shield_2.0/examples/Bluetooth/PS3Multi/PS3Multi.ino
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/Bluetooth/PS3Multi/PS3Multi.ino
rename to lib/usbhost/USB_Host_Shield_2.0/examples/Bluetooth/PS3Multi/PS3Multi.ino
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/Bluetooth/PS3SPP/PS3SPP.ino b/lib/usbhost/USB_Host_Shield_2.0/examples/Bluetooth/PS3SPP/PS3SPP.ino
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/Bluetooth/PS3SPP/PS3SPP.ino
rename to lib/usbhost/USB_Host_Shield_2.0/examples/Bluetooth/PS3SPP/PS3SPP.ino
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/Bluetooth/PS4BT/PS4BT.ino b/lib/usbhost/USB_Host_Shield_2.0/examples/Bluetooth/PS4BT/PS4BT.ino
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/Bluetooth/PS4BT/PS4BT.ino
rename to lib/usbhost/USB_Host_Shield_2.0/examples/Bluetooth/PS4BT/PS4BT.ino
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/Bluetooth/SPP/SPP.ino b/lib/usbhost/USB_Host_Shield_2.0/examples/Bluetooth/SPP/SPP.ino
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/Bluetooth/SPP/SPP.ino
rename to lib/usbhost/USB_Host_Shield_2.0/examples/Bluetooth/SPP/SPP.ino
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/Bluetooth/SPPMulti/SPPMulti.ino b/lib/usbhost/USB_Host_Shield_2.0/examples/Bluetooth/SPPMulti/SPPMulti.ino
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/Bluetooth/SPPMulti/SPPMulti.ino
rename to lib/usbhost/USB_Host_Shield_2.0/examples/Bluetooth/SPPMulti/SPPMulti.ino
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/Bluetooth/Wii/Wii.ino b/lib/usbhost/USB_Host_Shield_2.0/examples/Bluetooth/Wii/Wii.ino
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/Bluetooth/Wii/Wii.ino
rename to lib/usbhost/USB_Host_Shield_2.0/examples/Bluetooth/Wii/Wii.ino
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/Bluetooth/WiiBalanceBoard/WiiBalanceBoard.ino b/lib/usbhost/USB_Host_Shield_2.0/examples/Bluetooth/WiiBalanceBoard/WiiBalanceBoard.ino
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/Bluetooth/WiiBalanceBoard/WiiBalanceBoard.ino
rename to lib/usbhost/USB_Host_Shield_2.0/examples/Bluetooth/WiiBalanceBoard/WiiBalanceBoard.ino
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/Bluetooth/WiiIRCamera/WiiIRCamera.ino b/lib/usbhost/USB_Host_Shield_2.0/examples/Bluetooth/WiiIRCamera/WiiIRCamera.ino
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/Bluetooth/WiiIRCamera/WiiIRCamera.ino
rename to lib/usbhost/USB_Host_Shield_2.0/examples/Bluetooth/WiiIRCamera/WiiIRCamera.ino
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/Bluetooth/WiiMulti/WiiMulti.ino b/lib/usbhost/USB_Host_Shield_2.0/examples/Bluetooth/WiiMulti/WiiMulti.ino
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/Bluetooth/WiiMulti/WiiMulti.ino
rename to lib/usbhost/USB_Host_Shield_2.0/examples/Bluetooth/WiiMulti/WiiMulti.ino
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/Bluetooth/WiiUProController/WiiUProController.ino b/lib/usbhost/USB_Host_Shield_2.0/examples/Bluetooth/WiiUProController/WiiUProController.ino
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/Bluetooth/WiiUProController/WiiUProController.ino
rename to lib/usbhost/USB_Host_Shield_2.0/examples/Bluetooth/WiiUProController/WiiUProController.ino
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/HID/USBHIDBootKbd/USBHIDBootKbd.ino b/lib/usbhost/USB_Host_Shield_2.0/examples/HID/USBHIDBootKbd/USBHIDBootKbd.ino
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/HID/USBHIDBootKbd/USBHIDBootKbd.ino
rename to lib/usbhost/USB_Host_Shield_2.0/examples/HID/USBHIDBootKbd/USBHIDBootKbd.ino
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/HID/USBHIDBootKbdAndMouse/USBHIDBootKbdAndMouse.ino b/lib/usbhost/USB_Host_Shield_2.0/examples/HID/USBHIDBootKbdAndMouse/USBHIDBootKbdAndMouse.ino
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/HID/USBHIDBootKbdAndMouse/USBHIDBootKbdAndMouse.ino
rename to lib/usbhost/USB_Host_Shield_2.0/examples/HID/USBHIDBootKbdAndMouse/USBHIDBootKbdAndMouse.ino
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/HID/USBHIDBootMouse/USBHIDBootMouse.ino b/lib/usbhost/USB_Host_Shield_2.0/examples/HID/USBHIDBootMouse/USBHIDBootMouse.ino
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/HID/USBHIDBootMouse/USBHIDBootMouse.ino
rename to lib/usbhost/USB_Host_Shield_2.0/examples/HID/USBHIDBootMouse/USBHIDBootMouse.ino
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/HID/USBHIDJoystick/USBHIDJoystick.ino b/lib/usbhost/USB_Host_Shield_2.0/examples/HID/USBHIDJoystick/USBHIDJoystick.ino
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/HID/USBHIDJoystick/USBHIDJoystick.ino
rename to lib/usbhost/USB_Host_Shield_2.0/examples/HID/USBHIDJoystick/USBHIDJoystick.ino
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/HID/USBHIDJoystick/hidjoystickrptparser.cpp b/lib/usbhost/USB_Host_Shield_2.0/examples/HID/USBHIDJoystick/hidjoystickrptparser.cpp
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/HID/USBHIDJoystick/hidjoystickrptparser.cpp
rename to lib/usbhost/USB_Host_Shield_2.0/examples/HID/USBHIDJoystick/hidjoystickrptparser.cpp
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/HID/USBHIDJoystick/hidjoystickrptparser.h b/lib/usbhost/USB_Host_Shield_2.0/examples/HID/USBHIDJoystick/hidjoystickrptparser.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/HID/USBHIDJoystick/hidjoystickrptparser.h
rename to lib/usbhost/USB_Host_Shield_2.0/examples/HID/USBHIDJoystick/hidjoystickrptparser.h
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/HID/USBHID_desc/USBHID_desc.ino b/lib/usbhost/USB_Host_Shield_2.0/examples/HID/USBHID_desc/USBHID_desc.ino
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/HID/USBHID_desc/USBHID_desc.ino
rename to lib/usbhost/USB_Host_Shield_2.0/examples/HID/USBHID_desc/USBHID_desc.ino
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/HID/USBHID_desc/pgmstrings.h b/lib/usbhost/USB_Host_Shield_2.0/examples/HID/USBHID_desc/pgmstrings.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/HID/USBHID_desc/pgmstrings.h
rename to lib/usbhost/USB_Host_Shield_2.0/examples/HID/USBHID_desc/pgmstrings.h
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/HID/le3dp/le3dp.ino b/lib/usbhost/USB_Host_Shield_2.0/examples/HID/le3dp/le3dp.ino
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/HID/le3dp/le3dp.ino
rename to lib/usbhost/USB_Host_Shield_2.0/examples/HID/le3dp/le3dp.ino
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/HID/le3dp/le3dp_rptparser.cpp b/lib/usbhost/USB_Host_Shield_2.0/examples/HID/le3dp/le3dp_rptparser.cpp
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/HID/le3dp/le3dp_rptparser.cpp
rename to lib/usbhost/USB_Host_Shield_2.0/examples/HID/le3dp/le3dp_rptparser.cpp
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/HID/le3dp/le3dp_rptparser.h b/lib/usbhost/USB_Host_Shield_2.0/examples/HID/le3dp/le3dp_rptparser.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/HID/le3dp/le3dp_rptparser.h
rename to lib/usbhost/USB_Host_Shield_2.0/examples/HID/le3dp/le3dp_rptparser.h
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/HID/scale/scale.ino b/lib/usbhost/USB_Host_Shield_2.0/examples/HID/scale/scale.ino
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/HID/scale/scale.ino
rename to lib/usbhost/USB_Host_Shield_2.0/examples/HID/scale/scale.ino
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/HID/scale/scale_rptparser.cpp b/lib/usbhost/USB_Host_Shield_2.0/examples/HID/scale/scale_rptparser.cpp
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/HID/scale/scale_rptparser.cpp
rename to lib/usbhost/USB_Host_Shield_2.0/examples/HID/scale/scale_rptparser.cpp
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/HID/scale/scale_rptparser.h b/lib/usbhost/USB_Host_Shield_2.0/examples/HID/scale/scale_rptparser.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/HID/scale/scale_rptparser.h
rename to lib/usbhost/USB_Host_Shield_2.0/examples/HID/scale/scale_rptparser.h
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/PS3USB/PS3USB.ino b/lib/usbhost/USB_Host_Shield_2.0/examples/PS3USB/PS3USB.ino
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/PS3USB/PS3USB.ino
rename to lib/usbhost/USB_Host_Shield_2.0/examples/PS3USB/PS3USB.ino
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/PS4USB/PS4USB.ino b/lib/usbhost/USB_Host_Shield_2.0/examples/PS4USB/PS4USB.ino
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/PS4USB/PS4USB.ino
rename to lib/usbhost/USB_Host_Shield_2.0/examples/PS4USB/PS4USB.ino
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/PSBuzz/PSBuzz.ino b/lib/usbhost/USB_Host_Shield_2.0/examples/PSBuzz/PSBuzz.ino
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/PSBuzz/PSBuzz.ino
rename to lib/usbhost/USB_Host_Shield_2.0/examples/PSBuzz/PSBuzz.ino
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/USB_desc/USB_desc.ino b/lib/usbhost/USB_Host_Shield_2.0/examples/USB_desc/USB_desc.ino
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/USB_desc/USB_desc.ino
rename to lib/usbhost/USB_Host_Shield_2.0/examples/USB_desc/USB_desc.ino
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/USB_desc/pgmstrings.h b/lib/usbhost/USB_Host_Shield_2.0/examples/USB_desc/pgmstrings.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/USB_desc/pgmstrings.h
rename to lib/usbhost/USB_Host_Shield_2.0/examples/USB_desc/pgmstrings.h
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/Xbox/XBOXOLD/XBOXOLD.ino b/lib/usbhost/USB_Host_Shield_2.0/examples/Xbox/XBOXOLD/XBOXOLD.ino
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/Xbox/XBOXOLD/XBOXOLD.ino
rename to lib/usbhost/USB_Host_Shield_2.0/examples/Xbox/XBOXOLD/XBOXOLD.ino
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/Xbox/XBOXONE/XBOXONE.ino b/lib/usbhost/USB_Host_Shield_2.0/examples/Xbox/XBOXONE/XBOXONE.ino
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/Xbox/XBOXONE/XBOXONE.ino
rename to lib/usbhost/USB_Host_Shield_2.0/examples/Xbox/XBOXONE/XBOXONE.ino
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/Xbox/XBOXRECV/XBOXRECV.ino b/lib/usbhost/USB_Host_Shield_2.0/examples/Xbox/XBOXRECV/XBOXRECV.ino
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/Xbox/XBOXRECV/XBOXRECV.ino
rename to lib/usbhost/USB_Host_Shield_2.0/examples/Xbox/XBOXRECV/XBOXRECV.ino
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/Xbox/XBOXUSB/XBOXUSB.ino b/lib/usbhost/USB_Host_Shield_2.0/examples/Xbox/XBOXUSB/XBOXUSB.ino
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/Xbox/XBOXUSB/XBOXUSB.ino
rename to lib/usbhost/USB_Host_Shield_2.0/examples/Xbox/XBOXUSB/XBOXUSB.ino
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/acm/acm_terminal/acm_terminal.ino b/lib/usbhost/USB_Host_Shield_2.0/examples/acm/acm_terminal/acm_terminal.ino
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/acm/acm_terminal/acm_terminal.ino
rename to lib/usbhost/USB_Host_Shield_2.0/examples/acm/acm_terminal/acm_terminal.ino
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/acm/acm_terminal/pgmstrings.h b/lib/usbhost/USB_Host_Shield_2.0/examples/acm/acm_terminal/pgmstrings.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/acm/acm_terminal/pgmstrings.h
rename to lib/usbhost/USB_Host_Shield_2.0/examples/acm/acm_terminal/pgmstrings.h
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/adk/ArduinoBlinkLED/ArduinoBlinkLED.ino b/lib/usbhost/USB_Host_Shield_2.0/examples/adk/ArduinoBlinkLED/ArduinoBlinkLED.ino
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/adk/ArduinoBlinkLED/ArduinoBlinkLED.ino
rename to lib/usbhost/USB_Host_Shield_2.0/examples/adk/ArduinoBlinkLED/ArduinoBlinkLED.ino
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/adk/adk_barcode/adk_barcode.ino b/lib/usbhost/USB_Host_Shield_2.0/examples/adk/adk_barcode/adk_barcode.ino
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/adk/adk_barcode/adk_barcode.ino
rename to lib/usbhost/USB_Host_Shield_2.0/examples/adk/adk_barcode/adk_barcode.ino
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/adk/demokit_20/demokit_20.ino b/lib/usbhost/USB_Host_Shield_2.0/examples/adk/demokit_20/demokit_20.ino
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/adk/demokit_20/demokit_20.ino
rename to lib/usbhost/USB_Host_Shield_2.0/examples/adk/demokit_20/demokit_20.ino
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/adk/term_test/term_test.ino b/lib/usbhost/USB_Host_Shield_2.0/examples/adk/term_test/term_test.ino
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/adk/term_test/term_test.ino
rename to lib/usbhost/USB_Host_Shield_2.0/examples/adk/term_test/term_test.ino
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/adk/term_time/term_time.ino b/lib/usbhost/USB_Host_Shield_2.0/examples/adk/term_time/term_time.ino
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/adk/term_time/term_time.ino
rename to lib/usbhost/USB_Host_Shield_2.0/examples/adk/term_time/term_time.ino
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/board_qc/board_qc.ino b/lib/usbhost/USB_Host_Shield_2.0/examples/board_qc/board_qc.ino
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/board_qc/board_qc.ino
rename to lib/usbhost/USB_Host_Shield_2.0/examples/board_qc/board_qc.ino
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/cdc_XR21B1411/XR_terminal/XR_terminal.ino b/lib/usbhost/USB_Host_Shield_2.0/examples/cdc_XR21B1411/XR_terminal/XR_terminal.ino
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/cdc_XR21B1411/XR_terminal/XR_terminal.ino
rename to lib/usbhost/USB_Host_Shield_2.0/examples/cdc_XR21B1411/XR_terminal/XR_terminal.ino
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/ftdi/USBFTDILoopback/USBFTDILoopback.ino b/lib/usbhost/USB_Host_Shield_2.0/examples/ftdi/USBFTDILoopback/USBFTDILoopback.ino
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/ftdi/USBFTDILoopback/USBFTDILoopback.ino
rename to lib/usbhost/USB_Host_Shield_2.0/examples/ftdi/USBFTDILoopback/USBFTDILoopback.ino
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/ftdi/USBFTDILoopback/pgmstrings.h b/lib/usbhost/USB_Host_Shield_2.0/examples/ftdi/USBFTDILoopback/pgmstrings.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/ftdi/USBFTDILoopback/pgmstrings.h
rename to lib/usbhost/USB_Host_Shield_2.0/examples/ftdi/USBFTDILoopback/pgmstrings.h
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/hub_demo/hub_demo.ino b/lib/usbhost/USB_Host_Shield_2.0/examples/hub_demo/hub_demo.ino
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/hub_demo/hub_demo.ino
rename to lib/usbhost/USB_Host_Shield_2.0/examples/hub_demo/hub_demo.ino
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/hub_demo/pgmstrings.h b/lib/usbhost/USB_Host_Shield_2.0/examples/hub_demo/pgmstrings.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/hub_demo/pgmstrings.h
rename to lib/usbhost/USB_Host_Shield_2.0/examples/hub_demo/pgmstrings.h
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/max_LCD/max_LCD.ino b/lib/usbhost/USB_Host_Shield_2.0/examples/max_LCD/max_LCD.ino
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/max_LCD/max_LCD.ino
rename to lib/usbhost/USB_Host_Shield_2.0/examples/max_LCD/max_LCD.ino
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/pl2303/pl2303_gprs_terminal/pl2303_gprs_terminal.ino b/lib/usbhost/USB_Host_Shield_2.0/examples/pl2303/pl2303_gprs_terminal/pl2303_gprs_terminal.ino
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/pl2303/pl2303_gprs_terminal/pl2303_gprs_terminal.ino
rename to lib/usbhost/USB_Host_Shield_2.0/examples/pl2303/pl2303_gprs_terminal/pl2303_gprs_terminal.ino
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/pl2303/pl2303_gps/pl2303_gps.ino b/lib/usbhost/USB_Host_Shield_2.0/examples/pl2303/pl2303_gps/pl2303_gps.ino
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/pl2303/pl2303_gps/pl2303_gps.ino
rename to lib/usbhost/USB_Host_Shield_2.0/examples/pl2303/pl2303_gps/pl2303_gps.ino
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/pl2303/pl2303_tinygps/pl2303_tinygps.ino b/lib/usbhost/USB_Host_Shield_2.0/examples/pl2303/pl2303_tinygps/pl2303_tinygps.ino
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/pl2303/pl2303_tinygps/pl2303_tinygps.ino
rename to lib/usbhost/USB_Host_Shield_2.0/examples/pl2303/pl2303_tinygps/pl2303_tinygps.ino
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/pl2303/pl2303_xbee_terminal/pl2303_xbee_terminal.ino b/lib/usbhost/USB_Host_Shield_2.0/examples/pl2303/pl2303_xbee_terminal/pl2303_xbee_terminal.ino
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/pl2303/pl2303_xbee_terminal/pl2303_xbee_terminal.ino
rename to lib/usbhost/USB_Host_Shield_2.0/examples/pl2303/pl2303_xbee_terminal/pl2303_xbee_terminal.ino
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/testusbhostFAT/Makefile b/lib/usbhost/USB_Host_Shield_2.0/examples/testusbhostFAT/Makefile
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/testusbhostFAT/Makefile
rename to lib/usbhost/USB_Host_Shield_2.0/examples/testusbhostFAT/Makefile
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/testusbhostFAT/README.md b/lib/usbhost/USB_Host_Shield_2.0/examples/testusbhostFAT/README.md
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/testusbhostFAT/README.md
rename to lib/usbhost/USB_Host_Shield_2.0/examples/testusbhostFAT/README.md
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/testusbhostFAT/testusbhostFAT.ino b/lib/usbhost/USB_Host_Shield_2.0/examples/testusbhostFAT/testusbhostFAT.ino
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/testusbhostFAT/testusbhostFAT.ino
rename to lib/usbhost/USB_Host_Shield_2.0/examples/testusbhostFAT/testusbhostFAT.ino
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/gpl2.txt b/lib/usbhost/USB_Host_Shield_2.0/gpl2.txt
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/gpl2.txt
rename to lib/usbhost/USB_Host_Shield_2.0/gpl2.txt
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/hexdump.h b/lib/usbhost/USB_Host_Shield_2.0/hexdump.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/hexdump.h
rename to lib/usbhost/USB_Host_Shield_2.0/hexdump.h
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/hid.cpp b/lib/usbhost/USB_Host_Shield_2.0/hid.cpp
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/hid.cpp
rename to lib/usbhost/USB_Host_Shield_2.0/hid.cpp
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/hid.h b/lib/usbhost/USB_Host_Shield_2.0/hid.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/hid.h
rename to lib/usbhost/USB_Host_Shield_2.0/hid.h
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/hidboot.cpp b/lib/usbhost/USB_Host_Shield_2.0/hidboot.cpp
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/hidboot.cpp
rename to lib/usbhost/USB_Host_Shield_2.0/hidboot.cpp
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/hidboot.h b/lib/usbhost/USB_Host_Shield_2.0/hidboot.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/hidboot.h
rename to lib/usbhost/USB_Host_Shield_2.0/hidboot.h
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/hidescriptorparser.cpp b/lib/usbhost/USB_Host_Shield_2.0/hidescriptorparser.cpp
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/hidescriptorparser.cpp
rename to lib/usbhost/USB_Host_Shield_2.0/hidescriptorparser.cpp
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/hidescriptorparser.h b/lib/usbhost/USB_Host_Shield_2.0/hidescriptorparser.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/hidescriptorparser.h
rename to lib/usbhost/USB_Host_Shield_2.0/hidescriptorparser.h
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/hiduniversal.cpp b/lib/usbhost/USB_Host_Shield_2.0/hiduniversal.cpp
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/hiduniversal.cpp
rename to lib/usbhost/USB_Host_Shield_2.0/hiduniversal.cpp
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/hiduniversal.h b/lib/usbhost/USB_Host_Shield_2.0/hiduniversal.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/hiduniversal.h
rename to lib/usbhost/USB_Host_Shield_2.0/hiduniversal.h
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/hidusagestr.h b/lib/usbhost/USB_Host_Shield_2.0/hidusagestr.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/hidusagestr.h
rename to lib/usbhost/USB_Host_Shield_2.0/hidusagestr.h
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/hidusagetitlearrays.cpp b/lib/usbhost/USB_Host_Shield_2.0/hidusagetitlearrays.cpp
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/hidusagetitlearrays.cpp
rename to lib/usbhost/USB_Host_Shield_2.0/hidusagetitlearrays.cpp
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/keywords.txt b/lib/usbhost/USB_Host_Shield_2.0/keywords.txt
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/keywords.txt
rename to lib/usbhost/USB_Host_Shield_2.0/keywords.txt
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/library.json b/lib/usbhost/USB_Host_Shield_2.0/library.json
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/library.json
rename to lib/usbhost/USB_Host_Shield_2.0/library.json
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/library.properties b/lib/usbhost/USB_Host_Shield_2.0/library.properties
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/library.properties
rename to lib/usbhost/USB_Host_Shield_2.0/library.properties
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/macros.h b/lib/usbhost/USB_Host_Shield_2.0/macros.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/macros.h
rename to lib/usbhost/USB_Host_Shield_2.0/macros.h
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/masstorage.cpp b/lib/usbhost/USB_Host_Shield_2.0/masstorage.cpp
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/masstorage.cpp
rename to lib/usbhost/USB_Host_Shield_2.0/masstorage.cpp
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/masstorage.h b/lib/usbhost/USB_Host_Shield_2.0/masstorage.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/masstorage.h
rename to lib/usbhost/USB_Host_Shield_2.0/masstorage.h
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/max3421e.h b/lib/usbhost/USB_Host_Shield_2.0/max3421e.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/max3421e.h
rename to lib/usbhost/USB_Host_Shield_2.0/max3421e.h
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/max_LCD.cpp b/lib/usbhost/USB_Host_Shield_2.0/max_LCD.cpp
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/max_LCD.cpp
rename to lib/usbhost/USB_Host_Shield_2.0/max_LCD.cpp
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/max_LCD.h b/lib/usbhost/USB_Host_Shield_2.0/max_LCD.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/max_LCD.h
rename to lib/usbhost/USB_Host_Shield_2.0/max_LCD.h
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/message.cpp b/lib/usbhost/USB_Host_Shield_2.0/message.cpp
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/message.cpp
rename to lib/usbhost/USB_Host_Shield_2.0/message.cpp
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/message.h b/lib/usbhost/USB_Host_Shield_2.0/message.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/message.h
rename to lib/usbhost/USB_Host_Shield_2.0/message.h
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/parsetools.cpp b/lib/usbhost/USB_Host_Shield_2.0/parsetools.cpp
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/parsetools.cpp
rename to lib/usbhost/USB_Host_Shield_2.0/parsetools.cpp
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/parsetools.h b/lib/usbhost/USB_Host_Shield_2.0/parsetools.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/parsetools.h
rename to lib/usbhost/USB_Host_Shield_2.0/parsetools.h
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/printhex.h b/lib/usbhost/USB_Host_Shield_2.0/printhex.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/printhex.h
rename to lib/usbhost/USB_Host_Shield_2.0/printhex.h
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/settings.h b/lib/usbhost/USB_Host_Shield_2.0/settings.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/settings.h
rename to lib/usbhost/USB_Host_Shield_2.0/settings.h
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/sink_parser.h b/lib/usbhost/USB_Host_Shield_2.0/sink_parser.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/sink_parser.h
rename to lib/usbhost/USB_Host_Shield_2.0/sink_parser.h
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/usb_ch9.h b/lib/usbhost/USB_Host_Shield_2.0/usb_ch9.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/usb_ch9.h
rename to lib/usbhost/USB_Host_Shield_2.0/usb_ch9.h
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/usbhost.h b/lib/usbhost/USB_Host_Shield_2.0/usbhost.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/usbhost.h
rename to lib/usbhost/USB_Host_Shield_2.0/usbhost.h
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/usbhub.cpp b/lib/usbhost/USB_Host_Shield_2.0/usbhub.cpp
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/usbhub.cpp
rename to lib/usbhost/USB_Host_Shield_2.0/usbhub.cpp
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/usbhub.h b/lib/usbhost/USB_Host_Shield_2.0/usbhub.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/usbhub.h
rename to lib/usbhost/USB_Host_Shield_2.0/usbhub.h
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/version_helper.h b/lib/usbhost/USB_Host_Shield_2.0/version_helper.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/version_helper.h
rename to lib/usbhost/USB_Host_Shield_2.0/version_helper.h
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/xboxEnums.h b/lib/usbhost/USB_Host_Shield_2.0/xboxEnums.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/xboxEnums.h
rename to lib/usbhost/USB_Host_Shield_2.0/xboxEnums.h
diff --git a/tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/Arduino.h b/lib/usbhost/arduino-1.0.1/cores/arduino/Arduino.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/Arduino.h
rename to lib/usbhost/arduino-1.0.1/cores/arduino/Arduino.h
diff --git a/tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/CDC.cpp b/lib/usbhost/arduino-1.0.1/cores/arduino/CDC.cpp
similarity index 100%
rename from tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/CDC.cpp
rename to lib/usbhost/arduino-1.0.1/cores/arduino/CDC.cpp
diff --git a/tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/Client.h b/lib/usbhost/arduino-1.0.1/cores/arduino/Client.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/Client.h
rename to lib/usbhost/arduino-1.0.1/cores/arduino/Client.h
diff --git a/tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/HID.cpp b/lib/usbhost/arduino-1.0.1/cores/arduino/HID.cpp
similarity index 100%
rename from tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/HID.cpp
rename to lib/usbhost/arduino-1.0.1/cores/arduino/HID.cpp
diff --git a/tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/HardwareSerial.cpp b/lib/usbhost/arduino-1.0.1/cores/arduino/HardwareSerial.cpp
similarity index 100%
rename from tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/HardwareSerial.cpp
rename to lib/usbhost/arduino-1.0.1/cores/arduino/HardwareSerial.cpp
diff --git a/tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/HardwareSerial.h b/lib/usbhost/arduino-1.0.1/cores/arduino/HardwareSerial.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/HardwareSerial.h
rename to lib/usbhost/arduino-1.0.1/cores/arduino/HardwareSerial.h
diff --git a/tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/IPAddress.cpp b/lib/usbhost/arduino-1.0.1/cores/arduino/IPAddress.cpp
similarity index 100%
rename from tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/IPAddress.cpp
rename to lib/usbhost/arduino-1.0.1/cores/arduino/IPAddress.cpp
diff --git a/tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/IPAddress.h b/lib/usbhost/arduino-1.0.1/cores/arduino/IPAddress.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/IPAddress.h
rename to lib/usbhost/arduino-1.0.1/cores/arduino/IPAddress.h
diff --git a/tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/Platform.h b/lib/usbhost/arduino-1.0.1/cores/arduino/Platform.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/Platform.h
rename to lib/usbhost/arduino-1.0.1/cores/arduino/Platform.h
diff --git a/tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/Print.cpp b/lib/usbhost/arduino-1.0.1/cores/arduino/Print.cpp
similarity index 100%
rename from tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/Print.cpp
rename to lib/usbhost/arduino-1.0.1/cores/arduino/Print.cpp
diff --git a/tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/Print.h b/lib/usbhost/arduino-1.0.1/cores/arduino/Print.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/Print.h
rename to lib/usbhost/arduino-1.0.1/cores/arduino/Print.h
diff --git a/tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/Printable.h b/lib/usbhost/arduino-1.0.1/cores/arduino/Printable.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/Printable.h
rename to lib/usbhost/arduino-1.0.1/cores/arduino/Printable.h
diff --git a/tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/Server.h b/lib/usbhost/arduino-1.0.1/cores/arduino/Server.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/Server.h
rename to lib/usbhost/arduino-1.0.1/cores/arduino/Server.h
diff --git a/tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/Stream.cpp b/lib/usbhost/arduino-1.0.1/cores/arduino/Stream.cpp
similarity index 100%
rename from tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/Stream.cpp
rename to lib/usbhost/arduino-1.0.1/cores/arduino/Stream.cpp
diff --git a/tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/Stream.h b/lib/usbhost/arduino-1.0.1/cores/arduino/Stream.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/Stream.h
rename to lib/usbhost/arduino-1.0.1/cores/arduino/Stream.h
diff --git a/tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/Tone.cpp b/lib/usbhost/arduino-1.0.1/cores/arduino/Tone.cpp
similarity index 100%
rename from tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/Tone.cpp
rename to lib/usbhost/arduino-1.0.1/cores/arduino/Tone.cpp
diff --git a/tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/USBAPI.h b/lib/usbhost/arduino-1.0.1/cores/arduino/USBAPI.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/USBAPI.h
rename to lib/usbhost/arduino-1.0.1/cores/arduino/USBAPI.h
diff --git a/tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/USBCore.cpp b/lib/usbhost/arduino-1.0.1/cores/arduino/USBCore.cpp
similarity index 100%
rename from tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/USBCore.cpp
rename to lib/usbhost/arduino-1.0.1/cores/arduino/USBCore.cpp
diff --git a/tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/USBCore.h b/lib/usbhost/arduino-1.0.1/cores/arduino/USBCore.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/USBCore.h
rename to lib/usbhost/arduino-1.0.1/cores/arduino/USBCore.h
diff --git a/tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/USBDesc.h b/lib/usbhost/arduino-1.0.1/cores/arduino/USBDesc.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/USBDesc.h
rename to lib/usbhost/arduino-1.0.1/cores/arduino/USBDesc.h
diff --git a/tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/Udp.h b/lib/usbhost/arduino-1.0.1/cores/arduino/Udp.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/Udp.h
rename to lib/usbhost/arduino-1.0.1/cores/arduino/Udp.h
diff --git a/tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/WCharacter.h b/lib/usbhost/arduino-1.0.1/cores/arduino/WCharacter.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/WCharacter.h
rename to lib/usbhost/arduino-1.0.1/cores/arduino/WCharacter.h
diff --git a/tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/WInterrupts.c b/lib/usbhost/arduino-1.0.1/cores/arduino/WInterrupts.c
similarity index 100%
rename from tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/WInterrupts.c
rename to lib/usbhost/arduino-1.0.1/cores/arduino/WInterrupts.c
diff --git a/tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/WMath.cpp b/lib/usbhost/arduino-1.0.1/cores/arduino/WMath.cpp
similarity index 100%
rename from tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/WMath.cpp
rename to lib/usbhost/arduino-1.0.1/cores/arduino/WMath.cpp
diff --git a/tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/WString.cpp b/lib/usbhost/arduino-1.0.1/cores/arduino/WString.cpp
similarity index 100%
rename from tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/WString.cpp
rename to lib/usbhost/arduino-1.0.1/cores/arduino/WString.cpp
diff --git a/tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/WString.h b/lib/usbhost/arduino-1.0.1/cores/arduino/WString.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/WString.h
rename to lib/usbhost/arduino-1.0.1/cores/arduino/WString.h
diff --git a/tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/binary.h b/lib/usbhost/arduino-1.0.1/cores/arduino/binary.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/binary.h
rename to lib/usbhost/arduino-1.0.1/cores/arduino/binary.h
diff --git a/tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/main.cpp b/lib/usbhost/arduino-1.0.1/cores/arduino/main.cpp
similarity index 100%
rename from tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/main.cpp
rename to lib/usbhost/arduino-1.0.1/cores/arduino/main.cpp
diff --git a/tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/new.cpp b/lib/usbhost/arduino-1.0.1/cores/arduino/new.cpp
similarity index 100%
rename from tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/new.cpp
rename to lib/usbhost/arduino-1.0.1/cores/arduino/new.cpp
diff --git a/tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/new.h b/lib/usbhost/arduino-1.0.1/cores/arduino/new.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/new.h
rename to lib/usbhost/arduino-1.0.1/cores/arduino/new.h
diff --git a/tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/wiring.c b/lib/usbhost/arduino-1.0.1/cores/arduino/wiring.c
similarity index 100%
rename from tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/wiring.c
rename to lib/usbhost/arduino-1.0.1/cores/arduino/wiring.c
diff --git a/tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/wiring_analog.c b/lib/usbhost/arduino-1.0.1/cores/arduino/wiring_analog.c
similarity index 100%
rename from tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/wiring_analog.c
rename to lib/usbhost/arduino-1.0.1/cores/arduino/wiring_analog.c
diff --git a/tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/wiring_digital.c b/lib/usbhost/arduino-1.0.1/cores/arduino/wiring_digital.c
similarity index 100%
rename from tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/wiring_digital.c
rename to lib/usbhost/arduino-1.0.1/cores/arduino/wiring_digital.c
diff --git a/tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/wiring_private.h b/lib/usbhost/arduino-1.0.1/cores/arduino/wiring_private.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/wiring_private.h
rename to lib/usbhost/arduino-1.0.1/cores/arduino/wiring_private.h
diff --git a/tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/wiring_pulse.c b/lib/usbhost/arduino-1.0.1/cores/arduino/wiring_pulse.c
similarity index 100%
rename from tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/wiring_pulse.c
rename to lib/usbhost/arduino-1.0.1/cores/arduino/wiring_pulse.c
diff --git a/tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/wiring_shift.c b/lib/usbhost/arduino-1.0.1/cores/arduino/wiring_shift.c
similarity index 100%
rename from tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/wiring_shift.c
rename to lib/usbhost/arduino-1.0.1/cores/arduino/wiring_shift.c
diff --git a/tmk_core/protocol/usb_hid/arduino-1.0.1/variants/eightanaloginputs/pins_arduino.h b/lib/usbhost/arduino-1.0.1/variants/eightanaloginputs/pins_arduino.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/arduino-1.0.1/variants/eightanaloginputs/pins_arduino.h
rename to lib/usbhost/arduino-1.0.1/variants/eightanaloginputs/pins_arduino.h
diff --git a/tmk_core/protocol/usb_hid/arduino-1.0.1/variants/leonardo/pins_arduino.h b/lib/usbhost/arduino-1.0.1/variants/leonardo/pins_arduino.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/arduino-1.0.1/variants/leonardo/pins_arduino.h
rename to lib/usbhost/arduino-1.0.1/variants/leonardo/pins_arduino.h
diff --git a/tmk_core/protocol/usb_hid/arduino-1.0.1/variants/mega/pins_arduino.h b/lib/usbhost/arduino-1.0.1/variants/mega/pins_arduino.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/arduino-1.0.1/variants/mega/pins_arduino.h
rename to lib/usbhost/arduino-1.0.1/variants/mega/pins_arduino.h
diff --git a/tmk_core/protocol/usb_hid/arduino-1.0.1/variants/standard/pins_arduino.h b/lib/usbhost/arduino-1.0.1/variants/standard/pins_arduino.h
similarity index 100%
rename from tmk_core/protocol/usb_hid/arduino-1.0.1/variants/standard/pins_arduino.h
rename to lib/usbhost/arduino-1.0.1/variants/standard/pins_arduino.h
diff --git a/tmk_core/protocol/usb_hid.mk b/tmk_core/protocol/usb_hid.mk
index e720080979..c0c157c043 100644
--- a/tmk_core/protocol/usb_hid.mk
+++ b/tmk_core/protocol/usb_hid.mk
@@ -1,10 +1,10 @@
 USB_HID_DIR = protocol/usb_hid
-
+USB_HOST_LIB_DIR = $(LIB_PATH)/usbhost
 
 #
 # USB Host Shield
 #
-USB_HOST_SHIELD_DIR = $(USB_HID_DIR)/USB_Host_Shield_2.0
+USB_HOST_SHIELD_DIR = $(USB_HOST_LIB_DIR)/USB_Host_Shield_2.0
 USB_HOST_SHIELD_SRC = \
 	$(USB_HOST_SHIELD_DIR)/Usb.cpp \
 	$(USB_HOST_SHIELD_DIR)/hid.cpp \
@@ -17,7 +17,7 @@ USB_HOST_SHIELD_SRC = \
 #
 # Arduino
 #
-ARDUINO_DIR = $(USB_HID_DIR)/arduino-1.0.1
+ARDUINO_DIR = $(USB_HOST_LIB_DIR)/arduino-1.0.1
 ARDUINO_CORES_DIR = $(ARDUINO_DIR)/cores/arduino
 ARDUINO_CORES_SRC = \
 	$(ARDUINO_CORES_DIR)/Print.cpp \
@@ -58,13 +58,13 @@ OPT_DEFS += -DARDUINO=101
 # Search Path
 #
 VPATH += $(TMK_DIR)/$(USB_HID_DIR)
-VPATH += $(TMK_DIR)/$(USB_HOST_SHIELD_DIR)
+VPATH += $(USB_HOST_SHIELD_DIR)
 
 # for #include "Arduino.h"
-VPATH += $(TMK_DIR)/$(ARDUINO_CORES_DIR)
+VPATH += $(ARDUINO_CORES_DIR)
 
 # for #include "pins_arduino.h"
-VPATH += $(TMK_DIR)/$(ARDUINO_DIR)/variants/leonardo
+VPATH += $(ARDUINO_DIR)/variants/leonardo
 
 # ad hoc workaround for compile problem on Windows:
 #    Windows doesn't know difference between common/print.h and arduino/Print.h.