My application needs to behave as a virtual joystick (imagine dragging a square with the mouse and translating that to the output of an analog joystick) and send some keystrokes
If it is only over the network, probably simple socket programming should be enough.