Recently I have been learning about the socket module and how you can create networking applications using it.
I was curious if it would be possible using the socket module to either:
Set the port as a USB port to trick the computer into thinking a USB is plugged in and 'fake' incoming data from the port allowing you to manipulate data and relay it through the usb port.
or, Set the port as a USB port and relay the information from the usb, directly to the application and then manipulate it and then send it to the computer. So having the application as an interrupt of the data allowing manipulation to occur before it gets sent to the computer as normal.
I was unsure if this would be achievable with the socket module. If it is not would someone be able to point me towards the required module / knowledge that would be needed to pull something like this off.