For starting of scripts from a button I first considered using X10 protocol to achieve this. But after having read that X10 close a PC's power supply might generate bad x10 traffic ,I won't go further with this.
My next idea is to use the lirc project.
To my opinion , the easiest way to generate rs-232 code that the pc easely can understand is to use the lirc deamon which watched the com port.
Downside is that you actually need a IR led to transfer the communication ,but if you build this inside a little box , this will be the cheapest easiest way to achive this.
My plan of attack :
1. create lirc serial or usb connector (receiver)
build serial :
http://stuff.nekhbet.ro/2006/07/10/make ... or-pc.html
or buy usb or serial :
http://www.ir2pc.com/
2. buy tv remote control that can work with lirc
list of supported remote controls :
http://lirc.sourceforge.net/remotes/
3. install lirc and irexec on pc
lirc and ubuntu :
https://wiki.ubuntu.com/LircHowto
irexec and ubuntu :
4. configure lirc and irexec in order that the whole bunch works,and trigger script when a key is pressed on the remote control.
This is only a raw sketch ,how I would create it.
Once it all works ,all can be integrated inside the pc where the zoneminder resides.
Then you can just make the cabling towards from the buttons mounted in the case towards the tvremote mounted inside the case.
But the whole setup then comes very very cheap ,and rather easy compared to the usage of external microcontrollers.
Simplicity is the key.
However it is yet to be tested but I'm optimistic about it.
example :
http://www.mythpvr.com/mythtv/frontend/ ... power.html
Source :
http://www.lirc.org/