spiegel-keyman/developer/docs/help/guides/develop/tutorial/step-3.md
Marc Durdin b751336c13 refactor(developer): copy dev 17.0 help into repo
1. Copy help.keyman.com/developer/17.0/* into /developer/docs/help
2. Update references to 18.0 where appropriate
3. Copy all referenced images from /cdn/dev into
   /developer/docs/help/images and update links in documentation

Next commit: add deployment to help-keyman-com.sh. Note: simplest way to
test links at this point is to use the help.keyman.com auto deploy and
wait for the PR on help.keyman.com to be validated; we could look at an
internal link validation tool that verifies markdown links?

Relates-to: #12347
2024-09-16 08:46:24 +07:00

3.6 KiB


title: Step 3: The Keyboard Header

Comments

c Simplified French Keyboard for Keyman 9.0

Most of the header in this example is made up of comments. A comment is used to make notes about the keyboard, or to provide information on the workings of the keyboard. The comments are readable by anyone looking at the source code of the keyboard.

A comment always starts with a lowercase c, followed by one or more spaces, and continues to the end of the line. Keyman Developer will ignore comments when compiling a keyboard.

Comments can take up a whole line, or can start in the middle of the line. The latter is useful for making short notes about individual lines. As you can see we have used both kinds of comments in the header.

The &Version store

store(&Version) "9.0"             c This keyboard is for use with Keyman 9.0

The &Version store identifies the Keyman version for which this keyboard was written; this keyboard is for use with Keyman 9.0. The &Version store is an optional part of the keyboard header, but if present, it should be the first store in the file.

The &Name store

store(&Name)    "Quick French"

The &Name store specifies a descriptive name for the keyboard, which can be up to eighty characters long. The name we have given to this keyboard is "Quick French". The &Name store is not required but is highly recommended!

The &Bitmap store

store(&Bitmap)  "qfrench.ico"

The optional &Bitmap store tells Keyman which image to use for the keyboard's icon. The picture should be in the standard Windows .ico format, and should contain at least a single 16x16 pixel image. It can also contain higher resolution images for high resolution "High DPI" displays. If you use a modern icon editor, the icon can use alpha transparency. For this keyboard we will be using the following bitmap: ; it is found in the Keyman Developer folder, under Samples\Examples\qfrench.ico - you should copy it into the same folder in which you will save your keyboard.

The &MnemonicLayout store

store(&MnemonicLayout) "1"

The &MnemonicLayout store tells Keyman that the layout is meant to conform to the user's keyboard layout; for example, if the user presses the quote key ' on their keyboard (whether they are using a US English, UK English, French, German, Swedish, or other keyboard) it should work in the same way. The opposite of this is a positional layout (which is the default if this store omitted), which is intended for keyboards for which there is not necessarily a correspondence between what is printed on the physical keyboard and what is output when that key is pressed.

The begin statement

begin Unicode > use(Main)

The begin statement tells Keyman which group of rules to process first when it receives a keystroke. The use of multiple groups is an advanced feature, and unnecessary for this tutorial, so we will use a single group, called Main. The begin statement is required in every keyboard, and marks the start of the keyboard body. The begin statement also tells Keyman which encoding to use for the keyboard. Nearly all keyboards will use Unicode, today.