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

Bug#227578: xmodmap and Mode_switch, ISO_Level3_Shift



Göran Weinholt wrote :
> When I try to remap Alt Gr combinations xmodmap removes the old
> mapping, puts in a mapping that shows up OK in xmodmap -pke, but the
> mapping doesn't actually work.
>
> I'm using XkbRules xfree86, XkbLayout se, XkbModel logicdp. This is my
> xmodmap input:
>
> keycode 55 = v V leftdoublequotemark leftsinglequotemark
> keycode 56 = b B rightdoublequotemark rightsinglequotemark
> keycode 59 = comma semicolon ellipsis dead_ogonek
>
> I'm expecting Alt Gr + v to produce leftdoublequotemark, and Alt Gr +
> shift + v to produce leftsinglequotemark. AFAIK, this used to work.
> Nowadays xmodmap puts in NoSymbol for those combinations.

Hi,

I'm resurrecting this old bug since I've just switched from Woody to Sarge and I'm having the very same problem.

First of all, here is my config as set in XF86Config-4 :
XkbRules = xfree86
XkbModel = inspiron
XkbLayout = fr
(no XkbVariant, no XkbOptions)


I believe this is the problem: Alt Gr produces ISO_Level3_Shift
instead of the expected Mode_switch.

Same conclusion here (it's also apparent from the xev dump given earlier by Roland) but I think the fact that Alt Gr produces ISO_Level3_Shift is the expected behaviour. I recall vaguely that it's due to the new way things are handled with Xkb.


Simply remapping Alt Gr to
produce Mode_switch makes my mappings work, but then the Alt Gr +
number mappings don't work (Swedish keyboards have @£${[]}\ on
Alt Gr + number.)

If you want to stick to Mode_switch, I'm afraid you must redefine all your Alt_gr mapping since Mode_switch is not used anymore (it seems to be kept for backward compatibility only). And finding out your entire Alt_Gr mapping will be a real pain since "xmodmap -pke" doesn't print it.

Here is another way to make xmodmap work : in the keycode lines, 3rd and 4th keysyms are associated with Mode_shift but 5th and 6th keysyms /seem/ to be associated with ISO_Level3_Shift.

Thus, the following Xmodmap file should work without remapping Alt_Gr to Mode_switch :
keycode 55 = v V v V leftdoublequotemark leftsinglequotemark
keycode 56 = b B b B rightdoublequotemark rightsinglequotemark
keycode 59 = comma semicolon comma semicolon ellipsis dead_ogonek

Strangely, "xmodmap -pke" now prints the new mapping. There is definitely something wrong with xmodmap I guess. At least, xmodmap manpage should be updated.


My question is therefore: why is Alt Gr mapped to ISO_Level3_Shift and
not Mode_switch?

I don't actually know. I assume this is a side-effect to the flexibility that has been added to xkb.


Where can I see the mappings for ISO_Level3_Shift?
> Alt Gr + e produces a Euro, but nowhere in the xmodmap output is there
> a euro.

No idea. I believe this is a real bug. xmodmap is not backward compatible enough.

Last note : maybe xmodmap should be considered obsolete and xkbsel should be used instead.

Regards,

Xavier



Reply to: