There's an old xkbcomp bug that perhaps because it just causes a harmless warning (and not with all layouts, us keyboard users won't notice it) xorg guys never bothered about fixing it. A couple of years ago some guy sent them a patch that never was applied:
https://lists.x.org/archives/xorg-devel/2014-September/043751.html The warning is indeed a bug. The guy explains all well except for the way to *reproduce* it, that isn't complete; to see the warning you must set before one of the affected layouts (i.e. de, es, fr). Some examples: $ setxkbmap fi -print | xkbcomp -w 1 - $DISPLAY Warning: Type "ONE_LEVEL" has 1 levels, but <RALT> has 2 symbols Ignoring extra symbols $ setxkbmap af -print | xkbcomp -w 1 - $DISPLAY Warning: Type "ONE_LEVEL" has 1 levels, but <RALT> has 2 symbols Ignoring extra symbols $ setxkbmap br -print | xkbcomp -w 1 - $DISPLAY Warning: Type "ONE_LEVEL" has 1 levels, but <RALT> has 2 symbols Ignoring extra symbols $ setxkbmap es -print | xkbcomp -w 1 - $DISPLAY Warning: Type "ONE_LEVEL" has 1 levels, but <RALT> has 2 symbols Ignoring extra symbols $ setxkbmap fr -print | xkbcomp -w 1 - $DISPLAY Warning: Type "ONE_LEVEL" has 1 levels, but <RALT> has 2 symbols Ignoring extra symbols $ setxkbmap de -print | xkbcomp -w 1 - $DISPLAY Warning: Type "ONE_LEVEL" has 1 levels, but <RALT> has 2 symbols Ignoring extra symbols $ setxkbmap pl -print | xkbcomp -w 1 - $DISPLAY Warning: Type "ONE_LEVEL" has 1 levels, but <RALT> has 2 symbols Ignoring extra symbols $ setxkbmap us -print | xkbcomp -w 1 - $DISPLAY $ (no output with 'us' layout) $ setxkbmap ru -print | xkbcomp -w 1 - $DISPLAY $ (no output with 'ru' layout) The final version of the patch (relevant part pasted also at the bottom of this message): http://lists.x.org/archives/xorg-devel/attachments/20140911/e675c15a/attachment.patch The good news is *I've tried the patch in xenocara* and I can confirm it makes the useless warning disappear and at least with the Spanish keyboard I haven't noticed any undesirable side effects. But I ignore what the expected behavior in all other languages is. If we wait for anyone affected to try the patch it won't ever get fixed. May be committing the diff, put a notice in misc@, and wait to see if someone complains? :-) Once the patch is applied anyone may check specially if the right alt key *when associated to level3 symbols* works as expected. Here is the diff (xenocara/app/xkbcomp/symbols.c): Signed-off-by: Benno Schulenberg <[email protected]> Reviewed-by: Ran Benita <[email protected]> --- symbols.c | 15 ++++++++------- 1 files changed, 8 insertions(+), 7 deletions(-) diff --git a/symbols.c b/symbols.c index d43ba9f..9313d3c 100644 --- a/symbols.c +++ b/symbols.c @@ -339,18 +339,19 @@ MergeKeyGroups(SymbolsInfo * info, clobber = (from->defs.merge != MergeAugment); report = (warningLevel > 9) || ((into->defs.fileID == from->defs.fileID) && (warningLevel > 0)); - if (into->numLevels[group] >= from->numLevels[group]) - { - resultSyms = into->syms[group]; - resultActs = into->acts[group]; - resultWidth = into->numLevels[group]; - } - else + if ((from->numLevels[group] > into->numLevels[group]) + || (clobber && (from->types[group] != None))) { resultSyms = from->syms[group]; resultActs = from->acts[group]; resultWidth = from->numLevels[group]; } + else + { + resultSyms = into->syms[group]; + resultActs = into->acts[group]; + resultWidth = into->numLevels[group]; + } if (resultSyms == NULL) { resultSyms = uTypedCalloc(resultWidth, KeySym); Thanks, Walter
