Skip to main content

A generator for keyboard layouts

Project description

Generate keyboards and keyboard layouts for various operating systems.

Requires Python 3.4 or higher.


From PyPI

$ pip install kbdgen

From source

Assuming the current working directory is a checked out version of this repo:

$ pip install -r requirements.txt
$ pip install .

You can also use the tools in development easily without installing:

$ python -m kbdgen [...]

This will run the primary kbdgen tool. You may also access the CLDR tooling my this method:

$ python -m kbdgen.cldr {cldr2kbdgen,kbdgen2cldr} [...]


The following targets are currently supported by kbdgen:

  • Android (built on Linux or macOS)
  • iOS (built on macOS)
  • Windows 7 and later (source generated on any OS, built on Windows)
  • macOS (built on macOS)
  • X11 (built on any OS)
  • SVG (built on any OS)

The code is known to run well on macOS and Linux. Different generators have different OS requirements as specified in their documentation.

Patches to extend support more broadly and add further targets are highly welcomed!


To generate the documentation, run asciidoctor index.adoc in the docs directory.


Apache 2 license. See LICENSE.


Development of this project was sponsored by UiT The Arctic University of Norway.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for kbdgen, version 1.0.7
Filename, size File type Python version Upload date Hashes
Filename, size kbdgen-1.0.7-py3-none-any.whl (320.2 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size kbdgen-1.0.7.tar.gz (76.2 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page