diff options
author | Lorn Potter <lorn.potter@nokia.com> | 2012-01-16 13:13:40 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-01-16 04:53:23 +0100 |
commit | 720f57cada7799d2f5b589ffd9b2b69ad725f609 (patch) | |
tree | 4b60fd196d20f3417fae64eb298df1a1d5423b98 /src/plugins/sensorgestures | |
parent | 011530ad3bdcb237323ade152bfa4a3a7c6996c8 (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.cpp | 24 | ||||
-rw-r--r-- | src/plugins/sensorgestures/qtsensors/qwhipsensorgesturerecognizer.h | 2 |
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 |