1

I'm using KDE 4.13.3 (on a Ubuntu 14.04) and I'd like to use the altgr-intl keyboard variant so that I can e.g. type AltGr+Shift+6, then e to obtain ê.

Seemingly-relevant layouts displayed via System Settings, Input Devices, Keyboard include:

  • Layout: English (US)

    Variant: English (US, international AltGr Unicode combining)

  • Layout: English (US)

    Variant: English (US, international AltGr Unicode combining, alternative)

But none of them work as intended: when typing the accent combination, it is appended to the current letter, instead of waiting for me to type the next letter. So I have to type the letter before typing the accent, which is so unnatural that I cannot (and do not want to) get used to it.

How can I obtain the altgr-intl layout, that is, the "standard" behavior for this kind of "AltGr-dead keys"?

I even tried the US, international with dead keys variant, but it uses dead keys for every accent-related key, so typing " for instance requires a two-input combo: Shift+", then Space.

1

It turns out the layout I was looking for is not available from the KDE Control Module. I had naively assumed it contained all relevant layouts...

So far, the only way I could enable it was by using setxkbmap directly. Since I only needed to change the variant, the following command was sufficient:

setxkbmap -variant altgr-intl

Using setxkbmap -query can confirm it has been taken into account. It also shows that all other layouts correspond to different variants, and altgr-intl does not seem to be among them.

Note: Unfortunately, it still does not solve my issue with the euro sign, which AltGr+5 was supposed to produce. I did enable (via the Advanced tab, Configure keyboard options, Adding currency signs to certain keys, Euro on 5) option eurosign:5, but it does not work.

But it didn't work either with the US international with dead keys layout that I was using before anyway, so it's not a loss. Using option Position of Compose key, Right Alt (compose:ralt), I can still use AltGr+c, then =, or alternatively AltGr+e, then =, to obtain .

1
  • For me, the setxbmap command was enough to alloe AltGr+5 to give a €. – Mr. White Sep 16 '18 at 16:54
1

It appears that you are looking for the Compose Key. Unless it has been configured otherwise by the user, on Xorg the default, at least for English keyboards, appears to be Right Shift, AltGr¹.

Note: That is not a simultaneous combination. You must press and release Right Shift, then press and release AltGr, then proceed with the corresponding key combination according to the glyph you're after.

For example:

Right Shift, AltGr, Shift+6, e yields ê

Right Shift, AltGr, e, = yields

Right Shift, AltGr, Space, Space yields   (Non-breaking space)

Right Shift, AltGr, Shift+;, Shift+0 yields (Smiling face)

And so on and so forth.

A more exhaustive list, along with some information on how to reassign the Compose Key (which may or may not be accurate) can be found at http://fsymbols.com/keyboard/linux/compose/

In terms of reassigning your Compose Key (or figuring out where it is) at the X level, I refer you to this answer. The location of the relevant KDE file depends on your particular KDE version and possibly distro, but it's likely to be either ~/.kde4/share/config/kxkbrc or ~/.config/kxkbrc.

Refer to /usr/share/X11/xkb/rules/xorg.lst in your own machine for the list of modifier key mnemonics (you are looking for the third level modifier: grep '^ *lv3:' /usr/share/X11/xkb/rules/xorg.lst)

Lastly, do note that it is possible that your keyboard responds to somewhat shorter key combinations, such as:

AltGr+', e for ê

AltGr+4 for

¹ Source: http://www.amazon.com/Compose-Sequence-Reference-Guide-2012/dp/1468141104 (there used to be an online version but it's not longer accessible).

0

I think is an ancient bug is not fixed yet, check this:

https://bugs.kde.org/show_bug.cgi?id=295633

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.