Granted my xkeys is usb it is also pre SE. I don't know what difference that makes.

Here is a chunk of the code that is in the .xkp file... it is viewable in a text editor this way:
[code:1]D "USB 58 Key"
G {00 20 04 00 01 01 2C}
L1{
K{
00 {08 00 03 00 04 FE 04}
01 {08 00 03 00 0D FE 0D}
02 {08 00 03 00 16 FE 16}
03 {08 00 06 00 04 FE 04 1E FE 1E}
04 {08 00 06 00 0C FE 0C 1E FE 1E}
05 {08 00 06 00 14 FE 14 1E FE 1E}
06 {08 00 06 00 1C FE 1C 1E FE 1E}[/code:1]

I am ASSUMING that the code 00 is the key assignment and that key 00 is the upper left key. That being said the code next to 00 SHOULD represent the "a" key being pressed down and then released.

I thought that this was hex code, and it still could be, but a little drunken research last night made me think it was not as hex codes have two digit numbers in a higher range than anything hat seems to be in this code.

I tried installing macro recorder II last night but it didn't seem to want to work with MY xkeys, possibly because it is pre SE.

Gonna work on this more today, and hope that others do as well, if I learn anything I will post it here.

If anyone has other suggestions please post them and I'll see what I can do about researching this.

My current plan is to try to find a VIRTUAL programmable keyboard. One that is on-screen and, by preference, free.