Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 42 additions & 1 deletion developer/ldml/guide/glossary.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,45 @@ places in Keyman Developer:
More information about BCP 47 language tag and full details on [how they are
used in Keyman Developer](../../current-version/reference/bcp-47).

Now, go on to begin [planning](./planning) your LDML keyboard.
## G {#g-glossary}

### Gestures

On a [touch keyboard](#touch-keyboard), a gesture refers to an action other than
a simple touch/tap on the key. Gestures are used to access features of the
keyboard which may be less commonly used, but to save space by not requiring a
additional key. For example, a long press on the `e` key might result in being
able to choose accented letters such as `é` and others without needing to have
both an `e` and an `é` key in the same layer.

The gestures supported by LDML are:

* Flicks: where the finger slides off of the key in a particular direction.

* Multitap: where the key is tapped multiple times in rapid succession.
Sometimes known as a **rota**.

* Long press: where the key is held down for a period of time, producing a
pop-up menu of additional choices.

## H {#h-glossary}

### Hardware keyboard

A hardware keyboard refers to the assignment of a particular physical
arrangement of keys. Basic assignments of key function are based on which
modifiers are held down at the same time as a key is pressed. For an LDML
keyboard, more complicated multi-key sequences are accomplished using
[transforms](./transforms).

Compare to [touch keyboard](#touch-keyboard)

## T {#t-glossary}

### Touch keyboard

A touch keyboard is one that is meant to be shown on screen, activated by finger
touch or other gestures. It can have multiple layers, switchable by choosing
other keys. For example, there may be a key which switches to a layer
containing numbers, or a key which switches to a layer containing uppercase
letters.
21 changes: 17 additions & 4 deletions developer/ldml/guide/planning.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,23 @@ To aid you in the planning, here are a series of questions that can be asked:

### Form and Function

- Will this be a hardware-only or touch-only keyboard? (It is recommended to
work on the hardware format first, as a hardware keyboard can be used in touch
but not vice versa.)
- Will this be a touch-only keyboard, or one usable via either a hardware
keyboard or used as a touch keyboard?

A [hardware keyboard] refers to the assignment of a particular physical
arrangement of keys.

A [touch keyboard] refers to a keyboard arrangement meant to be shown on
screen, activated by finger touch or other [gestures].

It is recommended to work on the hardware format first, as a hardware
keyboard layout can be used as a touch keyboard, but not vice versa.

- What is the base physical type for hardware, such as US or ISO?
- Does the keyboard follow an existing organization of keys, such as QWERTY,
AZERTY, QWERTZ etc?
- Which width(s) will you start with for the touch layout?
- What gestures will you make use of, such as long press, flicks, and multitap?
- What [gestures] will you make use of, such as long press, flicks, and multitap?

### Repertoire

Expand All @@ -40,3 +49,7 @@ but not vice versa.)
reached via a gesture or multiple key combination.

Next, let's take a look at an [overview](./overview) of the LDML format.

[hardware keyboard]: ./glossary#hardware-keyboard
[touch keyboard]: ./glossary#touch-keyboard
[gestures]: ./glossary#gestures