The .eviri File: A Developer’s Guide to Keyman Visual Layouts

Sabrina

April 13, 2026

Keyman Developer interface visual keyboard
🎯 Quick AnswerA .eviri file is a Keyboard Visualizer file used by Keyman Developer, a software from SIL International. It stores the visual representation of a custom keyboard layout, allowing developers to see and interact with the keyboard design during the development and debugging process without needing to compile the full keyboard package.

Staring at raw keyboard source code can feel like trying to build a house from blueprints alone—functional, but lacking immediate visual clarity. For developers working with complex input methods, this abstraction creates a gap between code and user experience. This is precisely the problem the .eviri file solves within the Keyman development environment.

A .eviri file is a Keyboard Visualizer file used exclusively by Keyman Developer, a powerful tool from SIL International. It stores the visual representation of a custom keyboard, enabling developers to see and interact with their design in real-time. This file is not the keyboard’s logic; rather, it is the visual mock-up used for development and debugging.

What is the Precise Role of a .eviri File in the Keyman Ecosystem?

The .eviri file acts as a visual rendering of the keyboard layout defined in the corresponding .kmn source file. Its sole purpose is to provide a graphical interface within the Keyman Developer IDE. This allows you to see exactly how keys are arranged, what characters they produce with different modifier keys (like Shift or AltGr), and how the overall layout appears on screen.

Think of it as a live preview. While the .kmn file contains the rules, character mappings, and logic, the .eviri file translates that logic into a clickable, viewable keyboard. It is an essential component for rapid, iterative design, as it provides instant visual feedback without requiring a full compile and installation of the keyboard package. This separation of concerns is a hallmark of the strong development environment created by SIL International for creating complex input solutions.

[IMAGE alt=”A diagram showing the relationship between .kmn, .eviri, and .kmp files within the Keyman Developer workflow.” caption=”The .eviri file serves as the visual bridge between the source code (.kmn) and the final compiled package (.kmp).”]

How Do You Create and Use a .eviri File?

A .eviri file is not typically created or opened manually like a text document or image. Instead, it is automatically generated and managed by the Keyman Developer software. When you create or open a keyboard project (a .kpj file), the IDE reads the .kmn source file and generates the .eviri file to display the visual layout in the editor’s ‘Layout’ tab.

You interact with the .eviri file’s contents through the visual editor itself. Clicking on a key, assigning characters, or adjusting the physical layout directly modifies the visual representation. These changes are then saved back to the underlying source files. Therefore, the common user mistake is searching for an external program to “open” a .eviri file; its utility is entirely contained within the Keyman Developer environment on platforms like Windows and macOS.

Expert Tip: Use the visualizer (the .eviri rendering) to test complex deadkey sequences. You can click the deadkey, see it activate visually, and then click the subsequent character to confirm the correct composed output. This is significantly faster than compiling and testing in a live text editor for every minor logic change.

What Distinguishes .eviri from .kmn and .kmp Files?

Understanding the distinction between Keyman’s core file types is fundamental for any developer. While they work together, each file has a unique and separate function. The .eviri file is purely for the developer’s visual reference, whereas the .kmn and .kmp files handle the keyboard’s logic and distribution, respectively.

Here is a direct comparison of these three critical files in the Keyman toolchain:

File Extension Primary Purpose Content Type Intended User
.eviri Visual keyboard representation XML-based layout data Keyboard Developer (within IDE)
.kmn Keyboard source code and logic Plain text with specific syntax Keyboard Developer (editing)
.kmp Compiled distribution package Binary package file End-User (for installation)

In practice, you edit the .kmn file (either directly or through the visual editor), Keyman Developer uses that to generate the .eviri for display, and then you compile everything into a .kmp package for others to install and use.

🎬 Related Video

📹 .eviri — Watch on YouTube

How Does .eviri Facilitate Keyboard Debugging and Testing?

The .eviri file’s greatest strength is as a debugging tool. It provides an immediate, one-to-one visual correlation with your source code, drastically reducing the time spent troubleshooting layout issues. When a key isn’t producing the right character, the first step is often to check the visual layout.

