maybe use keyboard layouts from cldr
the Common Locale Data Repository maintains keyboard maps that could just reuse instead:
layouts are at http://www.unicode.org/Public/cldr/latest/keyboards.zip
docs are at http://cldr.unicode.org/index/charts/keyboards. gnome-shell has tools to convert to xkb if that helps.
Edited by Guido Gunther