For programmers, the US keyboard layout is much more comfortable than the German, because keys such as square and curly brackets are better accessible. To easily type German Umlaute, I modified the otherwise useless Caps_Lock key.

Pressing Caps_Lock + a,o,u,s etc. will produce ä,ö,ü,ß; similarly I use Caps_Lock + e for the Euro sign € and so on. These lines go into the .Xmodmap file, which modifies the keyboard via the command $xmodap .Xmodmap, if not processed automatically.

!remove lock from CapsLock
clear Lock

! Map scroll lock to caps lock
keycode 78 = Caps_Lock

keycode 66 = Mode_switch Multi_key
keycode 133 = Multi_key
keycode 38 = a A adiaeresis Adiaeresis
keycode 30 = u U udiaeresis Udiaeresis
keycode 32 = o O odiaeresis Odiaeresis
keycode 26 = e E EuroSign EuroSign
keycode 39 = s S ssharp

keycode 10 = 1 exclam exclamdown
keycode 61 = slash question questiondown
keycode 19 = 0 parenright degree

keycode 134 =Multi_key

keycode 166 = Page_Up
keycode 167 = Page_Down