[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#610556: xkb-data: Squeeze installation with console-setup ignores altwin:left_meta_win



Package: xkb-data
Version: 1.8-2
Severity: important

I always used XkbOptions altwin:meta_win, so I could have the logotype
(Windows) key as Meta in GNU Emacs and Sawfish, leaving Alt for other
applications and for user-defined Emacs keybindings.

	This time around, an old dream was fulfilled: console-setup now
configures both the console and X11 keyboard configurations.  Superb.  But
this configuration did not work in X11, forcing me to use setxkbmap.  Other
XkbOptions also failed to work, such as compose:rwin, nbsp:level3n.

  	While at the console, Emacs recognises only Meta at both the logo and
the Alt keys.  Compose and the dead keys work all right at the console.

	Worse still, while setxkbmap does work for compose and nbsp, it really
messed with altwin:left_meta_win.

	I have a 104-keys Unicomp Customizer, based on the IBM Model M.
/etc/X11/xorg.conf does not exist.


/etc/default/keyboard:

XKBMODEL="pc104"
XKBLAYOUT="us"
XKBVARIANT="intl"
XKBOPTIONS="altwin:left_meta_win,compose:rwin,nbsp:level3n"


        Gnome does say I have a 104 keys keyboard with the USA International
(with dead keys) layout.  It seems to know nothing of the options.

/var/log/Xorg.0.log:

(II) XINPUT: Adding extended input device "Power Button" (type: KEYBOARD)
(**) Option "xkb_rules" "evdev"
(**) Option "xkb_model" "pc104"
(**) Option "xkb_layout" "us"
(**) Option "xkb_variant" "intl"
(**) Option "xkb_options" "altwin:left_meta_win,compose:rwin,nbsp:level3n"
(II) config/udev: Adding input device Video Bus (/dev/input/event5)


      Here is a Emacs shell log.  Unconfigured keyboard, after booting and
logging in, Alt key gives Meta and logo key gives Super in GNU Emacs 23:

leandro@corel-276906-deb:~$ setxkbmap -print
xkb_keymap {
	xkb_keycodes  { include "evdev+aliases(qwerty)"	};
	xkb_types     { include "complete"	};
	xkb_compat    { include "complete"	};
	xkb_symbols   { include "pc+us(intl)+inet(evdev)"	};
	xkb_geometry  { include "pc(pc104)"	};
};
leandro@corel-276906-deb:~$ xkbcomp :0 -
xkb_keymap {
xkb_keycodes "evdev+aliases(qwerty)" {
    minimum = 8;
    maximum = 255;
[...]
    <LALT> = 64;
[...]
    <RALT> = 108;
[...]
    <LWIN> = 133;
    <RWIN> = 134;
[...]
     <ALT> = 204;
    <META> = 205;
[...]
[...]
};

xkb_types "complete" {

    virtual_modifiers NumLock,Alt,LevelThree,LAlt,RAlt,RControl,LControl,ScrollLock,LevelFive,AltGr,Meta,Super,Hyper;
[...]
};

xkb_compatibility "complete" {

    virtual_modifiers NumLock,Alt,LevelThree,LAlt,RAlt,RControl,LControl,ScrollLock,LevelFive,AltGr,Meta,Super,Hyper;

    interpret.useModMapMods= AnyLevel;
    interpret.repeat= False;
    interpret.locking= False;
[...]
    interpret Alt_L+AnyOf(all) {
        virtualModifier= Alt;
        action= SetMods(modifiers=modMapMods,clearLocks);
    };
    interpret Alt_R+AnyOf(all) {
        virtualModifier= Alt;
        action= SetMods(modifiers=modMapMods,clearLocks);
    };
    interpret Meta_L+AnyOf(all) {
        virtualModifier= Meta;
        action= SetMods(modifiers=modMapMods,clearLocks);
    };
    interpret Meta_R+AnyOf(all) {
        virtualModifier= Meta;
        action= SetMods(modifiers=modMapMods,clearLocks);
    };
    interpret Super_L+AnyOf(all) {
        virtualModifier= Super;
        action= SetMods(modifiers=modMapMods,clearLocks);
    };
    interpret Super_R+AnyOf(all) {
        virtualModifier= Super;
        action= SetMods(modifiers=modMapMods,clearLocks);
    };
[...]
};

xkb_symbols "pc+us(intl)+inet(evdev)" {

    name[group1]="USA";

[...]
    key <LALT> {         [           Alt_L,          Meta_L ] };
[...]
    key <RALT> {
        type= "ONE_LEVEL",
        symbols[Group1]= [ ISO_Level3_Shift ]
    };
[...]
    key <LWIN> {         [         Super_L ] };
    key <RWIN> {         [         Super_R ] };
[...]
};

xkb_geometry "pc(pc104)" {

    width=       470;
    height=      180;

    alias <AC00> = <CAPS>;
    alias <AA00> = <LCTL>;

    baseColor=   "white";
    labelColor=  "black";
    xfont=       "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1";
    description= "Generic 104";

[...]
        row {
            top=  77;
            left= 1;
            keys {
                { <LCTL>, "MODK",   1, color="grey20" },
                { <LWIN>, "SMOD",   1, color="grey20" },
                { <LALT>, "SMOD",   1, color="grey20" },
                { <SPCE>, "SPCE",   1 },
                { <RALT>, "SMOD",   1, color="grey20" },
                { <RWIN>, "SMOD",   1, color="grey20" },
                { <MENU>, "SMOD",   1, color="grey20" },
                { <RCTL>, "SMOD",   1, color="grey20" }
            };
        };
    }; // End of "Alpha" section
[...]
leandro@corel-276906-deb:~$ 


	Until this point, no compose or non-break spaces.  Then, I did my
setxkbmap to set these options.  This works.

leandro@corel-276906-deb:~$ setxkbmap -option compose:rwin,nbsp:level3n -verbose
Trying to build keymap using the following components:
keycodes:   evdev+aliases(qwerty)
types:      complete
compat:     complete
symbols:    pc+us(intl)+inet(evdev)+compose(rwin)+nbsp(level3n)
geometry:   pc(pc104)
leandro@corel-276906-deb:~$ 


	Then, I do setxkbmap again to try left_meta_win:

leandro@corel-276906-deb:~$ setxkbmap -option altwin:left_meta_win -verbose
Trying to build keymap using the following components:
keycodes:   evdev+aliases(qwerty)
types:      complete
compat:     complete
symbols:    pc+us(intl)+inet(evdev)+altwin(left_meta_win)
geometry:   pc(pc104)
leandro@corel-276906-deb:~$ sawfish-ui 


	Sawfish does recognise Alt and Meta as expected now, but Emacs behaves
strangely.  It interprets Alt as Meta, and Meta as Super.  As it is, I cannot
even A- or M-Tab out of Emacs.  At this point, if I switch to a virtual
console and back again, I get back to square one, setxkbmap for compose and
nbsp, and get something functional, but not what I wanted and am used to.




-- System Information:
Debian Release: 6.0
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.37-trunk-amd64 (SMP w/2 CPU cores)
Locale: LANG=fr_FR.utf8, LC_CTYPE=fr_FR.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

-- no debconf information






-- 
Leandro Guimarães Faria Corcete DUTRA  <leandro.gfc.dutra@camara.gov.br>
Analista de Informática Legislativa                   +55 (61) 3216 3603
Seção de Especificação de Ativos, Coord. de Relacionamento com Clientes
Centro de Informática, Câmara dos Deputados           Anexo I, sala 2305



Reply to: