Using one computer to generate mouse movement on another

Hi all,

So I want to make a source computer generate mouse movements on a target computer, and the target computer should not need any special drivers or software. I gather this is not generally possible with a direct USB connection, even if it is bridged, and am wondering if the Arduino could help out. I'm pretty good with C++ but have very little experience with hardware and am wondering if you can tell me how you'd do this.

After digging around for a bit, one possible solution might be this:

Source computer --(RS232 raw bytes)--> Leonardo with RS232 shield --(USB mouse commands)--> Target computer

It looks like the Leonardo has good support for generating mouse movements, so that half would be relatively easy. Getting commands from the source computer to the Leonardo looks somewhat more annoying. An RS232 shield should convert voltage levels and make a breadboard unnecessary. I'm thinking this one:, mainly because it's the first one I came across. There'd have to be a USB to RS232 converter on the source computer, as well, since it doesn't actually have a serial port.

Would this obviously fail for some reason?

Are there easier or better ways to accomplish this?


and why cant you access the target computer and install something like vnc?

The source computer + arduino needs to act exactly like a mouse. No software install on the target, no knowledge of what the target even is.

Would this obviously fail for some reason?

You will have to use a software serial connection on the arduino. You would be better off with a USB to TTL serial interface rather than taking it up to RS232 levels and then back down to TTL levels.

Could I use this FTDI cable (FTDI Cable 5V VCC-3.3V I/O - DEV-09717 - SparkFun Electronics) to connect the source computer's USB port to a software serial connection on the Leonardo, then use the USB output on the Leonardo to control the mouse on the target?

Yes that would be good to use.

Ok, thanks.

According to, on Windows, an inf file is required for USB communication. Is this only for programming the board? Or does this mean that to use the Arduino as a mouse on any random Windows computer, it'd need the inf file?

Is this only for programming the board?

Yes. Once programmed up it will look like a USB mouse to any Windows computer without having to have a file on that machine.