Let the OS know that I've swivelled my monitor, so it can adjust.
I got a nice overview image in the Windows app, where you can click on the display that the hardware is attached to. I also got global hotkeys working, so you can actually twist the device and the screen changes! Pretty cool...
Next issue: the digispark board has one of those PCB-track USB plugs, and it's a little bit short, so in my actual monitor I think only the power lines are making contact (they're a bit longer). I also seem to be having problems with some hubs - even with a USB extension, it's hit or miss whether the 'keyboard' is detected, whereas it's fine plugged into a standalone powered hub. It's not clear if this is an issue with borderline spec USB from V-USB or another power/connector issue. The real answer is to make my own dongle, I guess.
Switched to Linux - now I can actually program the DigiSpark! The final result is a HID keyboard, so shouldn't have the same driver issues.
I have a test working now, with a digispark and tiltswitch producing keystrokes as I move it. Currently it sends 'a' and 'b' so I can see what's going on, but the final version will be something like Shift-Win-F9 and Shift-Win-F10.
The software side flips nicely when a dialog button is pressed - next steps there are:
The Digisparks and tilt switches have arrived. I also got a working C# app to test the rotation part. Current issues:
I ordered some digisparks from ebay, and a packet of ball-tilt switches.
From the HID reference, I'm going to try using F23 and F24 to signal position 1 and 2 respectively (depending the the orientation of the monitor's USB ports, that might be portrait/landscape or landscape/portrait): http://www.usb.org/developers/hidpage/Hut1_12v2.pdf
I also found an existing digispark example for a V-USB based keyboard.
And finally, a C# gist for the actual screen rotation part: https://gist.github.com/umq/986635
Hopefully this can be a short project!