How to download the keyboard on iphone?

I want to use my custom keyboard on iphone. I crated a keyboard, downloaded keyman on my iphone, sent a .kmn file, but i could not open it. What i sopposed to do?

Congratulations on creating a keyboard!

The .kmn file is a source (human-readable) file. It needs to be compiled into a form usable by the phone or computer, then packaged into a file that the device can read. The documentation on the Keyman Developer 16.0 User Guide page should provide the details. You might also check out the videos at Keyman Developer Training Videos (though some are a bit dated).

If you still have questions, please ask again!

Thank you, and please, if it is not hard to you, send me links for that documentations, and for ‘pop-up’ letters too. I will be very grateful if you send them to me. Sorry if I’m wasting your time, I downloaded keyman the day before yesterday. I’m new to this.

Welcome to the community @Wu_Nokiri,

To download a custom keyboard into Keyman on your iPhone, you need to have a .kmp file. You can get the .kmp file from compiling the keyboard package (.kps file) in Keyman Developer.


You mentioned about ‘pop up’ letters. Are you referring to adding longpress characters in Keyman developer?

Please ask if you have more questions.

Have a nice day!

I did what you said, but in the end, when i downloaded it on iphone and opened it an error “package file is corrupted” popped up.

Hi @Wu_Nokiri,

I’m sorry to hear about that. Can you send me the .kmn file so I can take a look at it?


вт, 9 янв. 2024 г. в 07:05, Nguonnyny Tan via SIL Software <>:

tsvali.kmp (3.7 KB)

Hi @Wu_Nokiri,

I have downloaded the .kmp file on Windows 11 and iPhone 11 Pro Max (thanks to @mengheng ) and it’s corrupted as you mentioned. I could help you look into the issue if I have the .kmn file.

You can send me a dm if you wish to keep the file private.

Thank you!

I downloaded the tsvali.kmp file and examined the contents with a Zip manager.
It looks like the keyboard file tvilli.js is missing from the package.

The .kmp file contains:

  1. tvilii.keyman-touch-layout, which is the source file for the touch layout keyboard
  2. tvilli.kmn, which is the source file for the desktop keyboard

In Keyman Developer, you can use the package editor to fix the contents to include the .js file. (Remember to assign the correct language to the keyboard too)


Thanks @darcy for your insightful comments.

@Wu_Nokiri, I’m able to look into the .kmn file and added the missing file as @darcy mentioned. I also make some changes to On-Screen and Touch Layout tabs in .kmn file.

Language tag was put to Russian for testing purpose. You can change it back to the correct language in the .kps file as shown below.

I tested it on Windows and Android and it works!

Feel free to download it and test it on your iPhone. (15.7 KB)

Have a nice day!

Thank you, and if it is not hard for you, can you tell me where i was mistaken, how can i do the .js file and what’s the russian language’s tag?

Hi again @Wu_Nokiri,

The .kmp file is corrupted because of the missing .js file and you shouldn’t include tvilli.kmn and tvilii.keyman-touch-layout in it as it’s not necessary.

To get a working .kmp file, you need to have all of these files in .kps package file:

Use the Add button to select the files to be included in the package, such as .kmx and .js keyboard files, documentation, and related fonts; but you can include any type of file here as well.

Also, it’s a must to include the language tag or it won’t work on mobile devices. You suppose to change Russian to the language of your tvilli’s keyboard.


Have a good day!

Thank you! and the last question. Do i can do a keyboard without .js file?

пт, 12 янв. 2024 г. в 03:21, Nguonnyny Tan via SIL Software <>:

Thank you! And sorry for wasting your time, but how is working the .js file?

пт, 12 янв. 2024 г. в 03:21, Nguonnyny Tan via SIL Software <>:

The .js file is compiled from your source .keyman-touch-layout file
The .kmx file is compiled from your source .kmn file
The .kvk file is compiled from your source .kvks file

The .kps should only include the compiled files, not the source files. It won’t work correctly without the compiled files. When you then compile from the .kps you get your .kmp file which includes all the files you included in that list of files.

1 Like

The conversation has resolved.