diff --git a/direct/src/directtools/DirectManipulation.py b/direct/src/directtools/DirectManipulation.py index b57a5d42e9..afaf28ac97 100644 --- a/direct/src/directtools/DirectManipulation.py +++ b/direct/src/directtools/DirectManipulation.py @@ -60,7 +60,7 @@ class DirectManipulationControl(DirectObject): # Nope, off the widget, no constraint self.constraint = None # [gjeon] to prohibit unwanted object movement while direct window doesn't have focus - if base.direct.cameraControl.useMayaCamControls: + if base.direct.cameraControl.useMayaCamControls and not base.direct.gotControl(modifiers): return if not base.direct.gotAlt(modifiers): diff --git a/direct/src/directtools/DirectSession.py b/direct/src/directtools/DirectSession.py index 9bd5fc8582..5c15f6e024 100644 --- a/direct/src/directtools/DirectSession.py +++ b/direct/src/directtools/DirectSession.py @@ -397,6 +397,11 @@ class DirectSession(DirectObject): self.fShift = 0 elif input == 'control': self.fControl = 1 + # [gjeon] to update control key information while mouse1 is pressed + if self.fMouse1: + modifiers = DIRECT_NO_MOD + modifiers |= DIRECT_CONTROL_MOD + messenger.send('DIRECT-mouse1', sentArgs = [modifiers]) elif input == 'control-up': self.fControl = 0 elif input == 'alt':