The most common mobile operating systems,
Android and
iOS, give the developer community the possibility to individually develop custom virtual keyboards.
Android The
Android SDK provides an "InputMethodService". This service provides a standard implementation of an input method, enabling the Android development community to implement their own keyboard layouts. The InputMethodService ships with it on Keyboard View. While the InputMethodService can be used to customize key and gesture inputs, the Keyboard Class loads an
XML description of a keyboard and stores the attributes of the keys. As a result, it is possible to install different keyboard versions on an
Android device, and the keyboard is only an application, most frequently downloaded among them being
Gboard and
SwiftKey; a simple activation over the Android settings menu is possible.
iOS Apple's
iOS operating system allows the development of custom keyboards; no access is given to the
dictionary or general keyboard settings. iOS automatically switches between system and custom keyboards if the user enters text into the text input field. The UIInputViewController is the primary view controller for a custom keyboard app extension. This controller provides different methods for the implementation of a custom keyboard, such as a user interface for a custom keyboard, obtaining a supplementary lexicon or changing the primary language of a custom keyboard.
Windows Microsoft Windows provides the virtual keyboard through
Common Text Framework service.
Word suggestions Diverse scientific papers at the beginning of the 2000s showed that, even before the invention of smartphones,
predicting words, based on what the user is typing, assisted in increasing the typing speed. At the beginning of development of this keyboard feature, prediction was mainly based on static dictionaries.
Google implemented the prediction method in 2013 in Android 4.4. This development was mainly driven by third party keyboard providers, such as
SwiftKey and
Swype. In 2014 Apple presented
iOS 8 which includes a new
predictive typing feature called Quick Type, which displays word predictions above the keyboard as the user types.
Haptic feedback Haptic feedback provides for tactile confirmation that a key has been successfully triggered i.e. the user hears and feels a "click" as a key is pressed. Utilizing
hysteresis, the feel of a physical key can be emulated to an even greater degree. In this case, there is an initial "click" that is heard and felt as the virtual key is pressed down, but then as finger pressure is reduced once the key is triggered, there is a further "unclick" sound and sensation as if a physical key is respringing back to its original unclicked state. This behaviour is explained in Aleks Oniszczak & Scott Mackenzie's 2004 paper "A Comparison of Two Input Methods for Keypads on Mobile Devices" which first introduced haptic feedback with hysteresis on a virtual keyboard. == Special keyboard types ==