1 #include "smoothcontrol.h"
6 SmoothControl::SmoothControl():
13 SmoothControl::SmoothControl(const ControlSource &s):
21 SmoothControl::SmoothControl(Device &d, ControlSrcType t, unsigned i):
29 SmoothControl::~SmoothControl()
34 void SmoothControl::set_dead_zone(float d)
39 void SmoothControl::set_threshold(float t)
44 void SmoothControl::pair(SmoothControl *ctrl)
51 SmoothControl *old_pair = paired_ctrl;
59 paired_ctrl->pair(this);
62 void SmoothControl::on_press()
64 on_motion(1, 1-value);
67 void SmoothControl::on_release()
73 void SmoothControl::on_motion(float v, float r)
80 value = (v+dead_zone)/(threshold-dead_zone);
82 value = (v-dead_zone)/(threshold-dead_zone);
86 signal_motion.emit(value);
88 if(paired_ctrl && (v>0 || (v==0 && paired_ctrl->value!=0)))
89 paired_ctrl->on_motion(-v, -r);