I'm testing a full-screen Flash application. My preference is to drive the process with Java and I've had a lot of luck with the java.awt.Robot class. I'm looking for ways of modifying the test's behavior while the app still occupies the full screen.
So far, I've found one "outside control", the caps lock key. If I see the process go horribly wrong, I turn on caps lock. Toolkit.getLockingKeyState notices that caps lock is on, and the test is terminated.
I need additional ways to change test operation, like "pause test" and "next test case." It looks like I could use num lock and scroll lock, but my tests need to run on Mac OS X, Windows, and Linux, so I can't count on having those keys. This is a small operation, so it's ok if the method isn't refined. But not as kludgy as overloading the caps lock key with 5 different operations.
One last limitation: I have no internal control of the application; I'm supposed to "test" just like a user.