UCSF Chimera, controlling only the active program

Questions and answers about 3Dconnexion devices on macOS.

Moderator: Moderators

Post Reply
Egonz
Posts: 11
Joined: Thu Aug 25, 2011 4:42 am

UCSF Chimera, controlling only the active program

Post by Egonz »

Hi,

I got myself a SpaceNavigator for Notebooks and after half a day of fiddling with it I must say it's awsome! I use it mainly with UCSF Chimera, which is a powerful visualization and analysis tool for macromolecules. For some reason you don't have it in your supported programs list. The program can be found at http://plato.cgl.ucsf.edu/chimera.

I do have one question.. it appears that when I have several programs open, that can recieve signals from the SpaceNavigator, (e.g Chimera, MacPyMOL, Google Earth) then they all react simultaneously. As I occasionally have more than one graphics program open at the same time, is it possible to tweak some option, so that only the active program/window gets the signal?

Best regards,
Egonz
crobl
Moderator
Moderator
Posts: 138
Joined: Mon Feb 26, 2007 8:34 am
Location: Freiham, Germany

Post by crobl »

Hello Egonz,

nice to hear that you found Chimera working with our 3D Mouse.
Not so nice, though very interesting, that on you system all application that support our 3D Mouse are reacting simultaneously - this is not supposed to happen! And yes, normally only the active application should respond to the 3D Mouse input.

Can you please give me some information on your system:
What OS X version and machine are you running on?
What is the version of 3DxWare for Mac?
To get this information, please open the System Preferences -> 3Dconnexion.
If you've installed the official driver you now go to the Configure drop down (where the application configuration are listed) and select "About 3Dconnexion".

If you happen to have the beta driver from our "Lab's" page, then just open the "Tools" section - you find the version number in the lower left.

Did you create and uses a specific configuration for Chimera and MacPyMOL?

Do you have any other USB input devices and therefore drivers installed on your machine, like a tablet or the like?


Regards,

Christian Robl
3Dconnexion
Egonz
Posts: 11
Joined: Thu Aug 25, 2011 4:42 am

Post by Egonz »

I have a MacBookPro6,2 (Mid-2010 15" 2,66 GHz Core i7) running OS X 10.7.1 (Lion). I have the 10.0.3 beta driver installed.

I did create specific configurations, but it happens without them, too. I don't have any other USB input devices besides a regular mouse.

Right now the situation is as follows: MacPyMOL and Chimera capture all the commands, whatever application is active. Safari and Google Earth, on the other hand, act as expected and react only when active. I recall similar behaviour with the official driver, too, although I didn't test it very thoroughly.

It seems probable, that there is a problem with the implementation of Spacenavigator support on the Chimera and MacPyMOL side. If you agree on that, can you give me any suggestions that I could forward to the developers of those programs?
crobl
Moderator
Moderator
Posts: 138
Joined: Mon Feb 26, 2007 8:34 am
Location: Freiham, Germany

Post by crobl »

Hi Egonz,

I've an idea on what might go on. Can you please test some things for me:
Do changes in your specific configuration apply to Chimera/MacPyMOL? For example if you change the overall speed and/or a button mapping. And does this only apply to the application you did the change for?

If you don't mind, can you please uninstall the driver. Does Chimera and/or MacPyMOL still work with the SpaceNavigator?

Regards,

Christian
Egonz
Posts: 11
Joined: Thu Aug 25, 2011 4:42 am

Post by Egonz »

Changes to the knob configuration (axes, speed etc) apply to both Chimera and MacPyMOL and I can have different settings for each. If both programs are open, the settings of the active program are used eg when Chimera is active, the PyMOL model moves analogously and vice versa.

The buttons, however, seem to be somehow overridden and changing their function in the control panel has no effect. Both programs have predefined roles for the buttons and clicking a button executes the specific commands in both programs simultaneously, disregarding which program is active.

After uninstalling the driver, both Chimera and MacPyMOL stopped working with the SpaceNavigator. The need for the driver is actually documented in Chimera's user guide (scroll down to Other Input Devices).

I hope this helps to clarify the possible issue :)
Egonz
Posts: 11
Joined: Thu Aug 25, 2011 4:42 am

Post by Egonz »

Oh, and anoter thing I have noticed is that after the device has been connected to the computer and Chimera has been open for several hours, the navigating starts to jag and eventually Chimera stops responding to the 3D mouse. Restarting the program fixes the issue. I haven't noticed this behaviour with MacPyMOL, yet, but I really haven't had that program open for a longer period either.
crobl
Moderator
Moderator
Posts: 138
Joined: Mon Feb 26, 2007 8:34 am
Location: Freiham, Germany

Post by crobl »

Hi Egonz,

so the implementation is done using our driver, which is fine.

So for now the hint you can give to the Chimera developers you request some posts ago would be something like:
The 3D Mouse events may only be processed when the application is active (is key window).

But just to be sure: Please open the Cube demo and open GoogleEarth. Both should respond to the SpaceNavigator, but only when they're active (key).
The other application should not move at that time.

For the later issue I don't know, but maybe this issue is also solved or at least worked around with the above fix.
First assumption "Chimera is idle doing nothing for hours":
The device might have an issue with drifting (you can check, if you open the Cube demo and watch if it is slightly moving or vibrating after the same amount of time)

Second assumption "Chimera is being worked with using the SpaceNavigator": I dare to say that there might be a bug in processing 3D Mouse data in Chimera's event loop and maybe it detects an issue with these data values and ignores the 3D Mouse at a certain point.

Maybe both apply. But I must confess this is quite wild guessing by now.

If you have Further information on this latter "jag motion / stops working" issue, please let me know!

I'd really like to hear how things are going with Chimera!

Regards,

Christian
Egonz
Posts: 11
Joined: Thu Aug 25, 2011 4:42 am

Post by Egonz »

I tried Google Earth and the Cube at the same time, they work as they should, responding only while the program is active.

I'll notify the Chimera and MacPyMOL developers about these issues and post here if there's any progress.

Thank you for your assistance!

Best regards,
Egonz
Egonz
Posts: 11
Joined: Thu Aug 25, 2011 4:42 am

Post by Egonz »

The problem is caused by the Chimera implementation. Their support explained that they couldn't get it to work any other way, as the documentation of the device's driver was deficient back when they were implementing it.

Sadly, it is not a high priority issue for the Chimera developers right now, but I did get some positive feedback.
Comment (by goddard):

We plan in the next year (2012) replacing the Tk window toolkit with Qt.
This will be a good time to revisit these SpaceNavigator problems since
the problems may be connected with Tk event loop and Tk application
naming.
Here's a link to the current code: http://plato.cgl.ucsf.edu/trac/chimera/ ... acenav.cpp

I hope this will be solved eventually... :roll:
Post Reply