{{Header}} __FORCETOC__ {{title|title= Keyboard Layout }} {{#seo: |description=How to change the Keyboard Layout in {{project_name_long}}. |image=Keyboardlayout1282268640.jpg }}
sudo set-system-keymap keymapExample: Note: Replace
de with the actual keymap to use.
{{CodeSelect|code=
sudo set-system-keymap de
}}
Manually: See below.
|-
! scope="row" | Other Wayland compositors
| Differs depending on the Wayland compositor in use. Usually can be set using DE-specific tools, may require editing a configuration file and then restarting the compositor to make changes take effect.
|-
|}
Per-user configuration. (Not system-wide configuration.)
{| class="wikitable"
|+ ''Desktop Keyboard Layout Change''
|-
! '''Platform'''
! '''Steps'''
|-
! LXQt + labwc Wayland compositor - TUI
|
{{tui}}
Interactive:
{{CodeSelect|code=
set-labwc-keymap --interactive
}}
|-
! LXQt + labwc Wayland compositor - CLI
|
{{cli}}
View available keymaps.
{{CodeSelect|code=
localectl list-x11-keymap-layouts
}}
Syntax:
set-labwc-keymap keymapExample: Note: Replace
de with the actual keymap to use.
{{CodeSelect|code=
set-labwc-keymap de
}}
Manually: See footnote.
labwc uses the XKB_DEFAULT_LAYOUT environment variable, as documented at https://labwc.github.io/getting-started.html.
To permanently change the keyboard layout, apply the following steps.
* Open a terminal → Run mkdir -p ~/.config/labwc → Run nano ~/.config/labwc/environment → Type XKB_DEFAULT_LAYOUT=zz, replacing zz with the code for your keyboard layout → Type Ctrl+S to save, then Ctrl+X to exit → Run labwc --reconfigure to load new settings.
|-
! scope="row" | Other Wayland compositors
| Differs depending on the Wayland compositor in use. Usually can be set using DE-specific tools, may require editing a configuration file and then restarting the compositor to make changes take effect.
|-
|}
=== Multiple Keyboard Layouts ===
You can configure multiple keyboard layouts at the same time, and switch between them with a keyboard shortcut. https://forums.kicksecure.com/t/transfer-kicksecure-to-another-computer-cant-see-grub/1382/5 A maximum of four keyboard layouts can be configured simultaneously.
'''1.''' Open a terminal.
'''2.''' Run set-system-keymap or set-labwc-keymap with the --interactive option.
'''3.''' When prompted to enter the keyboard layouts to use, input a comma-separated list of layouts. For instance, to use US English and German keyboard layouts, type us,de, then press Enter.
'''4.''' When prompted to enter keyboard layout variants, press Enter to use the default layout variants.
If you need non-standard keyboard layout variants, you may enter them here. You must specify the same number of layouts and layout variants. The layouts must be comma-separated. For instance, if you are using the layouts us,de, and want to use the Colemak layout for the US keyboard and the Dvorak layout for the German keyboard, specify colemak,dvorak as the variants.colemak, as the variants. To use the default layout for the US keyboard, and the Dvorak layout for the German keyboard, specify ,dvorak as the variants.
'''5.''' When prompted to enter keyboard layout options, type grp:alt_shift_toggle, then press Enter.
'''6.''' Done.
You can now press Alt + Shift to switch between the selected keyboard layouts.
=== Changing the system or console keymap when using Full Disk Encryption ===
Special care must be taken when changing the console keyboard layout if you are using full disk encryption. Failure to follow these instructions may result in an unbootable system!
The disk decryption prompt is displayed during early boot. The keyboard layout used by the decryption prompt is hardcoded into the "initramfs", a small filesystem used as part of the boot process to prepare the real OS for startup. In order to decrypt the OS's primary disk, the keyboard layout used by the initramfs must allow the user to type all characters that make up the passphrase. The initramfs is occasionally regenerated so that system updates apply to it. When this occurs, the current console keyboard layout is embedded in the initramfs, and becomes the keyboard layout used at the disk decryption prompt.
This means that, if you change your keyboard layout to one that doesn't allow typing all characters that are part of your passphrase, the system will become unbootable the next time the initramfs is generated. For instance, if you were using a German keyboard layout, and included a ß or § character in the passphrase, the system will become unbootable if the keyboard layout is switched to US English and the initramfs is regenerated. This is because the US English keyboard layout is not able to type the ß and § characters.
set-system-keymap regenerates the initramfs as part of the keyboard layout change process. This will result in a system lockout on the next reboot if the above scenario occurs. set-console-keymap does not regenerate the initramfs, so it may not immediately cause a system lockout. However, software updates will automatically regenerate the initramfs frequently, so a system lockout will likely occur after the next software update if care is not taken.
Note that if the new keyboard layout is capable of typing all characters that are part of the disk passphrase, there is no risk of lockout. One will simply have to type their passphrase using the new keyboard layout rather than the old one.
If you need to change your keyboard layout, and the new layout is incompatible with your disk passphrase, you will have to change the disk passphrase to be compatible with the new disk layout. To do this '''on GUI systems''':
'''1.''' Open two terminal windows, and place them side-by-side on the desktop.
'''2.''' In one window, run:
{{CodeSelect|code=
sudo crypt-pwchange
}}
'''3.''' When prompted to choose a device to change the passphrase of, choose the device the root filesystem (/) is mounted from. You can use lsblk to determine which device is mounted at /.
'''4.''' When prompted for the existing passphrase, click the ''other'' terminal window, and run:
{{CodeSelect|code=
set-labwc-keymap --no-persist OLD_KEYMAP
}}
Replace OLD_KEYMAP with the keyboard layout the existing disk passphrase can be typed in. This will ensure your graphical session's keyboard layout is appropriate for typing the existing passphrase.
'''5.''' Click the terminal window where crypt-pwchange is running, and type the existing disk passphrase.
'''6.''' When prompted for the new passphrase, click the ''other'' terminal window again, and run:
{{CodeSelect|code=
set-labwc-keymap --no-persist NEW_KEYMAP
}}
Replace NEW_KEYMAP with the new keyboard layout you wish to use. This will ensure your graphical session's keyboard layout is appropriate for typing the new disk passphrase.
'''7.''' Click the terminal window where crypt-pwchange is running, and type the new disk passphrase.
'''8.''' Type the new disk passphrase again to confirm.
'''9.''' Click the ''other'' terminal window again, and run '''one''' of the following commands.
To change the system-wide keyboard layout:
{{CodeSelect|code=
sudo set-system-keymap NEW_KEYMAP
}}
To change only the console keymap:
{{CodeSelect|code=
sudo set-console-keymap NEW_KEYMAP && sudo dracut --regenerate-all --force
}}
Replace NEW_KEYMAP with the new keyboard layout you wish to use.
'''10.''' Done.
The process of changing the keyboard layout and disk passphrase is complete.
On CLI-only systems, you can use the same instructions as above using two virtual terminals instead of two terminal windows. Use set-console-keymap KEYMAP rather than set-labwc-keymap --no-persist KEYMAP to change the keyboard layout as needed during the process.
== Virtual Terminal ==
{{Anchor|Terminal}}
To change the keyboard layout.
Note: Changes keyboard layout for virtual terminals only. This does not effect the graphical environment.
Manually:
{{CodeSelect|code=
sudo dpkg-reconfigure keyboard-configuration && sudo setupcon
}}
/etc/default/keyboard method: loadkeys method: set-system-keymap sets both keyboard layouts for,
* 1) {{cli}}, and
* 2) {{gui}}.
With 1 command only. It can either be started from
* A) [[System Maintenance Panel]], or
* B) from the command line.
{{tui}}:
{{CodeSelect|code=
sudo set-system-keymap --interactive
}}
CLI:
{{CodeSelect|code=
sudo set-system-keymap
}}
If installing {{project_name_long}} using its [[ISO]], {{project_name_long}}'s Calamares based installer) uses set-system-keymap internally to configure the keyboard layout.
= {{q_project_name_short}} =
To correctly apply changes system-wide via dom0:
The Qubes bug reporting [https://github.com/QubesOS/qubes-issues/issues/1396 the change does not propagate to other VMs] has now been resolved.
* System Tools → Keyboard → Layout
Alternatively, [https://github.com/Qubes-Community/Contents/blob/master/docs/customization/language-localization.md language localization input] can be configured on a per VM basis.
If problems are encountered, see: [https://www.qubes-os.org/faq/#my-keyboard-layout-settings-are-not-behaving-correctly-what-should-i-do My keyboard layout settings are not behaving correctly. What should I do?] in the Qubes FAQ.
= See Also =
* [[Language|Change the System or Firefox Language]]
= Footnotes =
{{reflist|close=1}}
{{Footer}}
[[Category:Documentation]]