Virtual keyboard
From Wikipedia, the free encyclopedia
This article is about the type of computer program. For virtual keyboard that can be projected and touched on any
surface, see Projection keyboard.
"OnBoard" Virtual Keyboard shipped with Ubuntu Linux
A virtual keyboard is a software and/or hardware component that allows a user to enter characters. A virtual
keyboard can usually be operated with multiple input devices, which may include an actual keyboard, a computer
mouse, a headmouse, and an eyemouse.
On a desktop PC, one purpose of a virtual keyboard is to provide an alternative mechanism for disabled users that
cannot use a physical keyboard. Another major use for an on-screen keyboard is for bi- or multi-lingual users, who
continually need to switch between different character sets and/or alphabets. Although hardware keyboards are
available with dual layouts (for example Cyrillic/Latin letters in various national layouts), the on-screen keyboard
provides an handy substitute while working at different stations or on laptops, which seldom come with dual layouts.
The standard on-screen keyboard utility on most Windows systems allows hot-key switching between layouts from
the physical keyboard (typically alt-shift but this is user configurable), simultaneously changing both the hardware
and the software keyboard layout. In addition, a symbol in the sys-tray alerts the user to the currently active layout.
Although Linux supports this fast manual keyboard-layout switching function, most popular Linux on-screen
keyboards such as gtkeyboard, Matchbox-keyboard or Kvkbd do not react correctly. Kvkbd for example defines its
visible layout according to the first defined layout in Keyboard Preferences rather than the default layout, causing
the application to output incorrect characters if the first layout on the list is not the default. Activating a hot-key
layout switch will cause the application to change its output according to another keyboard layout, but the visible
on-screen layout doesn't change, leaving the user blind as to which keyboard layout he is using. Until these
deficiencies are corrected, Linux on-screen keyboards remain of limited usefulness for multi-lingual / multi-alphabet
users.
Virtual On-Screen Keyboardfor MS Windows
Virtual keyboards can be categorized by the following aspects:
physical keyboards with distinct keys comprising electronically changeable displays integrated in the
keypads
virtual keyboards with touchscreen keyboard layouts or sensing areas [1]
optically projected keyboard layouts or similar arrangements of "keys" or sensing areas [2][3]
optically detected human hand and finger motions[4]
JavaScript virtual keyboards used to translate the input from one keyboard layout to another
In stylus-operated personal data assistants, which lack a physical keyboard, it is common for the user to input text by
tapping a virtual keyboard built into the operating system of the PDA. Virtual keyboards are also used as features
of emulation software for systems that have fewer buttons than a computer keyboard would have.
An optical virtual keyboard has been invented and patented by IBM engineers in 1992[4]. It optically detects and
analyses human hand and finger motions and interprets them as operations on a physically non-existent input device
like a surface having painted keys. In that way it allows to emulate unlimited types of manually operated input
devices such as a 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 speed, simplicity and unambiguity of manual
data input.
On the Internet, various JavaScript virtual keyboards have been created, allowing users to type their own languages
on foreign keyboards, particularly in Internet cafes.
[edit]Security considerations
Virtual keyboards may be used in some cases to reduce the risk of keystroke logging. For
example, Westpac’s online banking service uses a virtual keyboard for the password entry. Although it is technically
possible for malware to monitor the display and mouse to obtain the data entered via the virtual keyboard, it is
significantly harder than monitoring real keystrokes.
However, 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:
An observer can typically watch the screen more easily (and less suspiciously) than the keyboard, and see
which characters the mouse moves to.
Some implementations of the on-screen keyboard may give visual feedback of the "key" clicked, eg by
changing its colour briefly. This makes it much easier for an observer to read the data from the screen. In the
worst case, the implementation may leave the focus on the most recently clicked "key" until the next virtual key
is clicked, thus allowing the observer time to read each character even after the mouse starts moving to the next
character.
A user may not be able to "point and click" as fast as they could type on a keyboard, thus making it easier
for the observer.