summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLorn Potter <lorn.potter@nokia.com>2012-05-18 11:48:52 +1000
committerQt by Nokia <qt-info@nokia.com>2012-05-18 04:50:02 +0200
commita697ee84cd4c854046b5876a44d6215c468cce18 (patch)
tree40ae3a425398ce02ee7a12518527768720b924a9
parenteb2ae89dc043a0c0be419de2f2f76016e360b4dd (diff)
make twist dependent upon an orientation change.
This fixes getting a twist gesture by just moving the device left or right. and update one test data that did not have needed orientation change when the gesture was performed. Change-Id: I4fd9148d3f9c3d093530d08c2f6834f0972c659e Reviewed-by: Lincoln Ramsay <lincoln.ramsay@nokia.com>
-rw-r--r--src/plugins/sensorgestures/qtsensors/qtwistsensorgesturerecognizer.cpp29
-rw-r--r--src/plugins/sensorgestures/qtsensors/qtwistsensorgesturerecognizer.h1
-rw-r--r--tests/auto/qsensorgestures_gestures/mock_data/sensordata_twistLeft.dat183
3 files changed, 168 insertions, 45 deletions
diff --git a/src/plugins/sensorgestures/qtsensors/qtwistsensorgesturerecognizer.cpp b/src/plugins/sensorgestures/qtsensors/qtwistsensorgesturerecognizer.cpp
index fbbb37d0..01e7d234 100644
--- a/src/plugins/sensorgestures/qtsensors/qtwistsensorgesturerecognizer.cpp
+++ b/src/plugins/sensorgestures/qtsensors/qtwistsensorgesturerecognizer.cpp
@@ -167,19 +167,13 @@ void QTwistSensorGestureRecognizer::accelChanged(QAccelerometerReading *reading)
if (detecting
&& qAbs(degrees) < RESTING_VARIANCE
&& qAbs(pitch) < RESTING_VARIANCE
- && (qAbs(lastRoll + degrees) > (degrees / 2))
- ) {
- if (lastRoll > 0 ) {
- Q_EMIT twistLeft();
- Q_EMIT detected("twistLeft");
- } else {
- Q_EMIT twistRight();
- Q_EMIT detected("twistRight");
- }
+ && (qAbs(lastRoll + degrees) > (degrees / 2))) {
+
+ QTimer::singleShot(0,this,SLOT(checkTwist()));
// don't give two signals for same gestures
- detecting = false;
- timer->stop();
- lastRoll = degrees;
+ detecting = false;
+ timer->stop();
+ lastRoll = degrees;
}
if (orientationReading->orientation() == QOrientationReading::FaceUp
@@ -207,6 +201,17 @@ void QTwistSensorGestureRecognizer::accelChanged(QAccelerometerReading *reading)
lastX = x; lastY = y;
}
+void QTwistSensorGestureRecognizer::checkTwist()
+{
+ if (lastRoll > 0 && orientationReading->orientation() == QOrientationReading::RightUp) {
+ Q_EMIT twistLeft();
+ Q_EMIT detected("twistLeft");
+ } else if (orientationReading->orientation() == QOrientationReading::LeftUp){
+ Q_EMIT twistRight();
+ Q_EMIT detected("twistRight");
+ }
+}
+
void QTwistSensorGestureRecognizer::timeout()
{
detecting = false;
diff --git a/src/plugins/sensorgestures/qtsensors/qtwistsensorgesturerecognizer.h b/src/plugins/sensorgestures/qtsensors/qtwistsensorgesturerecognizer.h
index 6beb7c82..9cd46f64 100644
--- a/src/plugins/sensorgestures/qtsensors/qtwistsensorgesturerecognizer.h
+++ b/src/plugins/sensorgestures/qtsensors/qtwistsensorgesturerecognizer.h
@@ -72,6 +72,7 @@ private slots:
void accelChanged(QAccelerometerReading *reading);
void orientationReadingChanged(QOrientationReading *reading);
void timeout();
+ void checkTwist();
private:
diff --git a/tests/auto/qsensorgestures_gestures/mock_data/sensordata_twistLeft.dat b/tests/auto/qsensorgestures_gestures/mock_data/sensordata_twistLeft.dat
index 3dcb89aa..909e3e1a 100644
--- a/tests/auto/qsensorgestures_gestures/mock_data/sensordata_twistLeft.dat
+++ b/tests/auto/qsensorgestures_gestures/mock_data/sensordata_twistLeft.dat
@@ -1,34 +1,151 @@
-orientation:0,5
-irProximity:817055002,0.286275
-accelerometer: 1335428002669,-0.651541,-0.364096,9.92642
-accelerometer: 1335428002769,-1.26476,-0.0383259,9.27488
-accelerometer: 1335428002869,-2.51035,0.459911,10.0797
-accelerometer: 1335428002969,-1.05396,1.45639,10.5971
-accelerometer: 1335428003069,-1.49471,0.5174,9.12157
-accelerometer: 1335428003169,-1.41806,0.0958148,9.63897
-accelerometer: 1335428003269,-1.74383,-4.63744,9.56232
-accelerometer: 1335428003369,-1.34141,0,9.61981
-accelerometer: 1335428003469,-0.402422,-0.32577,9.56232
-accelerometer: 1335428003569,5.23149,1.37973,6.7262
-accelerometer: 1335428003669,8.85329,3.39185,2.83612
-irProximity:818165201,0.305882
-accelerometer: 1335428003769,10.1372,1.64802,-7.33942
-accelerometer: 1335428003869,16.8059,0.32577,5.174
-irProximity:818367106,0.290196
-accelerometer: 1335428003969,-3.87092,-0.114978,12.3218
-irProximity:818468149,0.286275
-accelerometer: 1335428004069,-0.0766519,1.68634,7.93347
-accelerometer: 1335428004169,-0.651541,0.804845,10.2522
-accelerometer: 1335428004269,-1.09229,-0.70903,10.0989
-accelerometer: 1335428004369,-0.498237,-0.153304,10.2905
-accelerometer: 1335428004469,-1.32224,-0.0958148,8.98743
-accelerometer: 1335428004569,-0.555726,0,8.89162
-accelerometer: 1335428004669,-0.421585,0.421585,9.08325
-accelerometer: 1335428004769,-0.0574889,-0.0574889,10.233
-accelerometer: 1335428004869,-0.306608,0.0958148,10.0414
-accelerometer: 1335428004969,-0.574889,-0.114978,9.524
-accelerometer: 1335428005069,-0.440748,0.019163,9.69646
-accelerometer: 1335428005169,-0.632378,0.5174,8.71915
-accelerometer: 1335428005269,-0.479074,0.172467,9.96474
-accelerometer: 1335428005369,-0.881497,0.0574889,9.90726
+accelerometer: 4892293507,-0.0574889,-0.344933,9.37069
+orientation:4888720692,5
+accelerometer: 4892330952,-0.153304,-0.32577,9.46651
+accelerometer: 4892350941,-0.210793,0,9.61981
+accelerometer: 4892371785,-0.0766519,-0.153304,9.524
+irProximity:4892378722,0.290196
+accelerometer: 4892390553,-0.153304,-0.5174,9.50483
+proximity:4892401000,0
+accelerometer: 4892411000,0.0383259,-0.210793,9.84977
+accelerometer: 4892430928,0.114978,0.0383259,9.86893
+accelerometer: 4892450917,-0.0958148,-0.0766519,9.60065
+accelerometer: 4892470753,-0.0574889,-0.0383259,9.88809
+accelerometer: 4892490925,0.344933,-0.172467,9.90726
+accelerometer: 4892511006,0.172467,-0.249119,9.54316
+accelerometer: 4892531025,0.114978,0.0958148,9.69646
+accelerometer: 4892550953,-4.82907,0.114978,9.92642
+accelerometer: 4892570820,-0.0958148,-0.306608,10.0414
+accelerometer: 4892590931,-0.0958148,-0.306608,9.71563
+accelerometer: 4892610951,-0.0958148,-0.383259,9.65814
+accelerometer: 4892630940,-0.32577,-0.498237,9.61981
+accelerometer: 4892650929,-0.383259,-0.153304,9.54316
+accelerometer: 4892670765,-0.459911,0.0766519,9.86893
+accelerometer: 4892690907,-0.32577,-0.268282,9.8306
+accelerometer: 4892710927,-0.440748,-0.114978,9.44734
+accelerometer: 4892730946,-0.670704,-0.114978,9.71563
+accelerometer: 4892750966,-0.498237,-0.383259,9.90726
+accelerometer: 4892770955,-0.440748,-0.402422,9.524
+accelerometer: 4892790974,-0.689867,-0.172467,9.35153
+accelerometer: 4892810963,-0.670704,-0.32577,9.3132
+accelerometer: 4892830922,-0.651541,-0.440748,9.3132
+accelerometer: 4892850941,-0.785682,-0.268282,9.23655
+accelerometer: 4892870930,-0.843171,-0.421585,9.23655
+accelerometer: 4892890889,-0.5174,-0.210793,9.44734
+accelerometer: 4892910939,-0.613215,-0.632378,9.33237
+accelerometer: 4892930928,-0.651541,-0.268282,9.71563
+accelerometer: 4892950947,-0.651541,-0.421585,9.96474
+accelerometer: 4892970936,-0.344933,-0.613215,9.96474
+accelerometer: 4892990773,-0.440748,-0.574889,9.46651
+accelerometer: 4893011067,-0.498237,-0.536563,9.84977
+accelerometer: 4893031087,-0.5174,-0.421585,9.54316
+accelerometer: 4893050892,-0.536563,-0.459911,9.56232
+accelerometer: 4893070942,-0.670704,-0.536563,9.40902
+accelerometer: 4893091054,-0.574889,-0.459911,9.37069
+accelerometer: 4893110920,-0.440748,-0.594052,9.46651
+accelerometer: 4893130940,-0.670704,-0.344933,9.54316
+accelerometer: 4893150929,-0.344933,-0.440748,9.23655
+accelerometer: 4893170918,-0.019163,-0.536563,8.83413
+accelerometer: 4893191060,0.114978,-0.344933,8.75748
+accelerometer: 4893210927,1.11145,-0.019163,7.99096
+accelerometer: 4893230946,3.23854,1.0348,8.01012
+accelerometer: 4893250935,5.34647,1.57136,8.35505
+accelerometer: 4893271504,7.05197,1.78216,7.03281
+accelerometer: 4893290974,8.91078,2.91277,5.40396
+orientation:4893290974,4
+accelerometer: 4893310689,10.5971,2.79779,2.79779
+accelerometer: 4893331013,11.0379,2.0696,1.14978
+accelerometer: 4893350880,10.0031,2.51035,0.843171
+accelerometer: 4893370900,8.10594,0.421585,1.13062
+irProximity:4893386626,0.294118
+accelerometer: 4893390950,6.51541,0.977311,0
+accelerometer: 4893410908,7.41607,0.689867,-4.36916
+accelerometer: 4893430897,8.4892,1.3989,-8.29757
+accelerometer: 4893450886,9.06409,1.49471,-8.60417
+accelerometer: 4893470753,8.22091,0.862334,-7.12862
+irProximity:4893487426,0.290196
+accelerometer: 4893490956,7.37774,0.306608,-6.76453
+accelerometer: 4893510945,8.1251,0.843171,-5.55726
+accelerometer: 4893530934,9.84977,0.90066,-3.69845
+accelerometer: 4893550953,11.402,0.651541,-1.87797
+accelerometer: 4893570973,12.6859,0.70903,-0.938986
+accelerometer: 4893590931,12.9925,0.651541,1.24559
+accelerometer: 4893610951,12.6476,1.60969,2.79779
+accelerometer: 4893631032,11.8044,1.16894,4.08171
+accelerometer: 4893650929,11.1337,1.60969,5.32731
+accelerometer: 4893670949,9.0066,0.728193,5.74889
+irProximity:4893688934,0.294118
+accelerometer: 4893690877,5.90219,0.70903,5.42312
+accelerometer: 4893710896,2.12709,0.383259,4.84823
+accelerometer: 4893730885,-0.766519,0.689867,5.71057
+accelerometer: 4893750996,-1.80132,-0.0958148,7.49272
+orientation:4893750996,5
+accelerometer: 4893770955,-1.85881,-0.5174,9.29404
+irProximity:4893789733,0.290196
+accelerometer: 4893790974,-2.12709,-0.114978,9.14074
+accelerometer: 4893810933,-2.37621,-4.88656,8.39338
+accelerometer: 4893830952,-2.20374,-0.134141,8.4892
+accelerometer: 4893850972,-1.57136,-0.421585,9.79228
+accelerometer: 4893870991,-1.80132,-0.421585,9.96474
+accelerometer: 4893890889,-1.82048,-0.210793,9.50483
+accelerometer: 4893910969,-1.53304,-0.114978,9.50483
+accelerometer: 4893930928,-1.53304,-0.19163,9.63897
+accelerometer: 4893950917,-1.59053,-0.210793,9.69646
+accelerometer: 4893970936,-1.5522,0.0574889,9.84977
+accelerometer: 4893991017,-1.37973,0.0766519,9.86893
+accelerometer: 4894010823,-1.37973,-4.71409,9.60065
+accelerometer: 4894030934,-1.26476,-0.153304,9.54316
+accelerometer: 4894050984,-1.09229,-0.0574889,9.48567
+accelerometer: 4894070973,-0.90066,0.0958148,9.48567
+accelerometer: 4894091115,-0.728193,-0.229956,9.42818
+accelerometer: 4894110951,-0.574889,-0.364096,9.54316
+accelerometer: 4894130971,-0.824008,-0.0766519,9.44734
+accelerometer: 4894150929,-0.249119,0.0383259,9.98391
+accelerometer: 4894170918,-0.479074,-0.383259,9.58148
+accelerometer: 4894190693,-0.344933,-0.0958148,9.61981
+accelerometer: 4894210896,-0.383259,0.0574889,9.63897
+accelerometer: 4894230946,-0.402422,-0.229956,9.69646
+accelerometer: 4894250935,-0.344933,-0.383259,9.46651
+accelerometer: 4894270955,-0.268282,-0.019163,9.65814
+accelerometer: 4894290852,-0.134141,-0.32577,9.81144
+accelerometer: 4894310994,0.153304,-0.306608,9.524
+accelerometer: 4894330769,0.0383259,-0.19163,9.40902
+accelerometer: 4894351002,-0.153304,-0.0766519,9.60065
+accelerometer: 4894370991,0.229956,-0.440748,10.0031
+accelerometer: 4894390889,-0.0574889,-0.229956,9.6773
+accelerometer: 4894410908,-0.172467,-0.249119,9.65814
+accelerometer: 4894430958,-0.229956,-0.229956,9.63897
+accelerometer: 4894450886,-0.0958148,-0.402422,9.37069
+accelerometer: 4894470753,-0.134141,-0.421585,9.60065
+accelerometer: 4894490925,-0.0766519,-0.613215,9.48567
+accelerometer: 4894510975,-0.0766519,-0.383259,9.6773
+accelerometer: 4894530812,-0.268282,0.0383259,9.71563
+accelerometer: 4894550953,-0.364096,4.82907,9.524
+accelerometer: 4894570973,-0.0766519,-0.574889,9.56232
+accelerometer: 4894590779,-0.306608,-0.555726,9.38986
+accelerometer: 4894610890,-0.613215,-0.287445,9.54316
+accelerometer: 4894630940,-0.498237,-0.0766519,9.40902
+accelerometer: 4894650960,-0.383259,-0.229956,9.58148
+accelerometer: 4894670918,-0.210793,-0.364096,9.58148
+accelerometer: 4894690816,-0.287445,-0.383259,9.65814
+accelerometer: 4894710896,-0.364096,-0.287445,9.61981
+accelerometer: 4894730916,-0.344933,-0.421585,9.48567
+accelerometer: 4894750966,-0.479074,-0.287445,9.35153
+accelerometer: 4894770955,-0.402422,-0.383259,9.63897
+accelerometer: 4894790822,-0.383259,-0.268282,9.63897
+accelerometer: 4894810963,-0.689867,-0.32577,9.10241
+accelerometer: 4894830922,-0.555726,-0.306608,9.17906
+accelerometer: 4894850941,-0.70903,-0.287445,9.48567
+accelerometer: 4894873494,-0.574889,-0.440748,9.46651
+accelerometer: 4894890950,-0.479074,-0.383259,9.58148
+accelerometer: 4894910786,-0.613215,-0.364096,9.6773
+accelerometer: 4894930775,-0.498237,-0.536563,9.69646
+accelerometer: 4894950795,-0.5174,-0.440748,9.75395
+accelerometer: 4894970814,-0.498237,-0.613215,9.71563
+accelerometer: 4894990803,-0.651541,-0.689867,9.65814
+accelerometer: 4895010823,-0.383259,-0.670704,9.98391
+accelerometer: 4895030812,-0.210793,-0.651541,10.1564
+accelerometer: 4895050801,-0.306608,-0.555726,10.2522
+accelerometer: 4895071004,-0.306608,-0.5174,10.0414
+accelerometer: 4895090840,-0.479074,-0.306608,9.54316
+accelerometer: 4895110859,-0.594052,-0.402422,8.20175