http://www.eventghost.org/wiki/EventGhost:About
EventGhost is an open-source automation tool for MS Windows, that can be extended through plugins. It can use different input devices like infrared or wireless remotes to trigger macros, that on their part control a computer and its attached hardware. After the user has configured everything to its needs, the program will run silently in the system tray and waits for an event to arrive. So it can be used to control a Media-PC with a normal consumer remote for example.
Other common things that can act as a trigger for an event are:
* key presses (hotkeys)
* mouse-clicks
* joysticks/gamepads
* a program is starting or is switched to by the user
* another program like EventGhost (on another PC), Girder or Netremote is sending an event through TCP/IP
* a special HTTP request is made to the internal web server
* another program is sending an event through ActiveX
and everything some code can catch, as events can also be generated through plugins.

