3Dconnexion mouse

Having trouble installing or compiling FreeCAD? Get help here.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Post Reply
peterl94
Veteran
Posts: 1001
Joined: Thu May 23, 2013 7:31 pm
Location: United States

Re: 3Dconnexion mouse

Post by peterl94 »

wmayer wrote:As alternative we could also provide a special build with some log messages at the right places in the code.
Can you go a head and create a branch with these changes? You are more likely to get the information you need this way. Me or sgrogan can do the build.
wmayer
Founder
Posts: 20317
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: 3Dconnexion mouse

Post by wmayer »

peterl94 wrote:
wmayer wrote:As alternative we could also provide a special build with some log messages at the right places in the code.
Can you go a head and create a branch with these changes? You are more likely to get the information you need this way. Me or sgrogan can do the build.
Thanks for the offer. I have created a branch at SF: http://sourceforge.net/p/free-cad/code/ ... ball/tree/

There are quite a few log messages to check the most obvious things. Maybe we need a further version with more messages...
User avatar
sgrogan
Veteran
Posts: 6499
Joined: Wed Oct 22, 2014 5:02 pm

Re: 3Dconnexion mouse

Post by sgrogan »

wmayer-spaceball branch x64 vs2013 release build
https://www.dropbox.com/s/7j1rb8ldjtcvt ... ll.7z?dl=0
"fight the good fight"
User avatar
ektus
Posts: 141
Joined: Sat Sep 22, 2012 6:23 pm
Location: Germany

Re: 3Dconnexion mouse

Post by ektus »

Still no Spaceball function. Config pages for movement and buttons are there, but nothing moves.

OS: Windows 7
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.15.4641 +1 (Git)
Branch: wmayer-spaceball
Hash: b674010fd844e4f178e10e03eac2285b3bd75e73
Python version: 2.7.8
Qt version: 4.8.6
Coin version: 4.0.0a
OCC version: 6.7.1

Ausgabefenster:
=== Initialize Spaceball using 3DConnexion SDK ===
Total number of found devices: 7
Logitech device: HID: 2, VID: 1133
Multi-axis Controller found: Usage: 8, Usage page: 1
Found a Spaceball
InitializeRawInput succeeded
=== Finished ===

Python Console:
Python 2.7.8 (default, Nov 17 2014, 20:37:05) [MSC v.1800 64 bit (AMD64)] on win32
Type 'help', 'copyright', 'credits' or 'license' for more information.
>>> import WebGui
>>> from StartPage import StartPage
>>> WebGui.openBrowserHTML(StartPage.handle(),App.getResourceDir() + 'Mod/Start/StartPage/','Start page')
>>> import FreeCAD
>>> FreeCAD.open(u"C:/Users/Ekkehard/Documents/CAD/zero_plate.FCStd")
>>> App.setActiveDocument("zero_plate")
>>> App.ActiveDocument=App.getDocument("zero_plate")
>>> Gui.ActiveDocument=Gui.getDocument("zero_plate")
>>> Gui.activateWorkbench("InspectionWorkbench")
>>>

started from windows console window, no output there. Any other place to look?

I'm off to work now.

Regards
Ektus.

P.S.: Test run completes with no errors, but produces the following output:

Exception (Tue Mar 10 06:38:52 2015): 'SurelyNotInThere!' is not part of the enumeration
Call from Python thread (not synchronized): count=1
Call from Python thread (not synchronized): count=2
Call from Python thread (not synchronized): count=3
Call from Python thread (not synchronized): count=4
Call from Python thread (not synchronized): count=5
Call from Python thread (not synchronized): count=6
Call from Python thread (not synchronized): count=7
Call from Python thread (not synchronized): count=8
Call from Python thread (not synchronized): count=9
Call from Python thread (not synchronized): count=10
10
Printing message
Printing error
Printing warning
Call from Python thread: count=1
Call from Python thread: count=2
Call from Python thread: count=3
Call from Python thread: count=4
Call from Python thread: count=5
Call from Python thread: count=6
Call from Python thread: count=7
Call from Python thread: count=8
Call from Python thread: count=9
Call from Python thread: count=10
10
Arch workbench activated
Arch workbench deactivated
OpenSCAD executable not found
Draft workbench activated
Draft workbench deactivated
Write mesh to c:\users\ekkehard\appdata\local\temp\mesh.stl
Create mesh instance
Mesh loaded successfully.
Create mesh instance
Mesh loaded successfully.
Create sphere (10.0,140)...
Create sphere (10.0,160)...
... destroy sphere
... destroy sphere
Traceback (most recent call last):
File "C:\Program Files\Spaceball\Mod\Draft\Draft.py", line 4191, in onChanged
if obj.Length.Value != obj.Shape.Length:
<type 'exceptions.RuntimeError'>: shape is invalid
Entfernen der unterstützenden Skizze um Querverweise zu vermeiden
wmayer
Founder
Posts: 20317
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: 3Dconnexion mouse

Post by wmayer »

Thank you guys for building and testing.
=== Initialize Spaceball using 3DConnexion SDK ===
Total number of found devices: 7
Logitech device: HID: 2, VID: 1133
Multi-axis Controller found: Usage: 8, Usage page: 1
Found a Spaceball
InitializeRawInput succeeded
=== Finished ===
That's pretty weird that there is no further output. This basically means that the raw input events never come through. I'll add a few more log messages to track down the actual problem.
wmayer
Founder
Posts: 20317
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: 3Dconnexion mouse

Post by wmayer »

I think I have found the culprit. When a spaceball is detected the static function "GUIApplicationNativeEventAware::RawInputEventFilter" is set as event filter to the QApplication instance.
However, as soon as a 3d view is being created this event filter gets overridden by QuarterWidgetP::nativeEventFilter which seems to use the spacenav library (so Linux only). But this means that from then on the spaceball input events cannot be handled on Windows any more.

I have added some further code that hopefully fixes the problem.
@sgrogan when you prepare a new version based on my test branch it's sufficient to upload the file FreeCADGui.dll only. You don't have to upload the full package again.
@ektus you have to replace the old FreeCADGui.dll file with the new one.
User avatar
sgrogan
Veteran
Posts: 6499
Joined: Wed Oct 22, 2014 5:02 pm

Re: 3Dconnexion mouse

Post by sgrogan »

"fight the good fight"
User avatar
ektus
Posts: 141
Joined: Sat Sep 22, 2012 6:23 pm
Location: Germany

Re: 3Dconnexion mouse

Post by ektus »

Success! After replacing the DLL, 3D movement under windows is working once again 8-)

Thank you very much, Werner and sgrogan!


Now it's time to release ;)

[edit]Something isn't quite right: FreeCAD is using 100% CPU time on one core, albeit sitting idle with no model active (test object has been closed).[/edit]

Regards
Ektus.
wmayer
Founder
Posts: 20317
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: 3Dconnexion mouse

Post by wmayer »

Something isn't quite right: FreeCAD is using 100% CPU time on one core, albeit sitting idle with no model active (test object has been closed).
In the report window do you get a flood of messages there? If yes, this might be the reason for the heavy CPU load.
wmayer
Founder
Posts: 20317
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: 3Dconnexion mouse

Post by wmayer »

Fixed in master now.
Post Reply