#ifndef SHUTTLE_H
#define SHUTTLE_H
-#include <qthread.h>
+#include <QThread>
#include <QObject>
+#include <QMap>
#include <linux/input.h>
-
+#include <sys/time.h>
+#include "lib/external/media_ctrl/mediactrl.h"
typedef struct input_event EV;
private:
bool m_isWorking;
void handle_event(EV ev);
+ void handle_event(struct media_ctrl_event ev);
+ void jog(struct media_ctrl_event ev);
void jog(unsigned int value);
void shuttle(int value);
+ void shuttle(struct media_ctrl_event ev);
void key(unsigned short code, unsigned int value);
+ void key(struct media_ctrl_event ev);
};
+typedef QMap<QString, QString> DeviceMap;
+typedef QMap<QString, QString>::iterator DeviceMapIter;
class JogShuttle: public QObject
{
-Q_OBJECT public:
+ Q_OBJECT
+public:
explicit JogShuttle(const QString &device, QObject * parent = 0);
~JogShuttle();
void stopDevice();
void initDevice(const QString &device);
+ static QString enumerateDevice(const QString& device);
+ static DeviceMap enumerateDevices(const QString& devPath);
protected:
virtual void customEvent(QEvent * e);