Here you will find the new keyboard definitions for GTKeyboard.
Here's how to create them yourself - submissions of new formats or
fixes for current formats are always welcome, and I will credit you as
a contributor to GTKeyboard.  

Line one of the file:  Row values.
You can have up to 6 rows worth of keys in your keyboard layout.  This
counts only the main body of the keyboard, and does not count the
F-keys, the cursor pad, or the number pad.

The first line is up to 6 numbers, each number corresponding to the
number of keys you want on that row.  If for example I want three
rows, the first row having 5 keys, the second having 6, and the third
having 7 keys, my first line would be:

5 6 7

And that's it.

Each subsequent line defines one key.  Each line must have three
KeySym's on it and one KeyCode. (see /usr/include/X11/keysymdef.h for a list of
KeySyms)  The first KeySym is what happens when the key is in a normal
state. (i.e. shift is not pressed)  The second is the upper case
version of the same letter, and the third is the AltGr state.  If
AltGr is depressed, then that keysym will come up.  The KeyCode is
like a physical scancode for the key on the keyboard.  This is only
used for remapping.  You don't have to specify a KeyCode for each key,
but you won't be able to remap to that keyboard if you don't.

See other files for examples.  Particularly with the KeyCodes, which
can be tricky.  But if you look at the other files and where certain
KeyCodes fall, and use "xev" to figure out which keycode goes with
which symbol on your keyboard, you should be fine.  If you need any
help with the file format, or if you'd like to sumbit a keyboard
definition, please email me at <s2mdalle@titan.vcu.edu>