Driver development is a highly specialized area.
So casually it is impossible to create a driver, you will need to study the subject thoroughly in specialized books, and try a lot.
Microsoft provides many examples of Windows drivers.
In this url Microsoft provides examples of drivers: https://github.com/Microsoft/Windows-driver-samples.
The driver development SDK is here:
https://msdn.microsoft.com/en-us/library/windows/hardware/ff557573(v=vs.85). aspx.
If you still don’t have experience with drivers you will need to study hard even. (Note. I have no experience in this area).
It would be easier to make the PIC send the commands of a normal mouse. The problem is that the HID protocol is not so simple that you make a full stack USB only with PIC (with Arduino is much easier). But there are chips that are part of the "heavy" work. As for the question, it is a bit wide in my view. It would be nice to read on [Tour], [Ask] and Scope of the site and then give an edited question to make it more objective, to better enjoy the site.
– Bacco
Hello, I knew that the question was generic, I asked her so that it was possible to make suggestions as to how I could do in other ways. The mouse I intend to do would be using accelerometers to capture the movement. In the meantime since the question was asked I read read read read read and saw that it is really extremely complicated Then I solved another alternative. I disassembled a USB mouse and using the scroll mouse I was able to control the mouse with the autohotkey sending up to 8 bits, but the mouse has a debouncing time that makes the drive become extremely slow.
– Al777
If you take the 2 contacts from the wheel and use PIC to send a sequence of 01 11 10 00, you get the speed you want. The secret is to keep the sequence (01 11 10 00 or 01 00 10 11 in the other direction)
– Bacco