KMFL Logo Keyboard Mapping for Linux


KMFL is a keyboarding input method currently being developed under Linux which aims to bring Tavultesoft Keyman functionality to *nix operating systems. KMFL is being jointly developed by SIL International ( and Tavultesoft ( It is being released under the GPL license.

The current implementation of KMFL uses either the iBus framework ( or the older SCIM framework ( to handle the input method interface to X. KMFL consists of three parts: a library which provides an engine to interpret compiled KMFL keyboard tables, a keyboard compiler, and an input method engine either for SCIM or iBus. Note that the library and the keyboard compiler are independent from the input method. This design allows KMFL to use other frameworks such as IIIMF to provide input method services to an operating system at a later date.

KMFL aims to be source compatible with keyboards developed for Keyman 7. Binary keyboards compiled for Keyman will not run under KMFL. You will need to use the source keyboard or recompile it with the supplied KMFL keyboard compiler. Any fonts contained in the Keyman binary keyboard will have to be installed separately. KMFL is also Unicode based, and does not support legacy code pages and encodings.


KMFL may be downloaded from the sourceforge page at A repository for Ubuntu can also be found at


Documentation for installing KMFL and using the KMFL compiler (including the KMFL language description) can be found at the following pages:

Installation: Instructions to install KMFL on Ubuntu can be found here. These include instructions for both the SCIM framework (Karmic and earlier) and the iBus framework (Lucid and Later). The same instuctions can be used to install KMFL on Debian systems.

KMFL Compiler: Documentation for the KMFL language is available here. The Keyman Developer Programmer's Guide may also be useful.


While KMFL is a complete rewrite of the Tavultesoft Keyman engine from scratch, much inspiration was taken from David Gardner's K_TTY project ( Logo