compose:ralt option broken with 0.8 update

Bug #35845 reported by Dennis Kaarsemaker
12
Affects Status Importance Assigned to Milestone
xkeyboard-config (Ubuntu)
Fix Released
Medium
Unassigned

Bug Description

Summary says it all, compose:ralt makes gnome-settings-daemon crash happy, which is not the way it should be.

Log: http://paste.ubuntu-nl.org/10571 - seb128 determined this to be due to compose:ralt

Revision history for this message
Sebastien Bacher (seb128) wrote :

Just run "setxkbmap -layout 'us' -option 'compose:ralt' -print | xkbcomp - :0.0" to trigger it

Revision history for this message
Sergey V. Udaltsov (sergey-udaltsov) wrote :

It seems the only REAL fix is to change symbols/compose(ralt) to:

partial modifier_keys
xkb_symbols "ralt" {
    key <RALT> { [ Multi_key ] };
};

I'll commit it to CVS ASAP and see what would be broken...:)

The RALT key is a real evil these days...

Revision history for this message
Sebastien Bacher (seb128) wrote :

I've used that change from the CVS on the package:

--- xkeyboard-config-0.8.orig/symbols/level3
+++ xkeyboard-config-0.8/symbols/level3
@@ -26,7 +26,7 @@
     symbols[Group1] = [ Alt_L, ISO_Prev_Group, ISO_Prev_Group ]
   };
   key <RALT> {
- type[Group1]="PC_SYSRQ",
+ type[Group1]="PC_ALT_LEVEL2",
     symbols[Group1] = [ ISO_Level3_Shift, ISO_Next_Group ],
     virtualMods= AltGr
   };
only in patch2:
unchanged:
--- xkeyboard-config-0.8.orig/types/pc
+++ xkeyboard-config-0.8/types/pc
@@ -17,6 +17,14 @@
        level_name[Level2] = "Control";
     };

+ type "PC_ALT_LEVEL2" {
+ modifiers = Alt;
+ map[None] = Level1;
+ map[Alt] = Level2;
+ level_name[Level1] = "Base";
+ level_name[Level2] = "Alt";
+ };
+
     type "PC_SYSRQ" {
        modifiers = Alt+LevelThree;
        map[None] = Level1;

But the issue is still the same:

$ setxkbmap -rules xorg -layout us -option 'compose:ralt' -print xkb_keymap {
        xkb_keycodes { include "xfree86+aliases(qwerty)" };
        xkb_types { include "complete" };
        xkb_compat { include "complete" };
        xkb_symbols { include "pc(pc105)+us+level3(ralt_switch_for_alts_toggle)+group(alts_toggle)+compose(ralt)" };
        xkb_geometry { include "pc(pc105)" };
};

$ setxkbmap -rules xorg -layout us -option 'compose:ralt' -print | xkbcomp - :0.0
....
X Error of failed request: BadValue (integer parameter out of range for operation)
  Major opcode of failed request: 148 (XKEYBOARD)
  Minor opcode of failed request: 9 (XkbSetMap)
  Value in failed request: 0x16710003
  Serial number of failed request: 86
  Current serial number in output stream: 92

Revision history for this message
Sergey V. Udaltsov (sergey-udaltsov) wrote : Re: [Bug 35845] compose:ralt option broken with 0.8 update

Sebastien,

This is strange - it works for me...

Could you please output your xkbcomp not to 0:0 but to .xkm and .xkb
files - and send them to me?

Thanks,

Sergey

On 3/22/06, Sebastien Bacher <email address hidden> wrote:
> Public bug report changed:
> https://launchpad.net/malone/bugs/35845
>
> Comment:
> I've used that change from the CVS on the package:
>
> --- xkeyboard-config-0.8.orig/symbols/level3
> +++ xkeyboard-config-0.8/symbols/level3
> @@ -26,7 +26,7 @@
> symbols[Group1] = [ Alt_L, ISO_Prev_Group, ISO_Prev_Group ]
> };
> key <RALT> {
> - type[Group1]="PC_SYSRQ",
> + type[Group1]="PC_ALT_LEVEL2",
> symbols[Group1] = [ ISO_Level3_Shift, ISO_Next_Group ],
> virtualMods= AltGr
> };
> only in patch2:
> unchanged:
> --- xkeyboard-config-0.8.orig/types/pc
> +++ xkeyboard-config-0.8/types/pc
> @@ -17,6 +17,14 @@
> level_name[Level2] = "Control";
> };
>
> + type "PC_ALT_LEVEL2" {
> + modifiers = Alt;
> + map[None] = Level1;
> + map[Alt] = Level2;
> + level_name[Level1] = "Base";
> + level_name[Level2] = "Alt";
> + };
> +
> type "PC_SYSRQ" {
> modifiers = Alt+LevelThree;
> map[None] = Level1;
>
>
> But the issue is still the same:
>
> $ setxkbmap -rules xorg -layout us -option 'compose:ralt' -print xkb_keymap {
> xkb_keycodes { include "xfree86+aliases(qwerty)" };
> xkb_types { include "complete" };
> xkb_compat { include "complete" };
> xkb_symbols { include "pc(pc105)+us+level3(ralt_switch_for_alts_toggle)+group(alts_toggle)+compose(ralt)" };
> xkb_geometry { include "pc(pc105)" };
> };
>
> $ setxkbmap -rules xorg -layout us -option 'compose:ralt' -print | xkbcomp - :0.0
> ....
> X Error of failed request: BadValue (integer parameter out of range for operation)
> Major opcode of failed request: 148 (XKEYBOARD)
> Minor opcode of failed request: 9 (XkbSetMap)
> Value in failed request: 0x16710003
> Serial number of failed request: 86
> Current serial number in output stream: 92
>

Revision history for this message
Sebastien Bacher (seb128) wrote : xkbcomp -xkm

"xkbcomp xkb -xkm xkm" whre xkb is from "setxkbmap -rules xorg -layout us -option 'compose:ralt' -print > xkb"

Revision history for this message
Sebastien Bacher (seb128) wrote : xkbcomp xkb -xkb xkb

xkbcomp xkb -xkb xkb

Revision history for this message
Sebastien Bacher (seb128) wrote :

That upload fixes the issue for me:

 xkeyboard-config (0.8-4) dapper; urgency=low
 .
   * symbols/group:
     - patch from the CVS to fix the ralt issue (Ubuntu :#35845)

Closing the bug as fixed. Feel free to reopen if you still get the bug after upgrading

Changed in xkeyboard-config:
status: Unconfirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.