On Linux (at least), a key event is accompanied with a mouse position
event. If a libRocket UI is listening to e.g. "mouseover" events,
then any keypress will first appear to be a mouse movement, tripping
up code that tries to handle focus with both keyboard and mouse
support.
This change merely dispatches key events before any mouse events to
avoid this problem.
libRocket calls some keys "OEM" which map to ASCII characters in
non-predictable places. Since Panda3D is providing these values
to libRocket from well-known sources, it seems a lesser evil to
use the default US English mappings rather than losing the events
entirely.
The only transform still stored in CullableObject is internal transform.
NB: I haven't tested my PipeOcclusionCullTraverser changes. Please contact me if you encounter problems with it.
* Better support for typedefs
* Same code should compile for both 32-bit and 64-bit
* C++11 typed enum support
* Synthesize __setitem__ when operator [] returns reference
* Rewrite coerce system to have better performance
* Change semantics of __getattr__ and __setattr__ to match
Python's, add __getattribute__, __delattr__ and __delitem__
* Improve performance of slot functions a bit more
* Reduce memory overhead of type system
* Some support for wrapping arrays of numeric types
* C++11 character type support in cppparser
* Chars are handled as strings of length 1
* Template functions for CreatePyInstance that use runtime type map
* More functions from dtool as extension functions
* Code cleanup