src/SpacenavReceiver.h
branchv_0
changeset 9 d3716f03efcd
parent 6 49560660d230
child 11 aaa89fe98b63
equal deleted inserted replaced
8:f351c261cbfd 9:d3716f03efcd
    22 
    22 
    23 #include "SpacenavWrapper.h"
    23 #include "SpacenavWrapper.h"
    24 
    24 
    25 Q_DECLARE_METATYPE(SpacenavWrapper::Event::MotionEvent)
    25 Q_DECLARE_METATYPE(SpacenavWrapper::Event::MotionEvent)
    26 Q_DECLARE_METATYPE(SpacenavWrapper::Event::ButtonEvent)
    26 Q_DECLARE_METATYPE(SpacenavWrapper::Event::ButtonEvent)
       
    27 Q_DECLARE_METATYPE(SpacenavWrapper::ConnectionStatus)
    27 
    28 
    28 class SpacenavReceiver : public QThread {
    29 class SpacenavReceiver : public QThread {
    29 	Q_OBJECT
    30 	Q_OBJECT
    30 private:
    31 private:
    31 	SpacenavWrapper spnav;
    32 	SpacenavWrapper spnav;
    34 
    35 
    35 	SpacenavReceiver() : QThread() {
    36 	SpacenavReceiver() : QThread() {
    36 	}
    37 	}
    37 
    38 
    38 	void run() {
    39 	void run() {
       
    40 		emit spacenavConnectionStatus(spnav.getConnectionStatus());
    39 		while (true) {
    41 		while (true) {
    40 			SpacenavWrapper::Event e = spnav.waitEvent();
    42 			SpacenavWrapper::Event e = spnav.waitEvent();
    41 			if (e.type == SpacenavWrapper::Event::Type::MOTION) emit spacenavMotionEvent(e.motion);
    43 			if (e.type == SpacenavWrapper::Event::Type::MOTION) emit spacenavMotionEvent(e.motion);
    42 			if (e.type == SpacenavWrapper::Event::Type::BUTTON) emit spacenavButtonEvent(e.button);
    44 			if (e.type == SpacenavWrapper::Event::Type::BUTTON) emit spacenavButtonEvent(e.button);
    43 		}
    45 		}
    44 	}
    46 	}
    45 
    47 
    46 signals:
    48 signals:
    47 	void spacenavMotionEvent(SpacenavWrapper::Event::MotionEvent e);
    49 	void spacenavMotionEvent(SpacenavWrapper::Event::MotionEvent e);
    48 	void spacenavButtonEvent(SpacenavWrapper::Event::ButtonEvent e);
    50 	void spacenavButtonEvent(SpacenavWrapper::Event::ButtonEvent e);
       
    51 	void spacenavConnectionStatus(SpacenavWrapper::ConnectionStatus s);
    49 };
    52 };