Keyboard customization for Linux
Your keyboard, the way you want it.
Click a key, choose what it should do, and it takes effect right away.
How it works
-
Click a key
Keyloom shows your keyboard as it really is. It works out the size and layout for you.
-
Choose what it should do
Pick from a searchable list: any key, media and brightness controls, or a second job for when the key is held.
-
That's it
Your changes save and apply on their own. There is no Apply button.
What it does
Simple things first. Power when you want it.
Remap a key in two clicks. When you need more, the same keyboard handles layers, per-application keys, and shortcuts.
-
Different keys in different apps
A key can do one thing in one application and stay normal everywhere else. Caps Lock becomes Escape in your editor, and nothing else changes.
-
Tap and hold
Escape when tapped, Control when held. One key, two jobs, and no chording gymnastics.
-
Layers
Hold Caps Lock and H, J, K, L become arrow keys, while every other key keeps working normally.
-
Shortcuts
Turn one chord into another, so Super+C sends the terminal's Ctrl+Shift+C and Ctrl+C keeps interrupting.
-
Profiles
Separate setups for work, gaming, or Mac-style controls. One click pauses remapping when you want your original keys back.
-
Test your keyboard
Keys light up as you press them, and you see what each one sends. Handy for checking a remap, or a keyboard that acts up.
Get Keyloom
Add the repository for your distribution once, and Keyloom updates with the rest of your system. Pick your distribution to see the commands.
Ubuntu / Pop!_OS
Ubuntu 24.04 or Pop!_OS 24.04
curl -fsSL https://download.opensuse.org/repositories/home:BlakeGardner:Keyloom/xUbuntu_24.04/Release.key | gpg --dearmor | sudo tee /etc/apt/keyrings/home_BlakeGardner_Keyloom.gpg > /dev/null
echo 'deb [signed-by=/etc/apt/keyrings/home_BlakeGardner_Keyloom.gpg] http://download.opensuse.org/repositories/home:/BlakeGardner:/Keyloom/xUbuntu_24.04/ /' | sudo tee /etc/apt/sources.list.d/home:BlakeGardner:Keyloom.list
sudo apt update
sudo apt install keyloom
This adds the Keyloom repository once. From then on, Keyloom updates with the rest of your system.
Ubuntu 25.10
curl -fsSL https://download.opensuse.org/repositories/home:BlakeGardner:Keyloom/xUbuntu_25.10/Release.key | gpg --dearmor | sudo tee /etc/apt/keyrings/home_BlakeGardner_Keyloom.gpg > /dev/null
echo 'deb [signed-by=/etc/apt/keyrings/home_BlakeGardner_Keyloom.gpg] http://download.opensuse.org/repositories/home:/BlakeGardner:/Keyloom/xUbuntu_25.10/ /' | sudo tee /etc/apt/sources.list.d/home:BlakeGardner:Keyloom.list
sudo apt update
sudo apt install keyloom
This adds the Keyloom repository once. From then on, Keyloom updates with the rest of your system.
Ubuntu 26.04
curl -fsSL https://download.opensuse.org/repositories/home:BlakeGardner:Keyloom/xUbuntu_26.04/Release.key | gpg --dearmor | sudo tee /etc/apt/keyrings/home_BlakeGardner_Keyloom.gpg > /dev/null
echo 'deb [signed-by=/etc/apt/keyrings/home_BlakeGardner_Keyloom.gpg] http://download.opensuse.org/repositories/home:/BlakeGardner:/Keyloom/xUbuntu_26.04/ /' | sudo tee /etc/apt/sources.list.d/home:BlakeGardner:Keyloom.list
sudo apt update
sudo apt install keyloom
This adds the Keyloom repository once. From then on, Keyloom updates with the rest of your system.
Debian
Debian 13 (trixie)
curl -fsSL https://download.opensuse.org/repositories/home:BlakeGardner:Keyloom/Debian_13/Release.key | gpg --dearmor | sudo tee /etc/apt/keyrings/home_BlakeGardner_Keyloom.gpg > /dev/null
echo 'deb [signed-by=/etc/apt/keyrings/home_BlakeGardner_Keyloom.gpg] http://download.opensuse.org/repositories/home:/BlakeGardner:/Keyloom/Debian_13/ /' | sudo tee /etc/apt/sources.list.d/home:BlakeGardner:Keyloom.list
sudo apt update
sudo apt install keyloom
This adds the Keyloom repository once. From then on, Keyloom updates with the rest of your system.
Debian testing (forky)
curl -fsSL https://download.opensuse.org/repositories/home:BlakeGardner:Keyloom/Debian_Testing/Release.key | gpg --dearmor | sudo tee /etc/apt/keyrings/home_BlakeGardner_Keyloom.gpg > /dev/null
echo 'deb [signed-by=/etc/apt/keyrings/home_BlakeGardner_Keyloom.gpg] http://download.opensuse.org/repositories/home:/BlakeGardner:/Keyloom/Debian_Testing/ /' | sudo tee /etc/apt/sources.list.d/home:BlakeGardner:Keyloom.list
sudo apt update
sudo apt install keyloom
This adds the Keyloom repository once. From then on, Keyloom updates with the rest of your system.
Debian unstable (sid)
curl -fsSL https://download.opensuse.org/repositories/home:BlakeGardner:Keyloom/Debian_Unstable/Release.key | gpg --dearmor | sudo tee /etc/apt/keyrings/home_BlakeGardner_Keyloom.gpg > /dev/null
echo 'deb [signed-by=/etc/apt/keyrings/home_BlakeGardner_Keyloom.gpg] http://download.opensuse.org/repositories/home:/BlakeGardner:/Keyloom/Debian_Unstable/ /' | sudo tee /etc/apt/sources.list.d/home:BlakeGardner:Keyloom.list
sudo apt update
sudo apt install keyloom
This adds the Keyloom repository once. From then on, Keyloom updates with the rest of your system.
Fedora
Fedora 44
sudo dnf config-manager addrepo --from-repofile=https://download.opensuse.org/repositories/home:BlakeGardner:Keyloom/Fedora_44/home:BlakeGardner:Keyloom.repo
sudo dnf install keyloom
This adds the Keyloom repository once. From then on, Keyloom updates with the rest of your system.
Fedora 43
sudo dnf config-manager addrepo --from-repofile=https://download.opensuse.org/repositories/home:BlakeGardner:Keyloom/Fedora_43/home:BlakeGardner:Keyloom.repo
sudo dnf install keyloom
This adds the Keyloom repository once. From then on, Keyloom updates with the rest of your system.
Fedora Rawhide
sudo dnf config-manager addrepo --from-repofile=https://download.opensuse.org/repositories/home:BlakeGardner:Keyloom/Fedora_Rawhide/home:BlakeGardner:Keyloom.repo
sudo dnf install keyloom
This adds the Keyloom repository once. From then on, Keyloom updates with the rest of your system.
Arch / Omarchy / CachyOS / Manjaro
Package from a release
sudo pacman -U ~/Downloads/keyloom-*-x86_64_arch.pkg.tar.zst
Download the .pkg.tar.zst from the latest release first. Updates are not automatic: fetch the new package when a release comes out. Keyloom is not on the AUR yet.
Build with the PKGBUILD
curl -O https://raw.githubusercontent.com/BlakeGardner/Keyloom/main/packaging/arch/PKGBUILD
makepkg -si
Run this in an empty directory with base-devel installed. It builds the latest release from source, which takes a few minutes, and it is the way to go on ARM.
Prefer a one-off download? Every release has a .deb and an .rpm for 64-bit Intel/AMD and ARM, and an Arch package for 64-bit Intel/AMD.