The Starting Point
The menus and dialogs should appear in English, the keyboard should remain German. QWERTZ, umlauts, the familiar layout. Sounds simple, but in KDE Plasma it’s not quite trivial, because language and keyboard layout are two completely separate areas. Under Wayland there’s an additional peculiarity, because here the compositor KWin manages the keyboard directly. I worked my way through the settings and the command line and will show what actually works.
Language and Keyboard Are Separate
In KDE Plasma, the interface language can be found under Regional Settings or in newer versions under Region & Language. The keyboard layout, on the other hand, is set under Hardware > Input Devices > Keyboard > Layouts.
That’s fine at first, because in theory you can set the language to English without touching the keyboard layout. In practice, however, the setting in the graphical interface is sometimes not enough. The locale variables, which sit deep in the system, then override the selection from the system settings.
Wayland
Under Wayland, KWin is the decisive compositor. This means the keyboard is no longer managed centrally by the X server, but directly by KWin. The command localectl set-x11-keymap still has that name, but under Wayland it no longer reliably affects the session. The name is historical, and the command primarily sets the keymap for XWayland and the virtual console.
For the language, localectl still works:
localectl set-locale LANG=en_US.UTF-8
For the keyboard layout under Wayland, the most reliable way is the KDE System Settings. There, under Hardware > Input Devices > Keyboard > Layouts, make sure that only German is activated. KWin then takes over the layout for the session.
A well-known stumbling block: Sometimes KWin forgets the layout on restart. As a workaround, the file ~/.config/kxkbrc can be made read-only with chattr +i after the layout has been set correctly.
X11 the Old Way
In an X11 session, things look different. Here the X server is the central instance, and localectl directly affects the session.
localectl set-x11-keymap de
This command sets the keyboard layout for X11. The language is set just as under Wayland with localectl set-locale. After a restart or logging in again, the menus should appear in English while the keyboard remains German.
So the difference is: Under X11 the layout is controlled via localectl set-x11-keymap, under Wayland via the KDE System Settings, because KWin has control.
The Generic 105-key (Intl) PC Keyboard
In the system settings it is usually displayed as Generic 105-key (Intl) PC or in German as Generischer 105-Tasten-PC (Intl). The abbreviation pc105 is the technical name in the XKB system, which is often used in configuration files or commands like setxkbmap -model pc105.
The 105-key keyboard is the standard layout for German and most European keyboards. It is based on the ISO standard, in contrast to the 104-key layout, which corresponds to the US American ANSI standard.
The Decisive Difference from the 104-key Layout
The difference lies in exactly one additional key, which results from the shorter left Shift key. In the ISO layout, the left Shift key is shorter than in the ANSI layout, which creates space for another key to its right. This additional 105th key is therefore located to the right of the left Shift key and to the left of the Y.
In Germany, this key is assigned <, >, and |. The vertical bar is reached via AltGr + <.
In the 104-key layout (ANSI), this key is missing. Instead, the ANSI layout has a wider, horizontal Enter key and a longer left Shift key. The 104th key there is the backslash key above the Enter key.
Keyboard Layout - Dead Acute Is a Good Choice
Now to the keyboard layout itself. The standard assignment is sufficient for most cases. But if accents such as é, à, or ó are typed more frequently, it’s worth taking a look at the variants.
Dead acute means that only the acute key is a dead key. It is pressed first, then the vowel, and the character is composed. The advantage: The backtick (`) and the tilde (~) remain normal characters. This is practical when programming or in the console, because the backtick has an important function there.
Dead grave acute additionally turns the grave into a dead key. This makes sense if both accents are needed often, for example when writing in several Romance languages. For everyday use, however, this is usually overkill.
I personally use dead acute because I don’t want to lose the backtick and can still type the accents quickly. For me, that’s the best balance.
A note on Wayland: Dead keys work, but there are known incompatibilities with Electron and Chromium-based applications such as Chrome or VS Code. Native Wayland apps like Firefox often behave correctly, while Qt and KDE apps may have problems with dead keys depending on the version of systemd-localed.
Quickly Switching Between Layouts
If you do want to switch between German and English for the keyboard layout, you can check Configure layouts in the system settings under Keyboard > Layouts and add both. There you can also set a shortcut, such as Ctrl + Alt + K, to switch quickly.
For the interface language, there is no comparable quick switch. This is because the language is controlled via the locale and is not intended for a live switch. The most practical way remains localectl in the terminal.
Sources
- Download: https://kde.org/plasma-desktop/
- Documentation: https://docs.kde.org/