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

Bug#258399: xlibs: dvorak keyboard layout is missing right alt key



On Mon, Aug 30, 2004 at 12:08:07PM -0400, Adam C Powell IV wrote:
[...]
> Interestingly, I had thought that the absence of Alt_R in mod2 was the
> problem with the Dvorak/switched layout.  But it's also missing in the
> default US/no switch layout, in which right Alt works just fine...
>
> FYI, in the case of Dvorak/no switch, right Alt does nothing; with
> US/switch, right Alt works fine.  So Dvorak seems to be the problem.

Great, thank you for your detailed report.
Your analysis is right, swapcaps and mod2 are not causing this bug.
Since xmodmap output is similar in both cases, one could believe that
their modifiers are the same, but this is wrong.  The difference is
more subtle, it becomes visible when running
  $ xmodmap -pke | grep 113
(because 113 is the keycode of right Alt key in your case) with both
layouts (do not swap caps/ctrl to make less changes) and compare their
output:
   keycode 113 = Alt_R Meta_R
   keycode 113 = ISO_Level3_Shift Multi_key

With pc/us, right Alt key is bound to "Alt_R Meta_R".  Unfortunately
xmodmap does not tell why Alt_R is bound to mod1, this is because XKB
is much more powerful and xmodmap is unable to display all details.
The reason can be found by running
  $ xkbcomp :0
and searching for Alt_R in the generated server-0.xkb file.

OTOH right Alt key is bound to ISO_Level3_Shift (and thus mod5) with
dvorak layout, so pressing this key grabs the 3rd column found in
/etc/X11/xkb/symbols/pc/dvorak (ie. dead keys).  This event is
intercepted by XKB and not sent to your window manager.
So in fact, your right Alt key works as expected, but not as you want.

This bug should either be fixed by providing a pure ASCII dvorak
variant, or you have to bind your right Alt key to mod1.  I believe
that selecting altwin:meta_alt option does the trick.  In such a
case, can this bugreport be closed, or do you really need another
variant?

Denis




Reply to: