[vtkusers] VTK tutorial, step 5 (Cone5), OSX-Cocoa: fails to capture keyboard events
Darren Weber
darren.weber.lists at gmail.com
Thu Mar 19 19:19:04 EDT 2009
I've tried this change to vtkCocoaRenderWindow.mm and it seems to be working
when I build Cone6 without the MACOSX_BUNDLE option for cmake.
#include <vtksys/ios/sstream>
#include <CoreServices/CoreServices.h>
.
.
.
//----------------------------------------------------------------------------
void vtkCocoaRenderWindow::MakeCurrent()
{
if (this->GetContextId())
{
[(NSOpenGLContext*)this->GetContextId() makeCurrentContext];
}
// **** BEGIN EDIT
// Adding process control so the window gets keyboard events.
ProcessSerialNumber psn = { 0, kCurrentProcess };
TransformProcessType( &psn, kProcessTransformToForegroundApplication );
// **** END EDIT
}
I wonder if the 'psn' variable should be put into an init method instead?
If so, I guess there should be a method to get it too.
Best, Darren
On Thu, Mar 19, 2009 at 4:03 PM, Sean McBride <sean at rogue-research.com>wrote:
> On 3/19/09 3:58 PM, Darren Weber said:
>
> >I'm not yet versed in Cocoa to make the change required. I can follow
> >specific instructions... I wonder if the keyboard event capture should
> >apply at the level of the window or at the level of the interactor?
>
> The snippit you had was good (wrong header though), so just paste it
> into the vtkCocoaRenderWindowInteractor constructor:
>
> #include <ApplicationServices/ApplicationServices.h>
>
> ProcessSerialNumber psn = { 0, kCurrentProcess };
> OSStatus error = TransformProcessType( &psn,
> kProcessTransformToForegroundApplication );
> assert (error == noErr);
>
> --
> ____________________________________________________________
> Sean McBride, B. Eng sean at rogue-research.com
> Rogue Research www.rogue-research.com
> Mac Software Developer Montréal, Québec, Canada
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20090319/b168b929/attachment.htm>
More information about the vtkusers
mailing list