Skip to main content

Generate soft keyboards for mobile OSes and layouts for Windows, OS X and X11.

Project description

Generate keyboards and keyboard layouts for various operating systems.

Requires Python 3.


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 OS X)
  • iOS (built on OS X)
  • Windows 7 and later (source generated on any OS, built on Windows)
  • OS X (built on OS X)
  • X11 (built on any OS)
  • SVG (built on any OS)

The code is known to run well on OS X 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!


All documentation can be found in the docs directory. Once it’s good enough, it’ll be published somewhere nice for easy access.


Apache 2 license. See LICENSE.


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

Project details

Release history Release notifications

This version
History Node


Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page