Comment 30 for bug 7848

Revision history for this message
Denis Barbier (barbier) wrote :

I will try to provide better explanations. There are two distinct problems, whether on macintosh models or not.
Layouts for macintosh models (ie with XkbModel "macintosh" or "macintosh_old") are available under /etc/X11/xkb/symbols/macintosh/. As you can see, there are very few of them. GNOME keyboard switcher should only display layouts found in this directory when model is set to macintosh or macintosh_old. Some people add links from symbols/pc/ to be able to load other layouts. This may work for them, but basically this is unsupported. If other layouts are needed, it should be reported upstream.
About layouts like hu or ca_enhanced which cannot be combined with other layouts on PC keyboards, this is not a bug but a feature ;) The $oldlayouts variable in /etc/X11/xkb/rules/xfree86 lists layouts only available in the so-called "old format". They cannot be combined with others, period. Some layouts in the new format are available from XFree86 or freedesktop (in the latter case include paths must be fixed), or they can also be converted manually. For instance, de_CH can be replaced by pc/ch(de), or sometimes the name is unchanged, as for ca or hu. For Debian, I would like to provide as many new layouts as possible, and keep old ones (there are sometimes minor differences, users may prefer the latter). This is not hard, but time consuming because /etc/X11/xkb/rules/xfree86{,.lst,.xml} must be kept in sync, so one has to be very careful when making changes (and having to deal with the whole xfree86 tree is no fun). In short,
you do not have time to fix all $oldlayouts layouts (well at least I do not plan to fix them all in Debian), so you have to decide what to do with the remaining ones. You can mark them as being unsupported in xfree.xml for instance, and after that try to replace some old-format layouts by new ones and remove the "unsupported" marker.