Page MenuHome

3D Mouse Malfunction
Closed, ResolvedPublic

Description

System Information
Windows 10 - NVIDIA GeForce 1050ti

Blender Version
2.8 - 10f0f4b
Worked: (2.79)

I have a 3dconnexion space mouse and whenever I try to move around in the viewport with it, it freezes until I move the regular mouse and the space mouse at the same time, but it skips to another part of the viewport.

https://youtu.be/8oqheDCG3DI

Event Timeline

Thank you for the report. Currently we are aware of many issues in 2.8 and actively working to fix them.
But since replying to reports takes time, we have decided to limit bug reports to module team members.

For the time being, closing this report.

@Brandon Farley (farcgs) I'm responsible for 3D mouse support, and will make sure this is not forgotten in 2.8.

Something to do with NDOF_MOTION events getting lost or not triggering a redraw in the viewport.

@Mike Erwin (merwin), this problem was probably caused by my commit -> rB785e8a636a29

I can't teste but here is a possible fix (that + #ifdef WIN32 can be removed if you prefer)

diff --git a/intern/ghost/intern/GHOST_System.cpp b/intern/ghost/intern/GHOST_System.cpp
index 4db2f0616d7..8a686dd7aa1 100644
--- a/intern/ghost/intern/GHOST_System.cpp
+++ b/intern/ghost/intern/GHOST_System.cpp
@@ -219,10 +219,12 @@ bool GHOST_System::getFullScreen(void)
 void GHOST_System::dispatchEvents()
 {
 #ifdef WITH_INPUT_NDOF
+  #ifndef WIN32
 	// NDOF Motion event is sent only once per dispatch, so do it now:
 	if (m_ndofManager) {
 		m_ndofManager->sendMotionEvent();
 	}
+  #endif
 #endif
 
 	if (m_eventManager) {
diff --git a/intern/ghost/intern/GHOST_SystemWin32.cpp b/intern/ghost/intern/GHOST_SystemWin32.cpp
index ccc90e363b7..745a9f659aa 100644
--- a/intern/ghost/intern/GHOST_SystemWin32.cpp
+++ b/intern/ghost/intern/GHOST_SystemWin32.cpp
@@ -1098,8 +1098,10 @@ LRESULT WINAPI GHOST_SystemWin32::s_wndProc(HWND hwnd, UINT msg, WPARAM wParam,
 							break;
 #ifdef WITH_INPUT_NDOF
 						case RIM_TYPEHID:
-							if (system->processNDOF(raw))
+							if (system->processNDOF(raw)) {
+								system->m_ndofManager->sendMotionEvent();
 								eventHandled = true;
+							}
 							break;
 #endif
Germano Cavalcante (mano-wii) reopened this task as Open.EditedAug 1 2018, 2:03 PM

I believe this problem deserves attention. Reopening.

I would be happy to test it out on my end and give feedback, since I own a 3d spacemouse, to let you know if the malfunction is still occuring on my end. Currently, there's still the same issue happening. It only responds to input when I'm either holding down any of the arrow keys or sliding the mouse around.

@Brandon Farley (farcgs), ok, I sent the patch that I believe corrects the problem (I think it will be in tomorrow's build, in buildbot).
Please report any strange 3D Mouse behavior that may have come up with that patch.