Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

I don't think that title probably helps very much, but here's my issue:

I'm using the awesome window manager and am trying to make my key bindings to be similar in flavor to OSX for special keys. I'm learning German, so I somewhat regularly need to type vowels with umlauts (double dots) above them. In OSX, to do this, you type Alt+U, then the vowel you want.

Obviously, that won't be feasible in awesome, but what I do want is modkey+ to send a keyboard event that gives it the impression I had hit an umlaut-ed key.

Would I have to change the keyboard layout first? Such that the code changes the layout, sends the corresponding event, then changes it back? Or can I send the event without changing the layout?

And how do I send the event in the first place, if that's possible?

share|improve this question

3 Answers 3

up vote 5 down vote accepted

You would do this via Xmodmap and not via your window manager. This is directly related to your keyboard layout/keymap and not your window manager.

To change your xmodmap create a file named ~/.Xmodmap and add the following content. This should allow you to to type üäöß directly with altgr+u

keysym a = a A adiaeresis Adiaeresis
keysym o = o O odiaeresis Odiaeresis
keysym u = u U udiaeresis Udiaeresis
keysym s = s S ssharp section

Afterwards you have to apply the content from this file with xmodmap ~/.Xmodmap

Another way to input umlauts is to use the us international layout. This allows you to enter umlauts with " + char. To enter ä you would need to enter "a. The international layout is also available in Windows and as far as i know in OSX.

setxkbmap -layout us -variant intl
share|improve this answer

In addition to the Compose key, you can also set up a key to select the so-called ‘third level’ by selecting one of the ‘international’ keyboard layouts. On Debian, I use ‘English (international AltGr dead keys)’. On PC keyboards, AltGr is actually meant for this purpose, and X likes to assign it to the third level shift by default. You can also do this explicitly.

All you need to make this work is hold down AltGr and press a key on the keyboard (it's basically another shift key). This is exactly the way this works on the Mac too.

Accents are more intuitively accessible than umlauts. AltGr+a issues á. The umlaut version uses a key near the vowel key on the keyboard:

AltGr+Qä

AltGr+Rë (ok, not an umlaut; only listing it for completeness)

AltGr+Jï (ditto)

AltGr+Pö

AltGr+Yü

Press these with the Shift key down to get the upper case versions, e.g. AltGr+Shift+QÄ.

share|improve this answer

You can set up a compose key for all sorts of different key sequences.

There are specific instructions for Ubuntu, but they assume that you are running a Desktop Environment like Gnome or Xfce.

If you are using awesome as a standalone window manager, you can set a compose key in your .xinitrc file like so (this example uses the right Alt key):

setxkbmap -option compose:ralt

Then, to compose an ä, for example, you would hit: CtrlRAlt,",a

You can read more about the Compose key on the Wikipedia page.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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