Open Source Keyman keyboards
Keyboards are grouped into three folders:
release- keyboards with full source that pass our stringent quality checks, Unicode only
legacy- binary distributions of keyboards, migrated from Tavultesoft servers, Unicode and non-Unicode
experimental- keyboards that have not yet passed the quality check, available from the 'experimental' category in Keyman apps with Keyman 10 and later. Unicode only.
Within each of the folders, keyboards are further grouped by first letter or by prefix, where
multiple keyboards share the same prefix indicating provenance, for example
First, read the guide! https://help.keyman.com/developer/keyboards/
Keyman Developer 12.0 is recommended to edit these files. https://keyman.com/developer
- Git for Windows (or MinGW)
- You will need to use Git Bash or equivalent to build (not tested with Cygwin), not Windows Command Prompt or PowerShell.
- You can also WSL (Bash on Ubuntu on Windows) if you place the repo in a
Windows-accessible path (such as
/mnt/c/...), so the Keyman Developer Compiler can run (requires Windows 10 Anniversary Update or later). Beware of line-ending changes if mixing Windows and WSL usage!
- WINE is required in order to run the Keyman Developer compiler which is currently a Windows-only executable.
- See https://help.keyman.com/knowledge-base/95 for Mac configuration information.
build.sh can be used to build all the keyboards from the command line.
- The Keyman Developer compiler is included in the
tools/folder and so Keyman Developer is not required for builds.
This lists only the common parameters; some other parameters are listed with
||List build.cmd parameters|
||Clean instead of build|
||Include debug information|
||Treat warnings as errors|
||Restart building all keyboards, but skip those before
||Specific folder to build, e.g.
- Each keyboard also includes a project file which can be used to build the project - either from the command line kmcomp compiler, or from the Keyman Developer IDE.
If a keyboard has been replaced by another keyboard, include a DEPRECATED.md file in the folder referencing the new keyboard name.
- https://help.keyman.com/developer/keyboards/: Guide to working with this repository
- https://keyman.com/developer/keymanweb/keyboards.php: Published documentation for each keyboard
- https://r.keymanweb.com/api/4.0/keyboards/: JSON API for compiled keyboards available from Keyman Cloud
- https://help.keyman.com/developer/cloud/keyboard_info/: Documentation on the .keyboard_info file format used in this repository