This is great
What would be even more brilliant is if you could do a partner app for producing XBMC keyboard.xml files.
An example of where this would be useful is where you want a key to do different things depending on XBMC context, for example:
Menu button on remote to mapped to "M" using your existing app.
Thus if I wanted the Menu button to open the Context Menu while in the XBMC GUI then I'd remap Context Menu to "M" in the Global portion of keyboard.xml
But if I then wanted the Menu button to open OSD whilst playing a video I'd have to map "M" to the OSD action in the FullscreenVideo section to override the Global use of "M"
To my mind at least the logic is the Menu button for Context Menu while in GUI and OSD menu when playing video, thus both Menu actions.