- Virtual keyboard
-
This article is about the type of software. For virtual keyboard that can be projected and touched on any surface, see projection keyboard.
A virtual keyboard is a software component that allows a user to enter characters. A virtual keyboard can usually be operated with multiple input devices, which may include a touchscreen, an actual keyboard and a computer mouse.
Contents
Types
On a desktop PC, one purpose of a virtual keyboard is to provide an alternative input mechanism for users with disabilities who cannot use a physical keyboard. Another major use for an on-screen keyboard is for bi- or multi-lingual users who switch frequently between different character sets or alphabets. Although hardware keyboards are available with dual keyboard layouts (for example Cyrillic/Latin letters in various national layouts), the on-screen keyboard provides a handy substitute while working at different stations or on laptops, which seldom come with dual layouts.
The standard on-screen keyboard utility on most windowing 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 systray alerts the user to the currently active layout.
Although Linux supports this fast manual keyboard-layout switching function, many 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. Multi-lingual, multi-alphabet users should choose a linux on-screen keyboard that support this feature instead, like Florence.
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 a pocket computer, personal digital assistant (PDA), tablet computer or touchscreen equipped mobile phone. It is common for the user to input text by tapping a virtual keyboard built into the operating system of the device. Virtual keyboards are also used as features of emulation software for systems that have fewer buttons than a computer keyboard would have.
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]
- virtual keyboards to allow input from a variety of input devices, such as a computer mouse, switch or other assistive technology device.
An optical virtual keyboard was invented and patented by IBM engineers in 2008.[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.
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, as does TreasuryDirect (see picture). It is more difficult for malware 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 recording screenshots at regular intervals or upon each mouse click.
To be of any use, these virtual keyboards must be an integral part of an application or web page. A generic virtual keyboard—which will work with any program, including those that are not explicitly written for it—will not defeat a key logging program because the virtual keyboard will generate the same keyboard events as a real keyboard, and those events can be trapped and logged just as real keyboard inputs can.[5][6]
The use of an on-screen keyboard on which the user "types" with mouse clicks can increase the risk of password disclosure by shoulder 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, e.g. 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.
Notes
- ^ EP application 546704 Thomas H. Speeter/AT&T: "Intelligent work surfaces" priority date 13.12.1991
- ^ DE application 19734511 B. Kämmerer, C, Maggioni, H. Röttger/SIEMENS AG: "Kommunikationseinrichtung" filing date 08.08.1997
- ^ WO 0003348 C. Maggioni, B. Kämmerer/SIEMENS AG: "Projection Device / Vorrichtung zur Projektion" priority date 10.07.1998
- ^ a b EP 0554492 Hans E. Korth: "Method and device for optical input of commands or data" filing date 07.02.1992
- ^ Lake Software: Does not defeat keyloggers!
- ^ Smith, David A. (2006-06-21), Outsmarting Keyloggers, PC Magazine, http://www.pcmag.com/article2/0,2817,1978513,00.asp, retrieved 2009-11-16
External links
- The CALL Centre (Communication Aids for Language and Learning): Introducing On-screen Keyboards.
- Global Assistive Technology Wiki: On Screen Keyboards
- Adaptive Technology Resource Centre (University of Toronto): On-Screen Keyboards.
- GNOME On-Screen Keyboard (gok).
- The GNOME Project: Caribou (an alternative for gok, with word prediction).
- Florence (another open-source alternative for gok).
- Kalpanik (a virtual keyboard for Indian languages).
- Microsoft: Using On–Screen Keyboard
- Button Board (an online keyboard for surfing with a mouse).
Categories:- Assistive technology
- Computer keyboards
- Pointing-device text input
- Touch user interfaces
Wikimedia Foundation. 2010.