for me as a programmer its very convenient to use a US keyboard layout. In fact I got so used to it that its hard for me to go back to the localized layout of my native language German. What I miss though are Umlauts.

I would like to create some X mapping allowing me to use the fn keys of my keyboards in combination with another letter key 'a' to for example create the character 'ä'.

I have tried other methods which are all just too annoying. I also don't want to switch the entire keyboard layout between US and German just because I need four or so additional letters.

Anyone having an idea on how to do this? Any idea if this could work outside the X server as well?

  • In Ubuntu, I hold down right alt key and press cyrillic "у" to get cyrillic "ў" (alt+digits while in Ukr layout give me 1²§$°<>•[]—≠\; alt+shift+[some]digits -- ₴€–±; alt+е -- ё). This can be configured through Keyboard Preferences, I believe. I hope, the same is possible in your case. – brownian Mar 29 '12 at 7:00
  • I don't have an English keyboard layout, but try AltGr and Shift+AltGr combinations with all the characters to see if some of your wanted characters fall out. EDIT: quite related to the above comment. I should really learn to reload the page before responding :-) . – Daniel Andersson Mar 29 '12 at 7:26

There is the altgr-intel variant of the US keyboard, which gives ä on AltGr+q, ö on AltGr+p, and ü on AltGr+y (that is, because AltGr+a, o, u is already occupied with á, ó and ú, respectively).

See there: us altgt-intl keyboard layout

You can of course also remap the umlauts to AltGr+a, o, u if you want.

Of course this does not directly answer the question since it was asked to use the Fn key. However, on most keyboards the Fn key is handled by the keyboard itself and not passed on to the operating system, so no chance to do anything other with it than it does by itself.

For the virtual terminal you can use ckbcomp to translate an xkb layout to a layout definition suitabl for loadkeys: ckbcomp us altgr-intl | loadkeys.

Your Answer

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