Non-US Keyboard layouts

I'm currently rewriting a section of code that I came up with years ago when batman.ac told me his german keyboard layout didn't work with my code…



Basically, it's a key map.  One would have to be created for each layout, IF there's no other way to do it.



Simply put, I have written a section of code that allows you to configure your key settings for your game in XML then it dynamically introduces them to the GameSettings so you don't have to.  If the language for the key settings is not EN (which I'm reworking that as well to actually reference what layout and not language) then it looks up the keys in a map.  E.g. umlaut O is mapped to … so if the umlaut O is a key in the configuration then it maps it directly to the JME equivalent.



Right now, the code I wrote works with a DynamicXmlDocument and DynamicXmlObject that I created, so I'm working on doing the same thing with the Collada XML.



For those that use Non-US Keyboard layouts (e.g. German, Russian, Arabic, etc) how do you code around key uses in JME?