Although the 0.6 version fixed the segmentation fault under xorg 7.x.x, the new
symols string parser algorythm unable to parse the older xfree format and exits with the following error:
$ ./fbxkb
kbd group numbering is not continous
run 'xlsatoms | grep pc' to know what hapends
Output of the xlsatoms | grep pc command on Debian sarge(xfree 4.3.0.dfsg1):
$ xlsatoms | grep pc
155 pc/pc(pc104)+pc/us
163 pc(pc104)
711 pc/pc(pc104)+pc/us+pc/hu:2+group(switch)+group(shift_toggle)
Output on Ubuntu Edgy(xorg 7.1.1ubuntu6.2):
$ xlsatoms | grep pc
154 pc(pc105)+us+hu:2+group(shifts_toggle)+level3(ralt_switch)
163 pc(pc105)
Under xorg, the level3 option gets misinterpreted by the parser, and the contents of the first element of the group2info array gets overwritten by invalid data(.sym=label and the flag is the zz.png).
The patch fixes both problems. I tested it on the aforementioned Debian Sarge and Ubuntu Dapper machines.
Fixed symbols parser. Now parses both xfree 4.3 and xorg 7.x style symbol strings.