1) waitforkey (IIRC, never used it myself)
2) Listen to some stuff over lipc (I don't recall the details off the top of my head, but it was discussed very recently).
3) What do you mean by that? (Because, yes, AFAIK, the easiest thing we have access to is listening to the right events, which is what dos1's tool does

).