User-configurable firmware allows selection of a wide range of inputs to be paired with a corresponding output action or activity.