- Shell 100%
| rules | ||
| symbols | ||
| install.sh | ||
| README.md | ||
skmod — Slovak (QWERTY) / US hybrid keyboard layout
A mix of the Slovak QWERTY layout and the US layout: US punctuation and number row, Slovak diacritics on AltGr.
It installs as its own layout called skmod, in its own file. The stock sk
layout is left alone, so both show up in your keyboard settings and you can
switch between them.
Tested on Kubuntu, Debian 13 and Arch (Plasma/Wayland, Plasma/X11, GNOME).
Install
For the current user only, no root needed:
./install.sh
This drops the layout into ~/.config/xkb/, which is read by everything that
uses libxkbcommon — i.e. every Wayland session (Plasma 6, GNOME) on Kubuntu,
Debian 13 and Arch.
X11 sessions do not read ~/.config/xkb. If you are on X11 (check with
echo $XDG_SESSION_TYPE), install system-wide instead:
sudo ./install.sh --system
That copies the layout to /usr/share/X11/xkb/symbols/skmod and adds an entry
to /usr/share/X11/xkb/rules/evdev.xml (a backup is written next to it as
evdev.xml.before-skmod). It never touches the sk file.
Then log out and back in, and add Slovak (QWERTY, modified) in your keyboard settings:
- Plasma: System Settings → Keyboard → Layouts → Add
- GNOME: Settings → Keyboard → Input Sources → + → Slovak. If GNOME's list
hides it, set it directly:
gsettings set org.gnome.desktop.input-sources sources "[('xkb','skmod')]" - Anywhere:
setxkbmap skmod
Uninstall
./install.sh --uninstall # user install
sudo ./install.sh --system --uninstall
Restoring the stock Slovak layout
If you previously pasted this layout over /usr/share/X11/xkb/symbols/sk, put
the original file back before installing:
sudo apt install --reinstall xkeyboard-config # Debian / Kubuntu
sudo pacman -S xkeyboard-config # Arch
Levels
| Level | Modifier |
|---|---|
| 1 | plain |
| 2 | Shift |
| 3 | AltGr |
| 4 | AltGr + Shift |
Diacritics (AltGr)
á ä on A, é € on E, í → on I, ó ô on O, ú ↕ on U, ý on Y, ŕ on R,
ť on T, š on S, ď on D, ľ ĺ on L, ž ° on Z, č on C, ň on N,
@ on V, | on W.
Superscripts on AltGr + number row, subscripts on AltGr+Shift + number row. Dead keys live on the bracket, semicolon, quote, backslash and slash keys.
Arrows and degree
Added in this version, all on AltGr+Shift:
| Keys | Character |
|---|---|
| AltGr+Shift+K | ↑ U+2191 |
| AltGr+Shift+J | ↓ U+2193 |
| AltGr+Shift+H | ← U+2190 |
| AltGr+Shift+I | → U+2192 (unchanged, was already there) |
| AltGr+Shift+U | ↕ U+2195 |
| AltGr+Shift+M | ↔ U+2194 |
| AltGr+Shift+Z | ° degree |
h j k follow Vim's left/down/up, and → stays on I where it already was.
Everything sits on level 4 so the whole arrow family shares one modifier
combination; the level 3 (plain AltGr) slots on those keys are still Slovak
letters or the latin defaults.
° is one Shift away from where the stock Slovak QWERTY layout puts it
(AltGr+Z), which here is taken by ž.
To move any of these, edit symbols/skmod and re-run the installer. The four
columns of each key line are levels 1–4.
Notes
- A
xkeyboard-configpackage upgrade can rewriteevdev.xmland drop the registry entry on a--systeminstall. The symbols file survives; just re-run the installer if the layout disappears from the settings list. - Login screens (SDDM/GDM) use their own keyboard configuration and are not affected by a user install.
- To load the layout into a running X11 session without installing system-wide:
setxkbmap -I"$HOME/.config/xkb" -layout skmod -print | xkbcomp -I"$HOME/.config/xkb" - "$DISPLAY" - To check the layout compiles after editing:
xkbcli compile-keymap --layout skmod > /dev/null
Based on the Slovak layout by Kamil Toman, 2001. Modified 2025 by vratk0529.