Contact Us


Initiative B@bel

WSI Guidelines


















Type Design


Design Tools



Font Downloads










Font FAQ



NRSI: Computers & Writing Systems


You are here: Input > Tutorials
Short URL: http://scripts.sil.org/Keyman32to60Tutorial

Converting Keyman 3.2 Keyboards to Keyman 6

How to get your legacy keyboards to work where they shouldn’t

Joan M. Wardell, 2003-03-05



This page is out of date and will not be updated, including broken links. It may still be useful for historical purposes.

Getting your old Keyman 3.2 keyboards to work in Keyman5 or 6 is not difficult. There are just a few modifications needed, as discussed below. Whether you should convert your keyboards so that they can be used in Windows 2000 and higher is a question that should also be considered. It may be better to encourage users to move to new Unicode keyboards, rather than continue producing texts which must be converted. But there are legitimate reasons for using legacy fonts and keyboards, so this is how you get the keyboards to work.

Before beginning the tutorial you should have installed Keyman 6 Developer.


Keyman Installation

Follow the Instructions for installation in: Keyboard Installation and Use.

“If it compiles, you’re done.”

Keyman’s editor TIKE will walk you through most of the necessary changes, so the easiest way is to follow the compile errors.

  • Download the following zip file to get your 3.2 keyboard .kmn and icon .bmp file
Keyman 3.2 to 6.0 Tutorial files
Lorna Priest, 2003-03-10
Download "Keyman3.2to6.zip", ZIP archive, 13KB [2347 downloads]
  • Open the keyboard in TIKE or just double-click it.
  • Compile the keyboard by clicking Keyboard / Compile keyboard or  F7 .

Initial results when compiling a 3.2 keyboard in Keyman 6.

Required Changes

  • Change VERSION to 6.0 (“.0” required)
  • Change BITMAPS to BITMAP (no “S”)
  • Keep first bmp file and delete second.
  • Add ‘+’ signs to lines where needed. They used to be optional. Now, you must be specific about which key is the keystroke by placing a “+” in front of it. The context (which can be multiple characters) goes to the left of the “+” and a single keystroke to the right.

Example A:

‘Q’ > d126

This gives a compile error.

error 400A Invalid token found chr 5 extra:token: >


+ ‘Q’ > d126

Example B:

+ ‘TH’ > d129

This gives a compile warning.

warning 2084:  There are too many characters in the keystroke part of the rule.

One solution:

‘T’ + ‘H’ > d129
  • Edit your bitmap to size 16x16.
    • Editing Bitmaps can be done in Paint or open it in TIKE (File / Open). You can also right-click on the bitmap line and select Edit bitmap...
    • One way to get 16x16: Open new file in TIKE: keyboard bitmap. Default size is 16x16.
      • Paint:
        • To change the size of your picture
        • On the Image menu, click Attributes.
        • Under Units, click the unit of measurement you want to use for the width and height.
        • Type the measurements in Width and Height. (16 x 16 pixels).
        • You can also drag the bottom right corner. You can’t trim from top or left. Practice files included with tutorial: IPA93ON IPA93OFF HEBSTAN1
    • [Practice with different tools, if lots of time]
  • Comments cannot be line-extended, nor can they be included in line-extended lines.

Keyman 3.2

store(vowels)     c Store vowels that may be accented 
              'a'  'e'  'i'  'o'  'u'   c lowercase
              'A'  'E'  'I'  'O'  'U'    c uppercase

Adapted for Keyman 6.0

c Store upper and lowercase vowels that may be accented
store(vowels) 'a'  'e'  'i'  'o'  'u' 
              'A'  'E'  'I'  'O'  'U'          c comment permitted here

Recommended Changes

  • Change NAME to new one, suggest from “IPA93 1.0 (FF)” to “IPA93 Tutorial” (this is important so that you will not confuse your new and old keyboards)
  • Add copyright and message statements (see results in ‘Package Information’ below)
store( &Copyright ) “Copyright © 2002 SIL International” c (Cut and paste to get ©)
store( &Message ) “http://www.sil.org/computing/fonts”
  • There is lots of space, so you can add licensing information or whatever message you want, such as, “This keyboard was developed for use with the Gwayumo language and is freeware. For more information about the Gwayumo language and to order t-shirts, see  http://www.gwayumo.com...,” your contact information, etc. If you need to go more than one line you should type it as follows:
store( &Message )   “This keyboard was developed for use with the Gwayumo language “ 
“and is freeware. For more information about the Gwayumo “ 
“language and to order t-shirts, see http://www.gwayumo.com...,”

Copyright and Package information are displayed here

  • Indicate which type of keyboard this is, whether ANSI or UNICODE. Keyboards from Keyman 3.2 are ANSI, unless they have been re-written for Unicode.
begin ANSI > use(Main)
  • Save file as Ipa93tut.kmn.


Keyman 5 and 6 now create compiled versions of the keyboard, which is the required file to run the keyboard. It has the extension “.kmx”. You can also distribute the source, the “.kmn” file, but it is not necessary. It is also not necessary to distribute the .bmp file with the compiled Keyman keyboard.

“kmp” files are also new. These are installers which include installing Keyman as well as the keyboards.

Follow instructions at Keyboard Installation and Use using Icelandic or Africaans as the input language of choice.


Don’t associate an old Keyman 3.2 keyboard with a language (input locale) unless it is the same codepage (not likely).

Don’t mix ANSI and UNICODE in the same keyboard unless the output is identical to the codepage for that language.

© 2003-2017 SIL International, all rights reserved, unless otherwise noted elsewhere on this page.
Provided by SIL's Non-Roman Script Initiative. Contact us here.