---
title: IKeymanKeyboard Interface
---
## Introduction
The `IKeymanKeyboard` interface describes a keyboard in Keyman Engine
for Windows API. It is a base class and describes both installed
keyboards and keyboard files.
## Interface Hierarchy
`IDispatch`
> [`IKeymanObject`](../IKeymanObject)
>
> > **`IKeymanKeyboard`**
> >
> > > [`IKeymanKeyboardFile`](../IKeymanKeyboardFile)
> > >
> > > > [`IKeymanKeyboardFile2`](../IKeymanKeyboardFile2)
> > >
> > > [`IKeymanKeyboardInstalled`](../IKeymanKeyboardInstalled)
## Properties
[`Bitmap`](Bitmap) read only
: Returns the [`&bitmap`](/developer/language/reference/bitmap) icon
from the keyboard file as an `IPicture`.
[`Copyright`](Copyright) read only
: Returns the [`©right`](/developer/language/reference/copyright)
string from the keyboard file.
[`DefaultBCP47Languages`](DefaultBCP47Languages) read only
: Returns the set of default language ids for the keyboard as a
space-separated list of BCP 47 codes. The first code in the list is
the primary language.
[`DefaultHotkey`](DefaultHotkey) read only
: Returns the default hotkey for the keyboard.
[`DefaultPrimaryLanguage`](DefaultPrimaryLanguage) read only
: Returns the default primary language id for the keyboard.
[`DefaultWindowsLanguages`](DefaultWindowsLanguages) read only
: Returns the set of default language ids for the keyboard as a
space-separated list of hexadecimal strings.
[`Encodings`](Encodings) read only
: Returns the set of encodings supported by the keyboard layout.
[`Filename`](Filename) read only
: Returns the fully-qualified filename of the keyboard file.
[`ID`](ID) read only
: Returns the identifier for the keyboard, which is the base name of
the keyboard file without extension.
[`LayoutType`](LayoutType) read only
: Returns the layout type of the keyboard as specified by the
[`&mnemoniclayout`](/developer/language/reference/mnemoniclayout)
store.
[`Message`](Message) read only
: Returns the [`&message`](/developer/language/reference/message)
string from the keyboard file.
[`Name`](Name) read only
: Returns the [`&name`](/developer/language/reference/name) from the
keyboard file.
[`Version`](Version) read only
: Returns the
[`&keyboardversion`](/developer/language/reference/keyboardversion)
string from the keyboard file.
## Methods
[`GetCharsUsed()`](GetCharsUsed)
: Returns a string with every Unicode character used or generated by
the keyboard.