Git Product home page Git Product logo

keyboards's Introduction

Open Source Keyman keyboards

File Layout

Keyboards are grouped into three folders:

  • release - keyboards with full source that pass our stringent quality checks, Unicode only, generally no PUA
  • legacy - binary distributions of keyboards, migrated from Tavultesoft servers, Unicode and non-Unicode
  • experimental - keyboards that have not yet passed the quality check, available from the 'experimental' category in Keyman apps with Keyman 10 and later. Unicode only, but PUA is acceptable.

Within each of the folders, keyboards are further grouped by first letter or by prefix, where multiple keyboards share the same prefix indicating provenance, for example sil or gff.

Contributing

First, read the guide! https://help.keyman.com/developer/keyboards/

Keyman Developer 17.0+ is recommended to edit these files. https://keyman.com/developer

Building Keyboards

Prerequisites

Windows:

  • Git for Windows (or MinGW)
  • You will need to use Git Bash or equivalent to build (not tested with Cygwin), not Windows Command Prompt or PowerShell.
  • You can also use WSL2 (Bash on Ubuntu on Windows). Beware of line-ending changes if mixing Windows and WSL usage.
  • Node.js 18.0

Linux:

  • Node.js 18.0
  • bash 5.0 (standard now on most distributions)

macOS:

  • bash 5.0 (brew install bash)
  • coreutils (brew install coreutils)
  • Node.js 18.0 (brew install node)
  • Ensure coreutils is on the PATH: export PATH="$HOMEBREW_PREFIX/opt/coreutils/libexec/gnubin:$PATH"

Build instructions

./build.sh can be used to build all the keyboards from the command line.

  • kmc, the Keyman Developer compiler, is installed as a Node.js module, and so Keyman Developer is not required for builds.

Common build.sh parameters

Summary:
  Build Keyman keyboards

Script Identifier:
  /c/Projects/keyman/keyboards

Usage:
  build.sh [options...] [action][:target]...

Actions:
  clean                      remove build/ folder and build artifacts
  configure                  install dependencies, e.g. npm
  build                      build target(s)
  test                       run automated tests

Targets:
  :project                   this project

Options:
  --silent, -s               Suppress unnecessary messages
  --keyboard, -k KEYBOARD    Build specific targets only, e.g. release/ or release/a/ or release/a/anii/, comma separated
  --verbose, -v              Verbose logging
  --debug, -d                Debug build
  --color                    Force colorized output
  --no-color                 Never use colorized output
  --help, -h                 Show this help

Dependencies:
  This module has no dependencies

* Specify action:target to run a specific action against a specific :target.
* If action is specified without a target suffix, it will be applied to all :targets.
* If :target is specified without an action prefix, build:target will be inferred.
* If no action, :target, or action:target entries are specified, build will run on all :targets.
  • Each keyboard also includes a project file which can be used to build the project - either from the command line kmc compiler, or from the Keyman Developer IDE.

Deprecated keyboards

If a keyboard has been replaced by another keyboard, include a DEPRECATED.md file in the folder referencing the new keyboard name.

Common links

keyboards's People

Contributors

andjc avatar beniza avatar binilasanki avatar caforbes avatar darcywong00 avatar davidlrowe avatar dyacob avatar eddieantonio avatar hopsandhops avatar ilhamkang avatar ind-nt avatar jackrittenberry avatar jbrase avatar katelem24 avatar lornasil avatar madskinner2 avatar makarasok avatar mattgyverlee avatar mcdurdin avatar miketvo avatar postmodernenglish avatar quwatsunny avatar ramesh-k avatar rik-shaw avatar rmlockwood avatar runeboard avatar sdysart avatar shreeshrii avatar victoriaq22 avatar xyzhelen avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.