Index: rules/base.o_s.part =================================================================== RCS file: /cvs/xlibs/xkbdesc/rules/base.o_s.part,v retrieving revision 1.19 diff -u -r1.19 base.o_s.part --- rules/base.o_s.part 12 Nov 2006 20:09:47 -0000 1.19 +++ rules/base.o_s.part 18 Nov 2006 02:08:49 -0000 @@ -34,6 +34,7 @@ lv3:switch = +level3(switch) lv3:ralt_switch = +level3(ralt_switch) lv3:ralt_switch_multikey = +level3(ralt_switch_multikey) + lv3:ralt_alt = +level3(ralt_alt) lv3:lalt_switch = +level3(lalt_switch) lv3:alt_switch = +level3(alt_switch) lv3:menu_switch = +level3(menu_switch) Index: rules/base.xml.in =================================================================== RCS file: /cvs/xlibs/xkbdesc/rules/base.xml.in,v retrieving revision 1.167 diff -u -r1.167 base.xml.in --- rules/base.xml.in 12 Nov 2006 20:09:47 -0000 1.167 +++ rules/base.xml.in 18 Nov 2006 02:08:51 -0000 @@ -3163,6 +3163,12 @@ <_description>Press Right Alt key to choose 3rd level, Shift+Right Alt key is Multi_Key. + Index: rules/sun.xml.in =================================================================== RCS file: /cvs/xlibs/xkbdesc/rules/sun.xml.in,v retrieving revision 1.1 diff -u -r1.1 sun.xml.in --- rules/sun.xml.in 6 Nov 2006 21:01:25 -0000 1.1 +++ rules/sun.xml.in 18 Nov 2006 02:08:52 -0000 @@ -807,6 +807,12 @@ <_description>Press Right Alt-key to choose 3rd level, Shift+Right Alt-key is Multi_Key + Index: symbols/level3 =================================================================== RCS file: /cvs/xlibs/xkbdesc/symbols/level3,v retrieving revision 1.15 diff -u -r1.15 level3 --- symbols/level3 16 Oct 2006 20:17:16 -0000 1.15 +++ symbols/level3 18 Nov 2006 02:08:52 -0000 @@ -17,6 +17,25 @@ modifier_map Mod5 { ISO_Level3_Shift }; }; +// Right Alt key never chooses 3rd level. +// This option attempts to undo the effect of a layout's +// including ralt_switch. You may also want to select another +// level3 option that maps the level3 shift to some other key. +partial modifier_keys +xkb_symbols "ralt_alt" { + key { + type[Group1]="TWO_LEVEL", + type[Group2]="TWO_LEVEL", + type[Group3]="TWO_LEVEL", + type[Group4]="TWO_LEVEL", + symbols[Group1] = [ Alt_R, Meta_R ], + symbols[Group2] = [ Alt_R, Meta_R ], + symbols[Group3] = [ Alt_R, Meta_R ], + symbols[Group4] = [ Alt_R, Meta_R ] + }; + modifier_map Mod1 { }; +}; + partial modifier_keys xkb_symbols "ralt_switch_multikey" { key {