Save the date! Android Dev Summit is coming to Mountain View, CA on November 7-8, 2018.
added in API level 3

android.inputmethodservice

Base classes for writing input methods (such as software keyboards). These APIs are not for use by normal applications, they are a framework specifically for writing input method components. Implementations will typically derive from InputMethodService.

Interfaces

KeyboardView.OnKeyboardActionListener Listener for virtual keyboard events. 

Classes

AbstractInputMethodService AbstractInputMethodService provides a abstract base class for input methods. 
AbstractInputMethodService.AbstractInputMethodImpl Base class for derived classes to implement their InputMethod interface. 
AbstractInputMethodService.AbstractInputMethodSessionImpl Base class for derived classes to implement their InputMethodSession interface. 
ExtractEditText Specialization of EditText for showing and interacting with the extracted text in a full-screen input method. 
InputMethodService InputMethodService provides a standard implementation of an InputMethod, which final implementations can derive from and customize. 
InputMethodService.InputMethodImpl Concrete implementation of AbstractInputMethodService.AbstractInputMethodImpl that provides all of the standard behavior for an input method. 
InputMethodService.InputMethodSessionImpl Concrete implementation of AbstractInputMethodService.AbstractInputMethodSessionImpl that provides all of the standard behavior for an input method session. 
InputMethodService.Insets Information about where interesting parts of the input method UI appear. 
Keyboard Loads an XML description of a keyboard and stores the attributes of the keys. 
Keyboard.Key Class for describing the position and characteristics of a single key in the keyboard. 
Keyboard.Row Container for keys in the keyboard. 
KeyboardView A view that renders a virtual Keyboard