#include <string>
#include <vector>
+#include <stdexcept>
#include <sigc++/signal.h>
namespace Msp {
namespace Input {
+class device_not_available: public std::runtime_error
+{
+public:
+ device_not_available(const std::string &w): std::runtime_error(w) { }
+ virtual ~device_not_available() throw() { }
+};
+
+
/**
Base class for input devices. Input devices have two types of controls:
buttons and axes. Buttons are either on or off. Axes have a floating point
-value in the range [-1, 1].
+value nominally in the range [-1, 1].
Event handlers return a boolean indicating whether the event is considered
processed. If a handler returns true, no further handlers are invoked.