I recently did more to switch from GraphicsWindow to GraphicsWindowQt and noticed several oddities. The current one is that in my event handler for KEYDOWN event type, ea.getUnmodifiedKey() is always 0.
In GraphicsWindowWin32.cpp, WM_KEYDOWN, WM_SYSKEYDOWN, WM_KEYUP, & WM_SYSKEYUP does the following in handleNativeWindowingEvent(): Code: int keySymbol = 0; int unmodifiedKeySymbol = 0; unsigned int modifierMask = 0; adaptKey(wParam, lParam, keySymbol, modifierMask, unmodifiedKeySymbol); _keyMap[std::make_pair(keySymbol,unmodifiedKeySymbol)] = true; //getEventQueue()->getCurrentEventState()->setModKeyMask(modifierMask); getEventQueue()->keyPress(keySymbol, eventTime, unmodifiedKeySymbol); in GraphicsWindowQt.cpp, it does not pass in the unmodified key value. In void GLWidget::keyPressEvent( QKeyEvent* event ) Code: setKeyboardModifiers( event ); int value = s_QtKeyboardMap.remapKey( event ); _gw->getEventQueue()->keyPress( value ); I have a way around this. It would seem like both classes should give me the same results. Is this a bug or for what reason do I get different results? To me, it seems like it would be a bug. Thank you in advance. ------------------ Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=43570#43570 _______________________________________________ osg-users mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

