Avirtual keyboard is a software component that allows theinput of characters without the need for physical keys.[1] Interaction with a virtualkeyboard happens mostly via atouchscreen interface, but can also take place in a different form when invirtual oraugmented reality.
On a desktop computer, a virtual keyboard might provide an alternative input mechanism for users withdisabilities who cannot use a conventional keyboard, formulti-lingual users who switch frequently between different character sets or alphabets, which may be confusing over time, or for users who are lacking a traditional keyboard.
Virtual keyboards may utilize the following:
VariousJavaScript virtual keyboards have been created on web browsers, allowing users to type their own languages on foreign keyboards.Multitouch screens allow the creation of virtualchorded keyboards fortablet computers,[7] touchscreens,touchpads, andwired gloves.[8][9]
Virtual keyboards are commonly used as an on-screen input method in devices with no physical keyboard where there is no room for one, such as apocket computer,personal digital assistant (PDA),tablet computer, ortouchscreen-equippedmobile phone. Text is commonly inputted either by tapping a virtual keyboard or finger-tracing.[10] Virtual keyboards are also featured inemulation software for systems that have fewer buttons than a computer keyboard would have.
The four main approaches to enter text into aPDA were: virtual keyboards operated by a stylus, external USB keyboards, handwritten keyboards, and stroke recognition. Microsoft's mobile operating system approach was to simulate a completely functional keyboard, resulting in an overloaded layout.[11] Without support for multi-touch technology, PDA vitural keyboards had usability constraints.
WhenApple presented theiPhone in 2007, not including a physical keyboard was seen as a detriment.[12] However, Apple brought themulti-touch technology into the device, overcoming the usability problems of PDAs.
The most common mobile operating systems,Android andiOS, give the developer community the possibility to individually develop custom virtual keyboards.
TheAndroid SDK provides an "InputMethodService".[13] 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.[14] While the InputMethodService can be used to customize key and gesture inputs, the Keyboard Class loads anXML description of a keyboard and stores the attributes of the keys.[15]
As a result, it is possible to install different keyboard versions on anAndroid device, and the keyboard is only an application, most frequently downloaded among them beingGboard andSwiftKey; a simple activation over the Android settings menu is possible.[16]
Apple'siOS operating system allows the development of custom keyboards, however no access is given to thedictionary or general keyboard settings. iOS automatically switches between system and custom keyboards if the user enters text into the text input field.[17][18]
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.[19]
Microsoft Windows provides the virtual keyboard throughCommon Text Framework service.
Diverse scientific papers at the beginning of the 2000s showed even before the invention of smartphones, thatpredicting words, based on what the user is typing, assisted in increasing the typing speed.[20][21] At the beginning of development of this keyboard feature, prediction was mainly based on static dictionaries.Google implemented the predicting method in 2013 in Android 4.4. This development was mainly driven by third party keyboard providers, such asSwiftKey andSwype.[22] In 2014 Apple presentediOS 8[23] which includes a newpredictive typing feature called Quick Type, which displays word predictions above the keyboard as the user types.
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. Utilizinghysteresis, 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.[24]
Keyboards are needed in different digital areas.smartphones and devices that create virtual worlds, for example,virtual reality oraugmented reality glasses, need to provide text input possibilities.
Anoptical virtual keyboard was invented and patented byIBM engineers in 1992.[25] It optically detects and analyses human hand and finger motions and interprets them as operations on a physically non-existent input device, such as a surface having painted keys. This allows it to emulate unlimited types of manually operated input devices including mouse or keyboard. All mechanical input units can be replaced by such virtual devices, optimized for the current application and for the user's physiology maintaining the speed, simplicity, and unambiguity of manual data input.
One example of this technology is the "Selfie Type" - a keyboard technology for mobile phones made bySamsung Electronics. It was intended to use thefront-facing camera (the selfie camera) to track the user's fingers, enabling the user to type on an "invisible keyboard" on a table or another surface in front of the phone.[26][27] It was introduced at theConsumer Electronics Show 2020[28][29][30] and was expected to be launched in the same year but never did.
The basic idea of a virtual keyboard in anaugmented reality environment is to give the user a text input possibility. A common approach is to render a flat keyboard into augmented reality, e.g. using theUnity TouchScreenKeyboard. TheMicrosoftHoloLens enables the user to point at letters on the keyboard by moving his head.[31]
Another approach was researched by the Korean KJIST U-VR Lab in 2003. Their suggestion was to use wearables to track the finger motion to replace a physical keyboard with virtual ones. They also tried to give audiovisual feedback to the user, when a key got hit. The basic idea was to give the user a more natural way to enter text, based on what he is used to.[32]
The Magic Leap 1 fromMagic Leap implements a virtual keyboard with augmented reality.[33]
The challenge, as inaugmented reality, is to give the user the possibility to enter text in a completely virtual environment. Most augmented reality systems don'ttrack the hands of the user. So many available systems provide the possibility to point at letters.[34]
In September 2016,Google released a virtual keyboard app for theirDaydream[35] virtual reality headset. To enter text, the user points at letters using the controller.[36]
In February 2017,Logitech presented an experimental approach to bring their keyboards into the virtual environment. TheVive Tracker and the Logitech G gaming keyboard track finger movement without wearing a glove. Fifty kits were sent to exclusive developers, enabling them, in combination with Logitech's BRIDGE developers kit, to test and experiment with the new technology.[37][38]
Virtual keyboards may be used in some cases to reduce the risk ofkeystroke logging.[39] For example,Westpac's online banking service uses a virtual keyboard for password entry, as doesTreasuryDirect (see picture). It is more difficult formalware to monitor the display and mouse to obtain the data entered via the virtual keyboard than it is to monitor real keystrokes. However, it is possible, for example by recordingscreenshots at regular intervals or upon each mouse click.[40][41]
Virtual keyboards may preventkeystroke inference attacks but can also act as keyloggers throughtelemetry and can leak sensitive information through text suggestions.[42]
The use of an on-screen keyboard on which the user "types" with mouse clicks can increase the risk of password disclosure byshoulder surfing, because:
{{cite journal}}
:Cite journal requires|journal=
(help)CS1 maint: multiple names: authors list (link){{cite journal}}
:Cite journal requires|journal=
(help)CS1 maint: multiple names: authors list (link){{cite journal}}
:Cite journal requires|journal=
(help)