Hi Alexander, I have just merged your submissions and am now testing it under Linux. My goal with this functionality is for the feature to work consistently across platforms, and this should possible even it does require a lit to and fro between us and others about what way to tackle this under different platforms.
In my testing with osgkeyboard, and using debug message in GraphicsWindowX11::adaptKey() that reports the different values of the key codes returned I've found that the virtualKey code when I press the 'A' or 'a' key is 'a', while the previous key symbol code was just 'A'. So we have progress. I was expect X11 to return a 'A' rather than 'a' for the unmodified key symbol, but I guess this makes sense. This finding makes me wonder what you are seeing for the "virtual key" when you press "A" and "a" under Windows. I note that you've used a specific mapping to a new enum value which use 'A' so I suspect that we may have divergence between X11 and Win32 here. What "virtual key" values are you getting under Windows when press 'A' and 'a'? Another area I'd like to clear up is that you have adopted the windows naming of virtual key, this doesn't really have any meaning under X11 or Carbon/Cocoa, and it seem counter to that fact that your "virtual key" is actually closer to unmodified keycode than the fully modified keycode that have been returning from osgGA previous, so rather than a "virtual key" it's actually closer the physical key. So naming this property "VirtualKey" doesn't seem helpful for end users save for the ones already used the peculiar naming adopted in low level MS Win32 functions. Perhaps "UnmodifiedKey" or another naming would be more appropriate. Finally we'll need to do something about OSX as just returning "0" for the "VirtualKey" will certainly lead to some awkward cross platform behavior if users adopt this new property. We can do a call to the community for implementations under Cocoa and Carbon, I would suggest we nail the conventions and the naming first though. Thanks in advance for you thoughts, Robert. On Thu, Jan 27, 2011 at 12:02 AM, Alexander Sinditskiy <[email protected]> wrote: > Hi, > > reason of this changes described in > http://forum.openscenegraph.org/viewtopic.php?t=7596 > > and another problem is: > example osgkeyboard is not work (keys not highlight) if user have 2 keyboard > layout native and english and current user layout is native > > I try to explain my changes > > we need something that is identify key without modifier keys and layout -> > this is VirtualKey > > I think osg must have its own VirtualKeys table. Code must be run same on > different platforms. This can de guaranteed by VirtualKeys table. > > Mikhail Izmestev helped me. He implemented VirtualKey changes in > GraphicsWindowX11 > > His chandes in archive too. > > Thank you! > > Cheers, > Alexander > > ------------------ > Read this topic online here: > http://forum.openscenegraph.org/viewtopic.php?p=36009#36009 > > > > > _______________________________________________ > osg-submissions mailing list > [email protected] > http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org > > _______________________________________________ osg-submissions mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
