Fork of Uzbek latin keyboard layout with extra symbols
  • Shell 66.5%
  • Nix 33.5%
Find a file
2026-01-24 18:47:34 +05:00
.github/assets Add keyboard layout image 2025-10-17 15:24:41 +09:00
evdev_patch.patch Use correct path for patch 2025-10-26 16:51:57 +09:00
flake.nix Fix: nixosModules.module and nixosModules.default now point to module.nix 2026-01-18 11:50:27 +05:00
install.sh Use absolute path instead of relative path 2025-12-06 14:37:04 +09:00
LICENSE Initial commit 2025-10-07 23:12:44 +09:00
module.nix Add Uzbek (Latin) for backward compatibility 2026-01-19 16:50:45 +05:00
README.md Update README.md 2026-01-18 12:22:07 +05:00
uz Add Uzbek (Latin) for backward compatibility 2026-01-19 16:48:50 +05:00
uz_2023 Enable other variants 2026-01-18 11:41:58 +05:00
uz_compat Replace cyrillic keyboard with older layout 2026-01-24 18:47:34 +05:00
uz_cyrillic Enable other variants 2026-01-18 11:41:58 +05:00
uz_latin Add uz_latin, for the completeness sake 2026-01-18 15:20:55 +05:00
uz_old Add old xkb layout and compatibility layout 2026-01-23 18:28:27 +05:00
uz_us Enable other variants 2026-01-18 11:41:58 +05:00

Uzbek Keyboard Layout for Linux

A typographically correct keyboard layout for Uzbek, featuring 2023 alphabet updates and quick access to special characters.

Layouts

This package provides four keyboard layout variants:

  • Uzbek (Standard): The main layout with full typographic control.
    • Uses the correct ʻOkina (U+02BB) for Oʻ/Gʻ and Modifier Apostrophe (U+02BC) for the tutuq belgisi.
    • Access to additional characters like Ŏ, Ğ, Ş, Ç, İ using the AltGr key.
  • Uzbek (US): The standard US QWERTY layout with essential Uzbek characters available via AltGr.
    • AltGr + 'ʻ (Okina)
    • AltGr + `ʼ (Tutuq belgisi)
  • Uzbek (2023): Based on the proposed 2023 alphabet update with single-character letters.
    • WŞ/ş
    • [Õ/õ
    • ]Ğ/ğ
  • Uzbek (Cyrillic): A Cyrillic variant of the Uzbek keyboard layout.

Uzbek keyboard layout Detailed view of the Uzbek (Standard) layout. Purple keys require AltGr, blue keys require Shift+AltGr.

Installation

Add this repository as a flake input to your flake.nix:

# flake.nix
{
  inputs = {
    ...
    # Add this line to your inputs
    uzbek-keyboard.url = "github:itsbilolbek/uzbek-linux-keyboard";
  }

  outputs = {
    ...
    # Add this line to your outputs
    uzbek-keyboard,
  } @ inputs:
  {
    nixosConfigurations."nixos" = nixpkgs.lib.nixosSystem {
      modules = {
        ...
        # Add this line to your modules
        uzbek-keyboard.nixosModules.module
      }
    }
  }
}

You can then use the provided layouts by adding them to your configuration.nix:

# configuration.nix
services.xserver.xkb.uz-enhanced.enable = true;

Other Linux Distributions

  1. Clone the repository:
git clone https://github.com/itsbilolbek/uzbek-linux-keyboard.git
cd uzbek-linux-keyboard
  1. Run the installation script:
sudo ./install.sh

Usage

After installation, you may need to log out and log back in.

Then, go to your system's Settings > Keyboard (or Input Sources), search for "Uzbek", and add your desired layout variant.

License

This project is licensed under the MIT License. See the LICENSE file for details.