-   Linux - Software (
-   -   "Alt GR" produces Keycode for "CTRL" as well (

Bigpet 01-23-2006 02:57 AM

"Alt GR" produces Keycodes for "CTRL" as well
It took me ages to find out why I couldn't
write curly Brackets and the Piping sign on
my Keyboard with my newly installed SuSE 10.

The Reason is:
Every time I press Alt Gr the keycodes of
Alt Gr AND Ctrl_L are recognised. This seems
to be a general problem of the keymaps I use
because this also happened in the text console.

The thing is I installed SuSE 2 Times with the
CD's I used. The first intallation was on the
Virtual Machine "Virtual PC 2004" and the second
was on an old PC.
The keyboard on the old PC worked with no
problems. But the one on the VM has the
described error. I don't have some sort of
a special media keyboard or something. It's
a plain "cherry" keyboard.
Ok it's likely to blame Virtual PC for that
but I need it to work and I haven't encountered
anyone using the VM who has this problem.

What did work (well kinda) is unbinding the
left Ctrl. That let me print all the Alt GR
characters but I need the left Ctrl as well.

I'll post the keymaps I use later.

Bigpet 01-23-2006 03:00 AM

"Alt GR" produces Keycode for "CTRL" as well
Ok I got it myself.
After 3 Days I finnaly found out that
this is a bug of the SP1 for Virtual
PC 2004.
I fixed it by adding the functions
the keys (in the keymaps) usually have when pressing
altgr with ctrl+altgr

the keymaps are located depending on the distro:
Debian /usr/share/keymaps/(your arch)/(qwertz/qwerty/azerty)/(theconfiguredkeymap).kmap.gz
SuSE /usr/share/kbd/keymaps/(your arch)/(qwertz/qwerty/azerty)/(theconfiguredkeymap).map.gz
keycode 9 = eight parenleft bracketleft
control altgr keycode 9 = bracketleft

I don't think M$ will fix this so hopefully
everyone who encounters this error reads this

Bigpet 01-23-2006 04:36 AM

Oh damn
now I just can't find out how to do the same settings in xkb.
So could please anyone tell me how I can configure CTRL+AltGR+* combinations in xkb?

Bigpet 01-25-2006 02:15 AM

wup double post

the bear 04-03-2006 12:21 PM

Take a look in the compat folder in xkb (arm/mvroot/usr/X11R6/lib/X11/xkb/compat). The pc file seems to have what you're looking for. I don't know exactly what needs to be changed but I would think it's related to:


interpret Alt_R+Any        {
        virtualModifier= Alt;
        action = SetMods(modifiers=modMapMods);

However, I've been trying to make changes similar to what you're suggesting and clean fixes can be very complicated with xkb. An easy hack would be to go into the symbols/pc folder and open whatever language file you're using. In there you can control what every single key does. It wont let you define alt+ctrl behavior but you can set some other key that isn't used (like alt+shift keys maybe?) to do what you want.

Bigpet 04-09-2006 04:31 AM

thanks the bear.
But I got it fixed another way (sorry for not posting it)

I found the modifier options in „/etc/X11/xkb/types/extra“.
below the word FOUR_LEVEL I changed the following lines:
(-->= previous line changed to: )
modifiers = Shift+LevelThree;
-->modifiers = Shift+LevelThree+Control;
map[LevelThree] = Level3;
-->map[Control+LevelThree] = Level3;
level_name[Level3] = “Alt Base”;
-->level_name[Level3] = “AltGr”;

I know I should've made these changes in another file
that's supposed to be used for user changes. But I tried
it so long that I was fond of this quick hack to work. I
just left it the way it was.

But sadly xemacs doesn't use the xkb maps so if I were to
use it I would have had to remap the keys there as well.
This problem should be solved by a global interface for
keymaps for all modes (text and graphical) and programs
in linux. That's just my :twocents:

All times are GMT -5. The time now is 05:28 AM.