Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

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.

Release History

This version
History Node


Supported By

Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Google Google Cloud Servers