/**
A control with two possible states. Button state is mapped directly. An axis
-is considered to be active when its value is above a threshold (defined by the
-input device).
+is considered to be active when its value is within 10% of the end of the axis.
*/
class BinaryControl: public Control
{
private:
bool state;
+ float threshold;
public:
BinaryControl();
BinaryControl(const ControlSource &);
BinaryControl(Device &, ControlSrcType, unsigned);
+
+ /**
+ Sets the threshold between states for axis sources. No effect on button
+ sources
+ */
+ void set_threshold(float);
+
bool get_state() const { return state; }
private: