Keyman — кроссплатформенная программная платформа для ввода текста и создания пользовательских клавиатур, предназначенная для поддержки большого числа письменностей и языков. Программа позволяет пользователям печатать на более чем двух тысячах языков и предоставляет инструменты для разработки, распространения и установки кастомных раскладок на настольных и мобильных операционных системах, а также в веб-среде. Keyman включает как конечные приложения для ввода, так и наборы утилит и форматов файлов, обеспечивающих совместимость раскладок между разными платформами.
Исторически Keyman развивался как средство для создания локализованных клавиатур и упрощения набора текста на языках с нестандартными или редкими письменностями, где стандартные операционные системы не обеспечивали удобной поддержки. Платформа сочетает редактор раскладок, движок обработки ввода и механизмы упаковки клавиатур для распространения; она ориентирована на лингвистов, локализаторов и сообщества носителей языков, которым требуется точный контроль над правилами транслитерации, сочетания клавиш и отображения символов.
- Кроссплатформенность: поддержка Windows, macOS, Linux, iOS, Android и веб-браузеров через соответствующие клиенты и расширения.
 - Широкая языковая база: возможность ввода и отображения более 2000 языков и разнообразных письменностей, включая сложные и малоизвестные системы письма.
 - Редактор клавиатур: инструменты для проектирования и тестирования кастомных раскладок с описанием правил трансляции нажатий в символы и последовательности.
 - Формат клавиатур: структурированный формат файлов для упаковки раскладок, правил и метаданных, совместимый между платформами.
 - Интеграция с приложениями: API и механизмы для встраивания ввода в сторонние приложения и веб-интерфейсы.
 - Поддержка сложного ввода: обработка композиции символов, диакритических знаков, перестановок и контекстных правил набора.
 - Управление распространением: средства для создания установщиков, порталов распространения и централизованного управления набором клавиатур.
 - Локализационные возможности: шаблоны и утилиты для документирования раскладок, указания метаданных языка и инструкции для пользователей.
 - Совместимость с юникодом: полная поддержка Unicode, обеспечивающая корректное кодирование и сохранение символов разных письменностей.
 - Сообщество и поддержка: механизмы обмена готовыми клавиатурами и примерами, позволяющие сообществам распространять собственные раскладки.