Bug 79564 - (xkb) xkb/symbols/pc keymaps broken wrt modifiers
(xkb) xkb/symbols/pc keymaps broken wrt modifiers
Product: Red Hat Raw Hide
Classification: Retired
Component: XFree86 (Show other bugs)
i686 Linux
medium Severity high
: ---
: ---
Assigned To: Mike A. Harris
David Lawrence
Awaiting upstream response
Depends On:
Blocks: 79578 82770
  Show dependency treegraph
Reported: 2002-12-13 08:56 EST by Luca Barbieri
Modified: 2007-04-18 12:49 EDT (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2003-02-04 20:46:04 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Luca Barbieri 2002-12-13 08:56:17 EST
Description of Problem:
XFree86 appears to have started to use keymaps present in
/etc/X11/xkb/symbols/pc rather than the ones in /etc/X11/xkb/symbols.
However these keymaps are broken in their handling of modifiers.

These are the old general modifier definitions:
// definition for the extra keys on 104-key "Windows95" keyboards
xkb_symbols "pc104" {
    include "us(generic101)"
    key <LALT> {        [       Alt_L,  Meta_L          ]       };
    key <RALT> {        [       Alt_R,  Meta_R          ]       };
    key <LWIN> {        [       Super_L                 ]       };
    key <RWIN> {        [       Super_R                 ]       };

    modifier_map Mod1   { Alt_L, Alt_R, Meta_L, Meta_R };
    modifier_map Mod4   { Super_L, Super_R };

And these are the new broken ones:
    key <LALT> {        [       Alt_L           ]       };
    key <RALT> {        [       Alt_R           ]       };
    key <LWIN> {        [       Meta_L          ]       };
    key <RWIN> {        [       Multi_key       ]       };
    modifier_map Mod1   { Alt_L, Alt_R };
    modifier_map Mod4   { Meta_L, Meta_R };

As you can see, the Windows keys have been changed from Super to Meta/Multi_key
and the Alt keys are no longer Meta keys.

This results, for example, in having to use the Windows key for Emacs key
combinations, which doesn't make sense.

A second problem is related to the Italian keyboard layout.
In that layout pressing RAlt+Shift+E is supposed to emit the eurocent symbol.
This happens if the keys are pressed in this order, but if they are pressed as
Shift+RAlt+E a beep is emitted instead.

Changing the following line:
   key <RALT>  { type[Group1]="TWO_LEVEL",
                  [ ISO_Level3_Shift, Multi_key ]   };
to this one:
   key <RALT>  { type[Group1]="TWO_LEVEL",
                  [ ISO_Level3_Shift, ISO_Level3_Shift ]   };

solves the problem (although it may introduce other ones and probably isn't the
correct way to solve this).

Both these problems weren't present before the switch to pc/

Version-Release number of selected component (if applicable):

How Reproducible:
Every time.

Additional information:
Section "InputDevice"
        Identifier      "Generic Keyboard"
        Driver          "keyboard"
        Option          "CoreKeyboard"
        Option          "XkbRules"      "xfree86"
        Option          "XkbModel"      "pc105"
        Option          "XkbLayout"     "it"
Comment 1 Mike A. Harris 2002-12-13 23:57:08 EST
This bug is acknowledged and confirmed.  XFree86 just recently had a revamping
of the xkb infrastructure, and there are some bumps left that need to be
fixed.  These issues should be fixed before the final release of 4.3.0
however, and people upstream are looking into them.

I'll update this report when it is believed to be fixed properly.
Comment 2 Mike A. Harris 2003-01-22 21:14:45 EST
I've sent out an email to the xfree86@xfree86.org mailing list to report
this problem and see if anyone else knows what the correct fix is rather
than putting in a potential hack/kludge.

Awaiting upstream response.
Comment 3 Mike A. Harris 2003-02-04 20:46:04 EST
Fixed in latest XFree86 CVS:

 827. Include server control definitions in some XKB maps that were missing
      them (based on #A.1562, Jens Petersen).
 826. Define Alt/Meta modifiers for the jp106 XKB layout, and include
      server control definitions (#A.1562, Jens Petersen).

Note You need to log in before you can comment on or make changes to this bug.