Keyboard Mapping for Linux

Background

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 (http://www.sil.org) and Tavultesoft (http://www.tavultesoft.com). It is being released under the GPL license.

The current implementation of KMFL uses the SCIM platform (http://www.scim-im.org/) 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 SCIM input method engine. Note that the library and the keyboard compiler are independent from the SCIM 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. Binary keyboards compiled for Keyman will not run under KMFL. Such keyboards will need to be compiled with the supplied KMFL keyboard compiler. KMFL is also Unicode based, and does not support legacy code pages and encodings.

Download

KMFL may be downloaded from the sourceforge page at http://sourceforge.net/projects/kmfl.

Documentation

Documentation for installing KMFL and using the KMFL compiler (including the KMFL language description) can be found at the sourceforge page as follows:

Installation: Installation-Instructions.swx

Web based installation instructions can also be found here.

Note: these instructions are largely out of date and are included here for historical reasons. The hardest part about getting KMFL working is getting SCIM up and running. Good instructions for this can be found on the SCIM site at http://www.scim-im.org/wiki/documentation. Many distros now have SCIM available. However some manual configuration is still required to get SCIM to start when X starts.

The KMFL downloads for each distro now contain installation scripts which hopefully make the installation of KMFL/SCIM easier. The scripts will check to see if a useable version of SCIM is installed and if not, install one. The scripts will also set up X to run SCIM when a user logs on and will configure SCIM to work with KFML.

KMFL Compiler: KMFL-Compiler.swx

Acknowedgements

While KMFL is a complete rewrite of the Tavultesoft Keyman engine from scratch, much inspiration was taken from David Gardner's K_TTY project (http://ktty.sourceforge.net/).

SourceForge.net Logo