| title | author |
|---|---|
Keyman to LDML Converter |
Patrick Hall |
This is a lightweight, client-side web tool that converts Keyman On-Screen Keyboard (.kvks) files into LDML keyboard definitions (.ldml). It uses modern JavaScript, requires no server, and runs entirely in the browser.
- ✅ Upload and parse
.kvks(Keyman Visual Keyboard) files - ✅ Convert to LDML keyboard format with correct structure
- ✅ Validates structure (basic sanity check)
- ✅ Pretty-prints the XML output
- ✅ In-browser display and live download of
.ldmlfile - ✅ Preserves metadata (keyboard name, version, font)
- ✅ Works offline
- Open
index.htmlin your browser. - Click "Choose File" and upload a
.kvksfile. - Click Convert.
- Review the LDML output and status message.
- Click Download LDML to save the result.
You can try converting the included sample file:
It defines a basic Esperanto keyboard with shift and lowercase layers.
The app performs in-browser structural validation, ensuring:
- A
<keyboard>root exists <keySet>and<keyMapSet>are present- All
<key>and<map>elements have required attributes (id,to,from)
Invalid files will show a red status message.
When you upload a file like:
bamum.kvks
The downloaded file will be named:
bamum.ldml
keyman2ldml-web/
├── index.html # Main interface
├── keyman2ldml.js # Conversion logic (DOM-based)
├── esperanto.kvks # Sample keyboard file
MIT — free to use, modify, and share.
- Interactive typing interface from LDML
- Upload multiple
.kvksfiles at once - Integration with external validators
- Keyboard preview and layout visualization
Please feel free to [file an issue]](https://github.com/amundo/keyman2ldml/issues/new).