Key debugging functions enabled by the visualizer include:

  • Modifier State Verification: You can instantly toggle between different keyboard layers (like ‘shift’, ‘ctrl’, ‘alt’) in the visual editor to confirm that the correct characters are assigned to each state. This avoids tedious manual testing for every combination.
  • Key Placement and ID Checks: For complex or non-standard layouts, you can ensure that the physical key on the board corresponds to the correct key ID in your .kmn code. Mismatches here are a common source of errors.
  • On-Screen Keyboard Preview: The layout rendered from the .eviri file is a direct preview of how the on-screen keyboard (OSK) will appear to the end-user, allowing for aesthetic and usability checks early in development.

Keyman supports over 2,000 languages, making strong visual debugging tools like the one powered by .eviri files essential for developers creating input methods for the world’s diverse linguistic needs. – SIL Keyman Website

[IMAGE alt=”A close-up of the Keyman Developer debugging panel, highlighting a specific key and its associated character output code.” caption=”The debugger in Keyman Developer uses the .eviri file to link visual keys to their underlying code.”]

What Are the Best Practices for Managing .eviri Files in a Project?

For developers using version control systems like Git, managing generated files is always a key consideration. The .eviri file presents a specific choice. Since Keyman Developer can regenerate it from the .kmn source file, it is technically not essential to commit it to your repository.

Important: Never distribute the .eviri file to your end-users. It has no function outside of the Keyman Developer environment and will only cause confusion. The only file an end-user needs is the compiled .kmp package.

A common best practice is to add *.eviri to your project’s .gitignore file. This prevents the auto-generated file from cluttering your version history. The primary source of truth should always be your .kmn (source code) and .kpj (project) files. Committing the .eviri file is generally redundant, as any collaborator who opens the project in Keyman Developer will have it generated for them automatically. This approach keeps your repository clean and focused on human-written source code.

Frequently Asked Questions

What is a .eviri file?

A .eviri file is a Keyboard Visualizer file used by the Keyman Developer software from SIL International. It contains the visual layout data for a custom keyboard, allowing developers to see and interact with their design within the development environment. It is a developer-only file for visual feedback and debugging.

Can I convert a .eviri file to another format?

No, the .eviri file is an internal format for Keyman Developer and is not designed for conversion. Its data is derived from the .kmn source file. If you need the keyboard in a different format, you would work from the .kmn source or the final compiled keyboard, not the visualizer file.

Is the .eviri file required for the keyboard to work?

The .eviri file is not required for the end-user’s keyboard to function. The final, installable keyboard is a compiled .kmp package. The .eviri file is only necessary during the development phase inside the Keyman Developer IDE to provide a visual representation of the layout.

Does the .eviri file contain the actual character mapping logic?

No, it does not. The .eviri file only stores the visual data—which key is where on the screen. The core logic, rules, and character mappings (‘when key X is pressed, output character Y’) are all contained within the plain-text .kmn source file. The visualizer reads the .kmn file to build its display.

Why can’t I find a program to open my .eviri file?

You cannot open a .eviri file with a standard program because it is an integrated component of the Keyman Developer software. It is meant to be read and rendered by the IDE itself, not opened directly by a user. To see its contents, you must open the associated keyboard project (.kpj) in Keyman Developer.

Integrate the .eviri File Into Your Development Workflow

The .eviri file is more than just a minor file type; it is a central part of an efficient keyboard development workflow in Keyman. By providing instant visual feedback, it bridges the gap between abstract code and the final user experience, streamlining debugging and accelerating design. Understanding that the .eviri is a developer’s visual aid—distinct from the .kmn source and the .kmp package—is key to mastering the Keyman toolchain. By using it properly, you can build more accurate and user-friendly keyboards with greater speed. The .eviri file is a perfect example of a tool designed for a specific, high-value purpose in a professional development environment.

S
Serlig Editorial TeamOur team creates thoroughly researched, helpful content. Every article is fact-checked and updated regularly.
🔗 Share this article