Logo Lanfrica

m4sensen/tamazight-latin-keyboard

Domain:

natural language processing

Record type:

tools
Creator:
m4s
Host:
Kabyle keyboard layout for Linux # ⌨️ Tamazight Keyboard Layout for Linux A one-script installer that adds a **Tamazight (QWERTY - Latin - Tamɛemrit) keyboard layout** to GNOME on Linux — no manual XKB editing, no reboot required. --- ## What It Does The layout follows a **QWERTY base** and adds Tamazight-specific characters where they naturally belong, using the **Shift** layer for uppercase and dedicated keys for phonemes that don't exist in standard Latin. ### Keyboard layout _Visual reference for the key mapping._ --- ## Requirements - Linux with **GNOME** desktop environment - `gsettings` (ships with GNOME) - `python3` (used internally to safely parse gsettings values) - Bash 4+ Tested on **Fedora 49** (Wayland). Should work on Ubuntu/Debian GNOME, openSUSE, Arch+GNOME, and similar. --- ## Installation ```bash # Clone or download the script git clone github.com cd tamazight-latin-keyboard bash install.sh install ``` The script will: 1. Write the XKB symbols file to `~/.config/xkb/symbols/tmz` 2. Write the rules file to `~/.config/xkb/rules/evdev.xml` 3. Add the layout to GNOME's input sources via `gsettings` No `sudo` needed. Everything installs to your home directory. --- ## Switching to the Layout After installation, switch layouts with: ``` Super + Space ``` Or open **Settings → Keyboard → Input Sources** to manage layouts visually. The layout appears as **"Tamazight (QWERTY, Latin, Tamɛemrit)"** in the GNOME input source selector. _Screenshot showing the layout in GNOME input sources._ --- ## Uninstallation ```bash bash install.sh uninstall ``` This removes both the XKB files and the entry from GNOME's input sources. Your other layouts remain untouched. --- ## How It Works GNOME supports **user-local XKB configuration** at `~/.config/xkb/` — no system-wide files are touched. The script places two files: ``` ~/.config/xkb/ ├── symbols/ │ └── tmz ← XKB symbols definition (the actual key mappings) …