11class SpaceMouseHandlerWindows :
public SpaceMouseHandler,
public MultiListener<PostFocusListener>
14 SpaceMouseHandlerWindows();
15 ~SpaceMouseHandlerWindows()
override;
17 bool initialize()
override;
18 void handle()
override;
19 void updateConnected(
int jid,
int event )
override;
22 MRVIEWER_API
void activateMouseScrollZoom(
bool activeMouseScrollZoom );
24 bool isMouseScrollZoomActive() {
return activeMouseScrollZoom_; }
27 bool initialized_{
false };
28 std::array<unsigned char, SMB_BUTTON_COUNT> buttons_{};
29 int joystickIndex_{ -1 };
30 const int* mapButtons_{
nullptr };
31 int buttonsCount_{ 0 };
32 float handleTime_{ 0.f };
34 std::thread updateThread_;
35 std::atomic_bool updateThreadActive_{
true };
36 std::atomic<std::array<float, 6>> axesDiff_;
37 std::array<float, 6> axesOld_{};
39 bool activeMouseScrollZoom_{
false };
42 bool isUniversalReceiver_{
false };
44 virtual void postFocus_(
bool focused )
override;
46 void updateConnected_();
47 void startUpdateThread_();