Version: unspecified (using KDE 4.4.2) OS: Linux I made a modification in the file /usr/share/X11/xkb/symbols/de to get for a certain key another symbol displayed. In System-Settings->keyboardlayout I activated another variant for my language and then activated again the variant which i have modified. The modification has no effect while I have only one variant selected in the table 'Active Layouts'. Only if I have more than one entries in the table 'Active Layouts' the modification has an effect. As soon as I delete the second entry in the table 'Active Layouts' to remain only the modified variant in the table, the variant has the same behaviour as before the modification. I tested this many times and this is always reproducable. Reproducible: Always Steps to Reproduce: Select one variant of the german keyboard. layout as the only active layout. Then replace in the file /usr/share/X11/xkb/symbols/de one letter of this variant with another letter. Replace also in another variant which has not yet been used until now one letter with another. Restart the X-Server. Try if your change has an effect (no success). Select the variant in System-Settings->keyboardlayout, which until now not yet has been used as the only active variant. Test the effect (success). Select again the first used variant as the only active variant. Test the effect (no success). .... and so on. Now try the same again with two variants selected in the table 'Active Layouts'. Try each one by moving it to the top of the table. Both variants will be displayed conform to the change you have made in the symbols-file. Actual Results: see above Expected Results: see above it seems to be also a problem in gnome.
Let's try to simplify your tests: try to active the layout without KDE or Gnome. Run the setxkbmap in the command line, e.g.: setxkbmap -layout de -variant my_variant and see if this works, then post the results.
I already tried this before. Now I tried again. It is the same result. If there is only one entry in the table 'Active Layouts' and I change with "setxkbmap -layout de -variant ro_nodeadkeys" to the layout which I had selected first as my keyboard layout, then I get displayed the characters of the original version of this layout, not of the modified one. But if I change with "setxkbmap -layout de -variant ro" to another variant in which I have made the same modifications, I get displayed the characters of the modified version. If there are two variants enabled in the table 'Active Layouts' I always get displayed the modified version by switching between "setxkbmap -layout de -variant ro_nodeadkeys" and "setxkbmap -layout de -variant ro".
This is not a bug in KDE then, most probably you need to talk to xkeyboard-config (http://freedesktop.org/wiki/Software/XKeyboardConfig) guys - they would know more about how those things work. If you attach the diff you made to your layout file I can try to help but my knowledge (and time) here is limited.
1d0 < 114c113 < key <AD05> { [ t, T, tcedilla, Tcedilla ] }; --- > key <AD05> { [ t, T, 0x100021b, 0x100021a ] }; 117c116 < key <AC02> { [ s, S, scedilla, Scedilla ] }; --- > key <AC02> { [ s, S, 0x1000219, 0x1000218 ] }; 129c128 < key <AD05> { [ t, T, tcedilla, Tcedilla ] }; --- > key <AD05> { [ t, T, 0x100021b, 0x100021a ] }; 132c131 < key <AC02> { [ s, S, scedilla, Scedilla ] }; --- > key <AC02> { [ s, S, 0x1000219, 0x1000218 ] };
I think I found the problem - you need to delete compiled cache for your layouts. Go to /var/lib/xkb/compiled and delete all *.xkm files, then set your layout again.
That's it! Thank you very much!