QtSensorGestures PluginsThe QtSensorGestures recognizer plugins are the way to create your own sensor gestures. Creating software to recognize motion gestures using sensors is a huge subject not covered here. The QSensorGesture API does not limit usage to any of the common classification methods of gesture recognition such as Hidden Markov Models, Neural Networks, Dynamic Time Warping, or even the ad-hoc heuristic recognizers of Qt's built-in sensor gesture recognizers. It's basically a signaling system for lower level gesture recogition methods and algorithms to communicate to the higher level applications. OverviewThe steps to creating a sensor gesture plugin are as follows:
MySensorGestureRecognizer::MySensorGestureRecognizer(QObject *parent) : QSensorGestureRecognizer(parent) { } MySensorGestureRecognizer::~MySensorGestureRecognizer() { } bool MySensorGestureRecognizer::start() { Q_EMIT mySignal(); return true; } bool MySensorGestureRecognizer::stop() { return true; } bool MySensorGestureRecognizer::isActive() { return true; } void MySensorGestureRecognizer::create() { } QString MySensorGestureRecognizer::id() const { return QString("QtSensors.mygestures"); } MySensorGesturePlugin::MySensorGesturePlugin(){} MySensorGesturePlugin::~MySensorGesturePlugin(){} QList <QSensorGestureRecognizer *> MySensorGesturePlugin::createRecognizers() { QList <QSensorGestureRecognizer *> recognizers; MySensorGestureRecognizer *recognizer = new MySensorGestureRecognizer(this); recognizers.append(recognizer); return recognizers; } QStringList MySensorGesturePlugin::supportedIds() const { return QStringList() << "QtSensors.mygestures"; } Recognizer ClassesIf you are making sensorgestures available through the QtSensorGestures API, these are the classes to subclass.
Recognizer PluginsThe Sensor Gesture Recognizers that come with Qt are made using an ad-hock heurustic approach. The user cannot define their own gestures, and must learn how to perform and accomodate the pre-defined gestures herein. A developer may use any method including computationally and training intensive well known classifiers, to produce gesture recognizers. There are currently no classes in Qt for gesture training, nor ability for the user to define their own sensor based motion gestures. A procedure for writing ad-hock recognizers might include:
Here is a list of included plugins and their signals For ShakeGestures plugin:
For QtSensorGestures plugin:
|