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

Reply via email to