Keyman Documentation

repository·master·Indexed 19 days ago

https://github.com/keymanapp/keyman

Open-source cross-platform keyboard input solutions for various languages. Includes guides for building Keyman for Android (KMAPro), integrating the Keyman Engine for Android library, using KeyboardHarness for troubleshooting, and specifications for displayMap JSON files, keyboard_info schemas, and .keyman-touch-layout file formats.

Tokens
419.3K
Snippets
1.2K
Records
2.5K
Agent score
66%

What's inside Keyman

  1. Overview of Keyman Engine for Windows artifacts

    master
    The Keyman Engine for Windows consists of several build artifacts that handle keyboard processing, UI, and system integration. These components work together to capture and translate keystrokes, manage language switching, and interface with the Windows Text Services Framework (TSF).
  2. Overview of Keyman Core API

    master

    Keyman Core is the component of the Keyman Engine responsible for implementing keyboarding rules. It is designed to be platform-independent and keyboard-format agnostic (supporting both KMN and LDML).

    Note: This is an internal API intended exclusively for use within the Keyman Engine. It is currently used by Keyman for Linux, Windows, macOS, and Keyman Developer.

  3. Overview of Keyman

    master

    Keyman is an open-source platform that enables users to type in any language across multiple platforms, including Windows, macOS, Linux, iOS (iPhone/iPad), and Android. It also supports instant typing within web browsers via an online keyboard.

    Developers can create custom keyboard layouts using Keyman Developer and share them with the community through the Keyman keyboards repository.

  4. Overview of engine/dom-utils

    master

    The engine/dom-utils submodule provides a specialized subset of the Keyman Engine's Web-oriented code. Its primary purpose is to facilitate DOM-based layout interactions. It is designed as a standalone module to prevent entanglement between its various consumers, which include:

    • The public API for Keyman Engine for Web.
    • Layout operations within the OSK (On-Screen Keyboard).
    • Desktop UI modules that interface with Keyman Engine for Web.
    • The element-attachment manager, specifically for determining tab order among attached elements.
  5. Overview of the $NAME keyboard template

    master
    The $NAME keyboard template is a generated structure used by the Keyman Developer Command Line Compiler (kmc-generate) to create a new keyboard project. It serves as the base for keyboard definitions, containing metadata such as a description, a link to the keyboard's homepage on keyman.com, copyright information, and a list of supported platforms.
  6. What is Keyman?

    master

    Keyman is a keyboard application that remaps your hardware keyboard to virtual keyboards, enabling you to type in over 2000 languages across Windows applications and the Web. It is fully Unicode-compliant and works with standard hardware keyboards.

    Key Capabilities:

    • Broad Compatibility: Works in Windows programs (Word, Excel, Adobe InDesign, etc.), web browsers (Chrome, Firefox, Edge), and email services (Outlook, Gmail).
    • Keyboard Access: Download existing keyboards from the Keyman Website or create custom ones using Keyman Developer.
    • Open Source: Keyman is free and open source software.
  7. Overview of @keymanapp/developer-utils

    master

    The @keymanapp/developer-utils package is a helper library designed specifically for use within @keymanapp/kmc and other internal @keymanapp modules. It provides shared utility functions to streamline development tasks across the ecosystem.

    Key features include:

    • spawnChild(): A utility for managing child processes.
    • Sentry integration: Helpers for error tracking and reporting.
    • MIT license text validation: Utilities to ensure license compliance.

    Important Usage Note: This library is not intended for separate use by external consumers. Because developer/server depends on this module, adding extra dependencies to @keymanapp/developer-utils can impact the bundling process for the developer server.

  8. Overview of CEF4Delphi

    master

    CEF4Delphi is an open-source project used to embed Chromium-based browsers into applications built with Delphi or Lazarus/FPC. It supports multiple platforms including Windows, Linux, and MacOS.

    Key Features

    • Framework Support: Includes components for VCL, FireMonkey (FMX), and Lazarus.
    • Chromium Version: Uses CEF 89.0.18 (Chromium 89.0.4389.114).
    • Compatibility:
      • Delphi: Tested on 7, XE, 10, 10.2, 10.3, and 10.4.2.
      • Lazarus/FPC: Tested on Lazarus 2.0.12 and FPC 3.2.0.
      • OS: Windows 7 or newer is required for Windows components. For Windows XP/Vista support, use OldCEF4Delphi instead.