summaryrefslogtreecommitdiffstats
path: root/src/plugins/sensorgestures
diff options
context:
space:
mode:
authorLorn Potter <lorn.potter@nokia.com>2012-01-16 13:13:40 +1000
committerQt by Nokia <qt-info@nokia.com>2012-01-16 04:53:23 +0100
commit720f57cada7799d2f5b589ffd9b2b69ad725f609 (patch)
tree4b60fd196d20f3417fae64eb298df1a1d5423b98 /src/plugins/sensorgestures
parent011530ad3bdcb237323ade152bfa4a3a7c6996c8 (diff)
improve whip sensor gesture
Change-Id: I375815c5a0b42abe957170d85f08c394c19fdd6b Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Lincoln Ramsay <lincoln.ramsay@nokia.com>
Diffstat (limited to 'src/plugins/sensorgestures')
-rw-r--r--src/plugins/sensorgestures/qtsensors/qwhipsensorgesturerecognizer.cpp24
-rw-r--r--src/plugins/sensorgestures/qtsensors/qwhipsensorgesturerecognizer.h2
2 files changed, 13 insertions, 13 deletions
diff --git a/src/plugins/sensorgestures/qtsensors/qwhipsensorgesturerecognizer.cpp b/src/plugins/sensorgestures/qtsensors/qwhipsensorgesturerecognizer.cpp
index e1f0a3fe..e5650347 100644
--- a/src/plugins/sensorgestures/qtsensors/qwhipsensorgesturerecognizer.cpp
+++ b/src/plugins/sensorgestures/qtsensors/qwhipsensorgesturerecognizer.cpp
@@ -61,10 +61,10 @@ void QWhipSensorGestureRecognizer::create()
qoutputrangelist outputranges = accel->outputRanges();
if (outputranges.count() > 0)
- accelRange = (int)(outputranges.at(0).maximum *2);
+ accelRange = (int)(outputranges.at(0).maximum);
else
accelRange = 44; //this should never happen
-qDebug() << accelRange;
+
connect(timer,SIGNAL(timeout()),this,SLOT(timeout()));
timer->setSingleShot(true);
timer->setInterval(750);
@@ -97,41 +97,39 @@ bool QWhipSensorGestureRecognizer::isActive()
return active;
}
+#define WHIP_THRESHOLD_FACTOR 0.85
+#define WHIP_DETECTION_FACTOR 0.3
+
void QWhipSensorGestureRecognizer::accelChanged()
{
qreal x = accel->reading()->x();
if (whipIt) {
qreal difference = lastX - x;
-// qDebug() << Q_FUNC_INFO << x << difference << wasNegative;
- if ((!wasNegative && difference > accelRange * .75) //58
- || (wasNegative && difference < -accelRange * .75)) {
+ if ((!wasNegative && difference > accelRange * WHIP_THRESHOLD_FACTOR)
+ || (wasNegative && difference < -accelRange * WHIP_THRESHOLD_FACTOR)) {
-// qDebug() << Q_FUNC_INFO << "WHIP";
Q_EMIT whip();
Q_EMIT detected("whip");
whipIt = false;
}
-// } else if ((lastX - x) > (accelRange/2) || // 39
-// (x - lastX) < -(accelRange/2)) {
- } else if (x > (accelRange/3.3) || // 23
- x < -(accelRange/3.3)) {
+
+ } else if (x > (accelRange * WHIP_DETECTION_FACTOR)
+ || x < -(accelRange * WHIP_DETECTION_FACTOR)) {
//start of gesture
-// qDebug() << Q_FUNC_INFO << "start detection";
timer->start();
whipIt = true;
- lastX = x;
if (lastX > 0)
wasNegative = false;
else
wasNegative = true;
}
+ lastX = x;
}
void QWhipSensorGestureRecognizer::timeout()
{
-// qDebug() << Q_FUNC_INFO;
whipIt = false;
}
diff --git a/src/plugins/sensorgestures/qtsensors/qwhipsensorgesturerecognizer.h b/src/plugins/sensorgestures/qtsensors/qwhipsensorgesturerecognizer.h
index 701750ea..2b6c5526 100644
--- a/src/plugins/sensorgestures/qtsensors/qwhipsensorgesturerecognizer.h
+++ b/src/plugins/sensorgestures/qtsensors/qwhipsensorgesturerecognizer.h
@@ -76,6 +76,8 @@ private:
qreal lastX;
bool active;
+ qreal accelX;
+
};
QT_END_NAMESPACE
#endif // QWHIPSENSORGESTURERECOGNIZER_H