#### 4.4.3 Notes on Typo-Analysis and the Keyboard Definition File

Aspell .33 and better will, in general, give a higher priority to certain misspellings which are likely to be due to typos such as `teh` instead of `the` or `hapoy` instead of `happy`. However in order to do this well Aspell needs to know the layout of the keyboard via the keyboard definition file. The keyboard definition file simply identifies the keys on the keyboard and which of them are right next to each other. It has an extension of `.kbd` and all non-ASCII characters are expected to be in UTF-8.

To identify a key use:

    key base other …

where base is the base character that the key types, and other are other keys that the key can produce. For example

    key a A á Á

It generally is only necessary to list keys which type more than one distinct letter as Aspell can derive the rest from the language data file. For example, it is not necessary to include the previously mentioned key.

To identify two keys as being right next to each other simply list the type keys right after each other. For example the line:

    as

will indicate that ‘`a`’ and ‘`s`’ are right next to each other. If ‘`as`’ is listed as an entry it is not necessary to list ‘`sa`’ as an entry as that will be done automatically. Also by right next to each other I mean two keys that are close enough together that it is easy to type one instead of the other.

The default for this option is normally `standard`. However the default can be changed via the language data file. The normal default, `standard`, should work well for most QWERTY like keyboard layouts. It may need minor adjusting for foreign keyboards. A value of `dvorak` can be used for a Dvorak layout and `none` can be used to avoid using an explicit keyboard layout and only use the information derived from the language data file.