According to Apple, Systems, methods, and devices for interpreting manual swipe gestures as input in connection with touch-sensitive user interfaces that include virtual keyboards are disclosed herein. These allow for a user entering text using the virtual keyboard to perform certain functions using swipes across the key area rather than tapping particular keys. For example, leftward, rightward, upward, and downward swipes can be assigned to inserting a space, backspacing, shifting (as for typing capital letters), and inserting a carriage return and/or new line. Various other mappings are also described. The described techniques can be used in conjunction with a variety of devices, including handheld devices that include touch-screen interfaces, such as desktop computers, tablet computers, notebook computers, handheld computers, personal digital assistants, media players, mobile telephones, and combinations thereof.
Here's Apple's background and summary of the invention: "There currently exist various types of input devices for performing operations in electronic devices. The operations, for example, may correspond to moving a cursor and making selections on a display screen. The operations may also include paging, scrolling, panning, zooming, etc. The input devices may include, for example, buttons, switches, keyboards, mice, trackballs, pointing sticks, joy sticks, touch surfaces (including touch pads and touch screens, etc.), and other types of input devices.
"Various types of touch surfaces and touch screens are described the related applications cross-referenced above. Touch screens may include a display, a touch panel, a controller, and a software driver. The touch panel may include a substantially transparent panel that incorporates touch-sensing circuitry. The touch panel can be positioned in front of a display screen or constructed integrally with a display screen so that the touch sensitive surface corresponds to all or a portion of the viewable area of the display screen. The touch panel can detect touch events and send corresponding signals to the controller. The controller can process these signals and send the data to the computer system. The software driver can translate the touch events into computer events recognizable by the computer system. Other variations of this basic arrangement are also possible.
"The computer system can comprise a variety of different device types, such as a pocket computer, handheld computer, or wearable computer (such as on the wrist or arm, or attached to clothing, etc.). The host device may also comprise devices such as personal digital assistants (PDAs), portable media players (such as audio players, video players, multimedia players, etc.), game consoles, smart phones, telephones or other communications devices, navigation devices, exercise monitors or other personal training devices, or other devices or combination of devices.
"In some embodiments, touch screens can include a plurality of sensing elements. Each sensing element in an array of sensing elements (e.g., a touch surface) can generate an output signal indicative of the electric field disturbance (for capacitance sensors), force (for pressure sensors), or optical coupling (for optical sensors) at a position on the touch surface corresponding to the sensor element. The array of pixel values can be considered as a touch, force, or proximity image. Generally, each of the sensing elements can work independently of the other sensing elements so as to produce substantially simultaneously occurring signals representative of different points on the touch screen 120 at a particular time.
"Recently, interest has developed in touch-sensitive input devices, such as touch screens, for hand-held or other small form factor devices.
"The present invention can relate, for example, to a method of interpreting swipe gesture input to a device having a touch-sensitive input. The touch-sensitive input can include a virtual keyboard area, in which taps of a touch object generate text input. The method can include detecting a swipe gesture across the virtual keyboard, determining a direction of the swipe gesture, and performing a predetermined function determined by the direction of the swipe gesture. A swipe gesture can include a touchdown of a touch object followed by a sliding motion of the touch object across the virtual keyboard.
"Detecting a swipe gesture can include acquiring touch image data from the touch-sensitive device, processing the image to generate one or more finger path events, determining a displacement of the one or more finger path events, and detecting a swipe gesture if the displacement exceeds a predetermined threshold. If the displacement does not exceed the threshold, the input can be interpreted as a conventional tap. The time of the motion associated with the input can also be compared to a maximum swipe gesture timeout threshold. If the timeout threshold is exceeded, the input can be interpreted as a conventional tap.
"Determining the direction of a swipe gesture can include comparing a magnitude of a vertical displacement of the swipe gesture to a magnitude of a horizontal displacement of the swipe gesture. A swipe gesture can be interpreted as a vertical swipe gesture if the vertical displacement is greater than the horizontal displacement. Alternatively, a swipe gesture can be interpreted as a horizontal swipe gesture if the vertical displacement is less than the horizontal displacement. Alternatively, determining the direction of a swipe gesture can include comparing a ratio of the vertical displacement of the swipe gesture to the horizontal displacement of the swipe gesture to a predetermined threshold. A swipe gesture can be interpreted as a vertical swipe gesture if the ratio is greater than the threshold, while a swipe gesture can be interpreted as a horizontal swipe gesture if the ratio is less than the threshold.
"A vertical swipe gesture can be interpreted as an upward or downward swipe gesture depending on the sign (i.e., positive or negative) of the vertical displacement. A horizontal swipe gesture can be interpreted as a rightward or leftward swipe gesture depending on the sign (i.e., positive or negative) of the horizontal displacement.
"A variety of functions can be invoked using the swipe gestures. For example, the swipe gestures can be used for spacing, erasing, or punctuation insertion. Feedback can be presented to the user indicating the function performed. The functions performed by particular swipe gestures may also be customized by the user.
"Particular swipe gestures that can be linked to particular functions can include using a rightward swipe gesture to invoke a space, using a leftward swipe gesture to invoke a backspace, using a downward swipe gesture to invoke a carriage return and/or a new line, and using an upward swipe gesture to invoke a shift. Additionally, a second upward swipe gesture can be used to invoke a caps lock. The second upward swipe can either be performed sequentially to the first upward swipe or concurrently with the first upward swipe, i.e., as a multi-fingered swipe gesture. Other alternative mappings of swipe gestures to functions include using an upward swipe gesture to insert a punctuation character, such as a period or apostrophe.
"Multi-fingered swipe gestures can be used to invoke additional functionality. For example, a multi-fingered leftward swipe can be used to invoke deletion of a word in a manner analogous to using a leftward swipe gesture as a backspace. Similarly, a multi-fingered rightward swipe can be used to insert a punctuation character and a space, such as a period and a space at the end of a sentence. Swipe gestures can also be used to invoke alternative keyboards containing punctuation, numbers, or special symbols of various types.
"The present invention can also relate to a computer system including a multi-touch interface that has been adapted and/or programmed to detect and process swipe gesture input in the various ways described above. The computer system can take the form of a desktop computer, a tablet computer, a notebook computer, a handheld computer, a personal digital assistant, a media player, a mobile telephone, and combinations of one or more of these items. The multi-touch interface can include a touch screen.
"In some embodiments, the computer system can include a touch image processor that receives touch image data from the multi-touch interface and generates finger path tracking events. These finger path tracking events can be processed by a keyboard tap recognizer and a keyboard slide recognizer, which generate key tap and swipe events, respectively, in response to the touch input received. A keyboard input manager can receive the key tap events and the keyboard swipe events and generates text events for an application running on the computer system and feedback popup graphics to be displayed on a display of the computer system."
The inventors are Wayne Carl Westerman, Henri Lamiraux and Matthew Evan Dreisbach. The graphic below depicts a front plan view of a user typing using an exemplary electronic device with touch screen display in accordance with an embodiment of the present invention.