OpenSceneGraph/include
Robert Osfield a3a5af18b0 From Franz Melchior, "When switching virtual desktops or minimizing a window, keys
remain in pressed state after revealing, even if they are no
longer pressed on the keyboard. This can have bad effects,
especially if the stuck keys are modifier keys. One has to
press and release the stuck keys again to reset the wrong state.

The fix keeps track of all key presses and releases. On FocusOut
and UnmapNotify it releases all keys that are in pressed state,
and on KeymapNotify (following a FocusIn), it sets the currently
pressed keys again. To avoid confusion in the OSG-using application
normal keys are always reported released /before/ and pressed
/after/ modifier keys.

As current key states are returned as char[32] keymap by
XQueryKeymap and XKeymapEvent, this format is also used to
recognize modifier keys and for maintaining the current
internal key state. Functions to set/clear/query bits in
such a keymap are added.

The patch was extensively tested with osgkeyboard and
FlightGear under KDE and fvwm2. It was not tested on a
Xinerama setup or with multiple windows, but as _eventDisplay
is used throughout, there should be no problems. The patch also
makes the following changes:

- removes old and obsolete handling of modifier keys in ::adaptKey().
 This wasn't only unused, but also wrong (and for that reason commented
 out in revision 7066). The modifier states are actually handled
 in ./src/osgGA/EventQueue.cpp (EventQueue::keyPress/keyRelease).
- fixes some spelling"
2008-02-25 16:50:28 +00:00
..
osg From Robert Osfield and Carlo Camporesi, took submission from Carlo for adding LoadingExternalReferenceMode to ProxyNode and extended it 2008-02-25 15:07:35 +00:00
osgDB From Mike Weiblen, build fix for VS8. 2008-01-09 11:42:19 +00:00
osgFX From David Callu, improved consistency of Version strings and add version support 2007-09-05 17:12:24 +00:00
osgGA From Bryan Thrall, "UFOManipulator ignores any attached CoordinateFrameCallback; the 2007-12-21 14:21:21 +00:00
osgIntrospection From Emmanuel Roche, "I'm joining two zip files to this mail for the modified sources and include files of osgIntrospection. 2008-02-25 16:26:30 +00:00
osgManipulator Changed method parameter to use const & 2008-02-25 14:27:57 +00:00
osgParticle From Alberto Luaces, "it seems that include/osgParticle/BoxPlacer was created from the SectorPlacer 2007-12-11 11:37:03 +00:00
osgShadow Added separate unform variable to keep track of abmient contribution. 2007-12-15 15:19:18 +00:00
osgSim Added copy operator to ShapeAttribute to prevent problems when assigned them or use within a vector 2007-12-13 12:30:31 +00:00
osgTerrain Refactored osgTerrain so that the interface for setting up layer is more straight forward, and added support into GeometryTechnique for handling multiple layers 2008-02-22 11:52:23 +00:00
osgText Refactored the mutex usage in osgText and freetype plugin to prevent multi-thread crash 2008-02-25 12:54:54 +00:00
osgUtil From Jean-Sebastien Guay, added OSGUTIL_EXPORT for Windows build 2008-01-10 11:08:11 +00:00
osgViewer From Franz Melchior, "When switching virtual desktops or minimizing a window, keys 2008-02-25 16:50:28 +00:00