]> git.tdb.fi Git - libs/gui.git/blobdiff - source/input/binarycontrol.h
Normalize device axis ranges to [-1, 1]
[libs/gui.git] / source / input / binarycontrol.h
index 44aaef4214b98ddd0153aeb359f52a1e3a94c39e..4331f05aa94371b8337ce3ffc1b97fc748c7805c 100644 (file)
@@ -15,8 +15,7 @@ namespace Input {
 
 /**
 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
 {
@@ -26,11 +25,19 @@ public:
 
 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: