I was playing around with reaction controllers and I was wondering...

Let's say I have several starship's canons. Instead of animating the shooting every time by hand for every canon (ie: moving recoiling barrel, making muzzle flash visible) is it possible to make a button, and by pushing it, have the canons do a shoot cycle?

Is this possible with controllers, or does this require scripting? I've tried looking at mocap contollers, but that doesn't give me button pressing, shooting power.