Skip to content
Merged
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
34 changes: 25 additions & 9 deletions developer/20.0/context/keyboard-editor.md
Original file line number Diff line number Diff line change
Expand Up @@ -99,23 +99,25 @@ Features

## Layout tab

### Design view

> Path: KMN → Layout tab → Design view (default)

<img src="../images/ui/frmKeymanWizard_Layout_Design.png" style="width:100%" alt="Keyboard Editor - Layout tab, Design view"/>

The Layout tab gives you a simple interface to quickly create a keyboard
using a visual representation of a desktop/laptop computer keyboard. You
using a visual representation of a **desktop/laptop keyboard**. You
can drag and drop characters from the character map to create keyboard
layouts. You cannot access most of Keyman's more powerful features from
the Layout Design view, but it will be useful to get you started on your
design.
layouts.

Each key can have zero or more characters assigned to it. Each key can
be assigned a different set of characters for each shift state. You can
change the shift state by clicking on the Shift, Ctrl, and Alt keys.
change the shift state by clicking on the <kbd>Shift</kbd>, <kbd>Ctrl</kbd>, and <kbd>Alt</kbd> keys.

There are two ways to assign characters to the keys:

- Click on a key, and then type the character's code into the Unicode
Character Value(s) field, or the type/paste the character itself
Character Value(s) field, or type/paste the character itself
into the Output character(s) field.
- Select the character from the Character Map and drag and drop it
onto the appropriate key. This will set the key to output that
Expand All @@ -130,7 +132,7 @@ There are two ways to assign characters to the keys:
Distinguish between left and right Ctrl/Alt
: A Keyman keyboard can treat left and right Ctrl and Alt identically,
or it can distinguish between them. The Design view allows one or
the other mode (in Code view, you can use both interchangeably).
the other mode (in [Code view](#toc-code-view), you can use both interchangeably).

Display 102nd Key (as on European keyboards)
: European keyboards have one extra key that is not on US keyboards.
Expand All @@ -143,8 +145,16 @@ Display 102nd Key (as on European keyboards)
the backslash key will move down one row, but not otherwise change
in behaviour.

You can press and release <kbd>Ctrl</kbd> to select
another key on the keyboard using your keyboard.
> [!TIP]
> You can press and release <kbd>Ctrl</kbd> to select another key on the keyboard using your keyboard.

You cannot access most of Keyman's more powerful features from
the Layout Design view, but it will be useful to get you started on your
design.

### Code view

> Path: KMN → Layout tab → Code view

<img src="../images/ui/frmKeymanWizard_Layout_Code.png" style="width:100%" alt="Keyboard Editor - Layout tab, Code view"/>

Expand All @@ -156,6 +166,9 @@ the Code view.
See the [Editor topic](editor) for more information on how to use the
editor shown within this view.

> [!NOTE]
> Remember that any newly assigned keys from the layout tab won't be automatically added to the On-Screen keyboard except when you press the 'Fill from layout' button (See [On-screen](#toc-on-screen-tab) below).

## On-Screen tab

<img src="../images/ui/OnScreenKeyboard.png" style="width:100%" alt="Keyboard Editor - On-Screen tab"/>
Expand Down Expand Up @@ -183,6 +196,9 @@ Fill from layout
pre-populate the On-Screen Keyboard and reduces the complexity of
designing it from scratch.

> [!CAUTION]
> The changes from the [Layout tab](#toc-layout-tab) will only apply to the On-Screen Keyboard once you use the 'Fill from layout'.

Import
: Imports an On-Screen Keyboard from an XML file.

Expand Down
Binary file modified developer/20.0/images/ui/frmKeymanWizard_Layout_Code.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified developer/20.0/images/ui/frmKeymanWizard_Layout_Design.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
19 changes: 19 additions & 0 deletions developer/20.0/reference/messages/km020bf.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
title: KM020BF: WARN_CallUsedOnUnsupportedPlatform
---

| | |
|------------|---------- |
| Message | The \`call\(\)\` statement is not supported on macOS or Linux platforms\. |
| Module | [kmc-kmn.KmnCompilerMessages](kmc-kmn.kmncompilermessages) |
| Identifier | `WARN_CallUsedOnUnsupportedPlatform` |


The `call()` statement is supported on Windows and web-based platforms,
including mobile and tablet. The target platforms can be specified in
the `&targets` system store; avoid the use of generic platforms such as
`'any'` or `'desktop'`. Note that the implementation of your call
target will differ across platforms; see
[`call()` statement](https://help.keyman.com/developer/language/reference/call)
in the documentation for more details.

4 changes: 2 additions & 2 deletions developer/20.0/reference/messages/km05009.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
---
title: KM05009: HINT_FilenameHasDifferingCase
title: KM05009: WARN_FilenameHasDifferingCase
---

| | |
|------------|---------- |
| Message | File on disk '&lt;param&gt;' does not match case of '&lt;param&gt;' in source file; this is an error on platforms with case\-sensitive filesystems\. |
| Module | [kmc.InfrastructureMessages](kmc.infrastructuremessages) |
| Identifier | `HINT_FilenameHasDifferingCase` |
| Identifier | `WARN_FilenameHasDifferingCase` |


Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,7 @@ title: Compiler Messages Reference for @keymanapp/kmc-kmn
[KM020BC](km020bc) | `WARN_DeprecatedValueFormat` | The decimal \(d\#\#\#\), octal \(\#\#\#\), and hexadecimal \(x\#\#\#\) value formats were deprecated in Keyman 19 and are scheduled to be removed in Keyman 20\.
[KM020BD](km020bd) | `WARN_DeprecatedCompileTarget` | Compile target '&lt;param&gt;' was deprecated in Keyman 19 and will cause the line to always be ignored by kmc in Keyman 20\.
[KM020BE](km020be) | `ERROR_StoreContainsUnsupportedStatement` | A store can contain only characters, deadkeys, virtual keys, and 'outs\(\)' statements\.
[KM020BF](km020bf) | `WARN_CallUsedOnUnsupportedPlatform` | The \`call\(\)\` statement is not supported on macOS or Linux platforms\.
[KM020C0](km020c0) | `FATAL_BufferOverflow` | The compiler memory buffer overflowed
[KM02900](km02900) | `FATAL_UnexpectedException` | This is an internal error; the message will vary
[KM02901](km02901) | `FATAL_MissingWasmModule` | This is an internal error; the message will vary
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ title: Compiler Messages Reference for @keymanapp/kmc
[KM05005](km05005) | `ERROR_OutFileNotValidForProjects` | \-\-out\-file should not be specified for project builds
[KM05006](km05006) | `INFO_FileBuiltSuccessfully` | &lt;param&gt; built successfully\.
[KM05007](km05007) | `INFO_FileNotBuiltSuccessfully` | &lt;param&gt; failed to build\.
[KM05009](km05009) | `HINT_FilenameHasDifferingCase` | File on disk '&lt;param&gt;' does not match case of '&lt;param&gt;' in source file; this is an error on platforms with case\-sensitive filesystems\.
[KM05009](km05009) | `WARN_FilenameHasDifferingCase` | File on disk '&lt;param&gt;' does not match case of '&lt;param&gt;' in source file; this is an error on platforms with case\-sensitive filesystems\.
[KM0500A](km0500a) | `ERROR_UnknownFileFormat` | Unknown file format &lt;param&gt;; only Markdown \(\.md\), JSON \(\.json\), and Text \(\.txt\) are supported\.
[KM0500B](km0500b) | `INFO_ProjectBuiltSuccessfully` | Project &lt;param&gt; built successfully\.
[KM0500C](km0500c) | `INFO_ProjectNotBuiltSuccessfully` | Project &lt;param&gt; failed to build\.
Expand Down
Loading