I am currently in a job where we practice serious pair programming on windows machines. We both have a set of keyboards, mice, and we have two monitors, which works well for switching who's the driver really easy, but there are some points in the session that I would like to start writing tests at the same time that my pair is writing implementation.
I am wondering if there is any program that would allow me to have effectively two cursors and keyboard focuses on the same computer. If they don't exist then I am willing to experiment with my own solution, but I would like input as to how to best accomplish this. I am most familiar with .Net 3.5 technologies, but I also know Java and am willing to learn C++ to solve this problem.
If I was creating the solution myself I would go down the road of being able to grab the input of one hardware device (i.e. a specific mouse that's installed) and prevent Windows from moving the pointer, and instead move my own programs pointer independently.
Something I did once:
Take two desks and place them up facing against each other so that when each developer sits at a desk they are facing the other developer.
Each developer gets two monitors, one of which is plugged into the OTHER developer's computer.
Each computer is set to mirror/clone its screen to the other monitor. This means that each developer is facing each other but also each developer can see what the other one is doing on her computer.
Then, each developer installs the free software called "Synergy2" (http://synergy2.sourceforge.net/) on her computer and configures it such that when the developer moves her mouse cursor over past the edge of her screen towards the side that the other monitor is visible, the developer can then interact with the other developer's interface.
This way, you can both always see what the other is doing AND also fluidly move from driving to riding shotgun for each other as the situation demands it.
Sometimes this ends up working like the classical method where one dev is always driving and the other is always riding shotgun but it at least gives the opportunity to work both independently as well as together.
Actually I think I will suggest trying this out with my current workmates on Monday!