--- title: KMManager class --- ## Summary The **`KMManager`** class provides methods for controlling Keyman Engine ## Syntax ```java KMManager.methodName() ``` ```java KMManager.CONSTANT ``` ## Description The KMManager is the core class which provides most of the methods and constants you will need to develop your apps with Keyman Engine ## Methods [`addKeyboard()`](addKeyboard) : adds a keyboard into the keyboards list [`addKeyboardDownloadEventListener()`](addKeyboardDownloadEventListener) : adds the specified listener into the list of keyboard download event listeners [`addKeyboardEventListener()`](addKeyboardEventListener) : adds the specified listener into the list of keyboard event listeners [`addLexicalModel()`](addLexicalModel) : adds a lexical model into the lexical models list [`advanceToNextInputMode()`](advanceToNextInputMode) : switch to the next system keyboard input mode [`advanceToPreviousInputMethod()`](advanceToPreviousInputMethod) : switch to the previous system keyboard input mode [`applyKeyboardHeight()`](applyKeyboardHeight) : sets the height of keyboard frame [`canAddNewKeyboard()`](canAddNewKeyboard) : returns whether adding a new keyboard is enabled, like in the keyboard picker menu [`canRemoveKeyboard()`](canRemoveKeyboard) : returns whether removing a keyboard is enabled, like in the keyboard picker menu [`closeParentAppOnShowKeyboardPicker()`](closeParentAppOnShowKeyboardPicker) : restores keyboard picker task flag so keyboard picker dismisses the parent app [`copyHTMLBannerAssets()`](copyHTMLBannerAssets) : copies a folder of HTML banner assets so it's available for your keyboard app's resources [`createInputView()`](createInputView) : creates the input view to be used in InputMethodService [`deregisterLexicalModel()`](deregisterLexicalModel) : deregisters the specified lexical model from the LMLayer so it isn't used [`dontCloseParentAppOnShowKeyboardPicker()`](dontCloseParentAppOnShowKeyboardPicker) : disables keyboard picker task flag so keyboard picker doesn't dismiss the parent app [`executeHardwareKeystroke()`](executeHardwareKeystroke) : process the keystroke generated from a physical keyboard [`getAssociatedLexicalModel()`](getAssociatedLexicalModel) : search the installed lexical models list and see if there's an associated model for a given language [`getBannerHeight()`](getBannerHeight) : returns the height of the suggestion banner [`getCurrentKeyboardIndex()`](getCurrentKeyboardIndex) : returns index number of the current keyboard in keyboards list [`getCurrentKeyboardInfo()`](getCurrentKeyboardInfo) : returns information dictionary of the current keyboard [`getDefaultKeyboard()`](getDefaultKeyboard) : returns the keyboard information for the fallback keyboard [`getFontTypeface()`](getFontTypeface) : creates a new typeface from the specified font filename [`getGlobeKeyAction()`](getGlobeKeyAction) : returns the action type of the 'Globe' key [`getHapticFeedback()`](getHapticFeedback) : returns whether the device vibrates as the user types ~~`getKeyboardFontFilename()`~~ `(Deprecated)` : use getKeyboardTextFontFilename or getKeyboardOskFontFilename instead ~~`getKeyboardFontTypeface()`~~ `(Deprecated)` : use getKeyboardTextFontTypeface or getKeyboardOskFontTypeface instead [`getKeyboardHeight()`](getKeyboardHeight) : returns the height of the keyboard frame [`getKeyboardHeightMax()`](getKeyboardHeightMax) : returns the maximum allowed height of the keyboard frame [`getKeyboardHeightMin()`](getKeyboardHeightMin) : returns the minimum allowed height of the keyboard frame [`getKeyboardIndex()`](getKeyboardIndex) : returns index number of the specified keyboard in keyboards list [`getKeyboardInfo()`](getKeyboardInfo) : returns information dictionary of the specified keyboard [`getKeyboardsList()`](getKeyboardsList) : returns the array of keyboards list [`getKeyboardOskFontFilename()`](getKeyboardOskFontFilename) : returns the selected keyboard's OSK font filename [`getKeyboardOskFontTypeface()`](getKeyboardOskFontTypeface) : creates a new typeface from the selected keyboard's OSK font [`getKeyboardState()`](getKeyboardState) : returns the specified keyboard's state [`getKeyboardTextFontFilename()`](getKeyboardTextFontFilename) : returns the selected keyboard's text font filename [`getKeyboardTextFontTypeface()`](getKeyboardTextFontTypeface) : creates a new typeface from the selected keyboard's text font [`getKMKeyboard()`](getKMKeyboard) : returns the KMKeyboard depending whether it's an in-app or system keyboard [`getLatestKeyboardFileVersion()`](getLatestKeyboardFileVersion) : returns the specified keyboard's latest file version number [`getLexicalModelInfo()`](getLexicalModelInfo) : returns dictionary information of the specified lexical model [`getLexicalModelsList()`](getLexicalModelsList) : returns the array of lexical models list [`getLanguageCorrectionPreferenceKey()`](getLanguageCorrectionPreferenceKey) : returns a String to use as a shared preference key to store whether the LMLayer should enable corrections for a given language [`getLanguagePredictionPreferenceKey()`](getLanguagePredictionPreferenceKey) : returns a String to use as a shared preference key to store whether the LMLayer should enable suggestions for a given language. [`getLongpressDelay()`](getLongpressDelay) : returns from stored preference the number of milliseconds to trigger a longpress gesture [`getMaySendCrashReport()`](getMaySendCrashReport) : returns whether Keyman Engine is allowed to send crash reports over the network to Sentry [`getNavigationBarHeight()`](getNavigationBarHeight) : returns the height of the navigation bar system inset [`getOrientation()`](getOrientation) : returns the device's current orientation (Portrait vs Landscape) [`getPredictionsSuspended()`](getPredictionsSuspended) : returns whether predictions are temporarily disabled because the currently selected text field is a hidden password text field or a numeric text field. [`getSpacebarText()`](getSpacebarText) : returns the current text display pattern for the spacebar [`getVersion()`](getVersion) : returns the version number of Keyman Engine [`getWindowDensity()`](getWindowDensity) : returns the density of the window [`getWindowSize()`](getWindowSize) : returns the size of an area the window would occupy [`hasConnection()`](hasConnection) : returns whether the device has active network connection [`hideSystemKeyboard()`](hideSystemKeyboard) : hides the system OSK [`initialize()`](initialize) : initializes the Keyman manager [`isDebugMode()`](isDebugMode) : returns whether debugging of Keyman Engine is enabled ~~`isHelpBubbleEnabled()`~~ `(Deprecated)` : returns whether the help bubble is enabled [`isKeyboardLoaded()`](isKeyboardLoaded) : returns whether the specified in-app or system keyboard is loaded [`keyboardExists()`](keyboardExists) : returns whether the specified keyboard exists in keyboards list [`lexicalModelExists()`](lexicalModelExists) : returns whether the specified lexical model exists in lexical models list [`onConfigurationChanged()`](onConfigurationChanged) : performs necessary actions in an InputMethodService's onConfigurationChanged() [`onDestroy()`](onDestroy) : performs necessary actions in an InputMethodService's onDestroy() [`onPause()`](onPause) : performs necessary actions in an Activity's onPause() [`onResume()`](onResume) : performs necessary actions in an Activity's onResume() [`onStartInput()`](onStartInput) : performs necessary actions in an InputMethodService's onStartInput() [`registerAssociatedLexicalModel()`](registerAssociatedLexicalModel) : registers a lexical model with the associated language ID [`registerLexicalModel()`](registerLexicalModel) : registers a lexical model to use with the LMLayer [`removeKeyboard()`](removeKeyboard) : removes the keyboard at specified position from the keyboards list [`removeKeyboardDownloadEventListener()`](removeKeyboardDownloadEventListener) : removes the specified listener from the list of keyboard download event listeners [`removeKeyboardEventListener()`](removeKeyboardEventListener) : removes the specified listener from the list of keyboard event listeners [`setCanAddNewKeyboard()`](setCanAddNewKeyboard) : sets whether adding a new keyboard is allowed [`setCanRemoveKeyboard()`](setCanRemoveKeyboard) : sets whether removing a keyboard is allowed, like in the keyboard picker menu [`setDebugMode()`](setDebugMode) : enables or disables debugging of Keyman Engine [`setDefaultKeyboard()`](setDefaultKeyboard) : sets the keyboard information for the fallback keyboard [`setGlobeKeyAction()`](setGlobeKeyAction) : sets an action type for the 'Globe' key [`setHapticFeedback()`](setHapticFeedback) : sets whether the device vibrates as the user types ~~`setHelpBubbleEnabled()`~~ `(deprecated)` : enables or disables the help bubble [`setHTMLBanner()`](setHTMLBanner) : sets the contents of an HTML banner for Keyman Engine to display when suggestions aren't available [`setKeyboard()`](setKeyboard) : sets the keyboard to be used [`setKeyboardPickerFont()`](setKeyboardPickerFont) : sets the font for the keyboard picker menu ~~`setKeymanLicense()`~~ `(Deprecated)` : sets the developer license/key pair to unlock Keyman Engine [`setLongpressDelay()`](setLongpressDelay) : stores the longpress delay in milliseconds as a preference. [`setMaySendCrashReport()`](setMaySendCrashReport) : sets whether Keyman Engine can send crash reports over the network to Sentry [`setPredictionsSuspended()`](setPredictionsSuspended) : sets whether predictions are temporarily disabled because the currently selected text field is a hidden password text field or a numeric text field. [`setShouldAllowSetKeyboard()`](setShouldAllowSetKeyboard) : sets whether Keyman Engine allows setting a keyboard other than the default keyboard [`setShouldCheckKeyboardUpdates()`](setShouldCheckKeyboardUpdates) : sets whether Keyman Engine should check for keyboard updates [`setSpacebarText()`](setSpacebarText) : sets the current text display pattern for the spacebar [`shouldAllowSetKeyboard()`](shouldAllowSetKeyboard) : returns whether Keyman Engine allows setting a keyboard other than the default keyboard [`shouldCheckKeyboardUpdates()`](shouldCheckKeyboardUpdates) : returns whether Keyman Engine should check for keyboard updates [`showKeyboardPicker()`](showKeyboardPicker) : displays the keyboard picker menu ~~`showLanguageList()`~~ `(Deprecated)` : displays the language list [`switchToNextKeyboard()`](switchToNextKeyboard) : loads the next available keyboard in keyboards list [`updateSelectionRange()`](updateSelectionRange) : updates the selection range of the current context [`updateText()`](updateText) : updates the current context with the specified text