Keyboard customization for Linux

Your keyboard, the way you want it.

Keyloom is a visual keyboard customization app for Linux. Click a key, choose what it should do, and it takes effect right away.

Keyloom's main window showing a tenkeyless keyboard. Caps Lock is remapped to Escape and holds Control, the Menu key is Super, and F12 is Play/Pause.

How it works

  1. Click a key

    Keyloom shows your keyboard as it really is. It works out the size and layout for you.

  2. 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.

  3. 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.

Install

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.

Debian

Debian 13

Run in a terminal
echo 'deb http://download.opensuse.org/repositories/home:/BlakeGardner:/Keyloom/Debian_13/ /' | sudo tee /etc/apt/sources.list.d/home:BlakeGardner:Keyloom.list
curl -fsSL https://download.opensuse.org/repositories/home:BlakeGardner:Keyloom/Debian_13/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/home_BlakeGardner_Keyloom.gpg > /dev/null
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

Run in a terminal
echo 'deb http://download.opensuse.org/repositories/home:/BlakeGardner:/Keyloom/Debian_Testing/ /' | sudo tee /etc/apt/sources.list.d/home:BlakeGardner:Keyloom.list
curl -fsSL https://download.opensuse.org/repositories/home:BlakeGardner:Keyloom/Debian_Testing/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/home_BlakeGardner_Keyloom.gpg > /dev/null
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 / Pop!_OS

Ubuntu 24.04 or Pop!_OS 24.04

Run in a terminal
echo 'deb http://download.opensuse.org/repositories/home:/BlakeGardner:/Keyloom/xUbuntu_24.04/ /' | sudo tee /etc/apt/sources.list.d/home:BlakeGardner:Keyloom.list
curl -fsSL https://download.opensuse.org/repositories/home:BlakeGardner:Keyloom/xUbuntu_24.04/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/home_BlakeGardner_Keyloom.gpg > /dev/null
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

Run in a terminal
echo 'deb http://download.opensuse.org/repositories/home:/BlakeGardner:/Keyloom/xUbuntu_25.10/ /' | sudo tee /etc/apt/sources.list.d/home:BlakeGardner:Keyloom.list
curl -fsSL https://download.opensuse.org/repositories/home:BlakeGardner:Keyloom/xUbuntu_25.10/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/home_BlakeGardner_Keyloom.gpg > /dev/null
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

Run in a terminal
echo 'deb http://download.opensuse.org/repositories/home:/BlakeGardner:/Keyloom/xUbuntu_26.04/ /' | sudo tee /etc/apt/sources.list.d/home:BlakeGardner:Keyloom.list
curl -fsSL https://download.opensuse.org/repositories/home:BlakeGardner:Keyloom/xUbuntu_26.04/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/home_BlakeGardner_Keyloom.gpg > /dev/null
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 43

Run in a terminal
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 44

Run in a terminal
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 Rawhide

Run in a terminal
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 Linux and derivatives

Package from a release

Run in a terminal
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

Run in a terminal
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.