WO1997036225A1 - Object position detector with edge motion feature and gesture recognition - Google Patents

Object position detector with edge motion feature and gesture recognition Download PDF

Info

Publication number
WO1997036225A1
WO1997036225A1 PCT/US1997/005333 US9705333W WO9736225A1 WO 1997036225 A1 WO1997036225 A1 WO 1997036225A1 US 9705333 W US9705333 W US 9705333W WO 9736225 A1 WO9736225 A1 WO 9736225A1
Authority
WO
WIPO (PCT)
Prior art keywords
die
time
sensing plane
signals
finger
Prior art date
Application number
PCT/US1997/005333
Other languages
French (fr)
Inventor
David W. Gillespie
Timothy P. Allen
Ralph Wolf
Shawn Day
Original Assignee
Synaptics, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=24498252&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=WO1997036225(A1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Synaptics, Inc. filed Critical Synaptics, Inc.
Priority to KR1019970705125A priority Critical patent/KR100277147B1/en
Priority to EP97920008A priority patent/EP0829043A1/en
Priority to JP53467797A priority patent/JP3764171B2/en
Publication of WO1997036225A1 publication Critical patent/WO1997036225A1/en
Priority to HK98112933A priority patent/HK1017934A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • G06F3/04166Details of scanning methods, e.g. sampling time, grouping of sub areas or time sharing with display driving
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03547Touch pads, in which fingers can move on a surface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • G06F3/0418Control or interface arrangements specially adapted for digitisers for error correction or compensation, e.g. based on parallax, calibration or alignment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/044Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by capacitive means
    • G06F3/0445Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by capacitive means using two or more layers of sensing electrodes, e.g. using two layers of electrodes separated by a dielectric layer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/044Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by capacitive means
    • G06F3/0446Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by capacitive means using a grid-like structure of electrodes in at least two directions, e.g. using row and column electrodes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/047Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means using sets of wires, e.g. crossed wires
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0489Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using dedicated keyboard keys or combinations thereof
    • G06F3/04892Arrangements for controlling cursor position based on codes indicative of cursor displacements from one discrete location to another, e.g. using cursor control keys associated to different directions or using the tab key
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/28Recognition of hand or arm movements, e.g. recognition of deaf sign language
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/041Indexing scheme relating to G06F3/041 - G06F3/045
    • G06F2203/041012.5D-digitiser, i.e. digitiser detecting the X/Y position of the input means, finger or stylus, also when it does not touch, but is proximate to the digitiser's interaction surface and also measures the distance of the input means within a short range in the Z direction, possibly with a separate measurement setup
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04808Several contacts: gestures triggering a specific function, e.g. scrolling, zooming, right-click, when the user establishes several contacts with the surface simultaneously; e.g. using several fingers or a combination of fingers and pen

Definitions

  • the present invention relates to object position sensing transducers and systems. More particularly, the present invention relates to object position recognition useful in applications such as cursor movement for computing devices and other applications, and especially to cursor movement with enhanced edge-motion and gesture-recognition features.
  • a mouse While extremely popular as a position indicating device, a mouse has mechanical parts and requires a surface upon which to roll its position ball. Furthermore, a mouse usually needs to be moved over long distances for reasonable resolution. Finally, a mouse requires the user to lift a hand from the keyboard to make the cursor movement, thereby upsetting the prime purpose, which is usually typing on the computer.
  • Trackball devices are similar to mouse devices. A major difference, however is that, unlike a mouse device, a trackball device does not require a surface across which it must be rolled. Trackball devices are still expensive, have moving parts, and require a relatively heavy touch as do the mouse devices. They are also large in size and doe not fit well in a volume- sensitive application like a laptop computer.
  • Resistive-membrane position sensors are known and used in several applications. However, they generally suffer from poor resolution, the sensor surface is exposed to the user and is thus subject to wear. In addition, resistive-membrane touch sensors are relatively expensive.
  • a one-surface approach requires a user to be grounded to the sensor for reliable operation. This cannot be guaranteed in portable computers.
  • An example of a one- surface approach is the UnMouse product by MicroTouch, of Wilmington, MA A two-surface approach has poorer resolution and potentially will wear out very quickly in time.
  • Resistive tablets are taught by United States Patent No.4,680,430 to Yoshikawa, United States Patent No. 3,497,617 to Ellis and many others.
  • the drawback of all such approaches is the high power consumption and the high cost of the resistive membrane employed.
  • SAW Surface Acoustic Wave
  • Strain gauge or pressure plate approaches are an interesting position sensing technology, but suffer from several drawbacks.
  • This approach may employ piezo-electric transducers.
  • One drawback is that the piezo phenomena is an AC phenomena and may be sensitive to the user's rate of movement
  • strain gauge or pressure plate approaches are somewhat expensive because special sensors are required.
  • Optical approaches are also possible but are somewhat limited for several reasons. All would require light generation which will require external components and increase cost and power drain. For example, a "finger-breaking" infra-red matrix position detector consumes high power and suffers from relatively poor resolution.
  • Desirable attributes of such a device are low power, low profile, high resolution, low cost, fast response, and ability to operate reliably when the finger carries electrical noise, or when the touch surface is contaminated with dirt or moisture.
  • United States Patent No. 4,639,720 to Rympalski teaches a tablet for sensing the position of a stylus.
  • the stylus alters the transcapacitance coupling between row and column electrodes, which are scanned sequentially.
  • United States Patent No. 4,736,191 to Matzke teaches a radial electrode arrangement under the space bar of a keyboard, to be activated by touching with a thumb. This patent teaches the use of total touch capacitance, as an indication of the touch pressure, to control the velocity of cursor motion. Pulsed sequential polling is employed to address the effects of electrical interference.
  • Gruaz uses a drive and sense signal set (2 signals) in the touch matrix and like Evans relies on the attenuation effect of a finger to modulate the drive signal.
  • the touch matrix is sequentially scanned to read the response of each matrix line.
  • An inte ⁇ olation program selects the two largest adjacent signals in both dimensions to determine the finger location, and ratiometrically determines the effective position from those 4 numbers.
  • Patent No. 5,305,017 applies to a touch pad system a variation of the virtual dipole approach of Greanias.
  • Ge ⁇ heide teaches the application of an oscillating potential of a given frequency and phase to all electrodes on one side of the virtual dipole,and an oscillating potential of the same frequency and opposite phase to those on the other side.
  • Electronic circuits develop a "balance signal" which is zero when no finger is present, and which has one polarity if a finger is on one side of the center of the virtual dipole, and the opposite polarity if the finger is on the opposite side.
  • the virtual dipole is scanned sequentially across the tablet. Once the finger is located, it is "tracked” by moving the virtual dipole toward the finger once the finger has moved more than one row or column.
  • the virtual dipole method operates by generating a balance signal that is zero when the capacitance does not vary with distance, it only senses the perimeter of the finger contact area, rather than the entire contact area. Because the method relies on synchronous detection of the exciting signal, it must average for long periods to reject electrical interference, and hence it is slow. The averaging time required by this method, together with the necessity to search sequentially for a new finger contact once a previous contact is lost, makes this method, like those before it, fall short of the requirements for a fast pointing device that is not affected by electrical interference.
  • Ge ⁇ heide use a two signal drive and sense set.
  • the driving and sensing is done on the same line. This allows the row and column sections to be symmetric and equivalent This in turn allows independent calibration of all signal paths, which makes board layout simpler and less constraining, and allows for more unique sensor topologies.
  • the GlidePoint supports basic tap, double-tap, and drag gestures to simulate actions on a primary mouse button. It does not support multiple-finger gestures, nor are there gestures for simulating secondary button clicks. No information is known about the implementation methods employed in the GlidePoint. However, the GlidePoint is known to have difficulty with double-taps, one of the problems addressed by the present invention. The GlidePoint exhibits a hesitation on each finger-motion stroke which may be an attempt to stabilize the cursor during tap gestures. Also, the GhdePoint must rely on physical switches or extremely high gain or acceleration in order to allow drags over long distances.
  • Yet another object of the present invention is to provide a two-dimensional capacitive sensing system equipped with a separate set of drive/sense electronics for each row and for each column of a capacitive tablet, wherein all row electrodes are sensed simultaneously, and all column electrodes are sensed simultaneously and wherein the information defining the location of a finger or other conductive object is processed in digital form.
  • a further object of the invention is to provide for the recognition of a drag extension gesture made by a finger or other object on a touch-sensor pad in a manner which permits control of large cursor excursions from a small sensing plane with a single gesture.
  • a further object of the invention is to provide for the recognition of gestures made by a finger or other object on a touch-sensor pad in a manner which compensates for unintended motion of the finger or other object during expression of the gesture.
  • Yet another object of the present invention is to provide for the recognition of multiple-finger gestures and for simulating secondary button clicks.
  • It is a further object of the present invention is to provide for the recognition of the difference between gestures made by novice and expert users.
  • BRIEF DESCRIPTION OF THE INVENTION With the advent of very high levels of integration, it has become possible to integrate many channels of driving/sensing electronics into one integrated circuit, along with the control logic for operating them, and the interface electronics to allow the pointing device to communicate directly with a host microprocessor.
  • the present invention uses adaptive analog techniques to overcome offset and scale differences between channels, and can thus sense either transcapacitance or self-capacitance of all tablet rows or columns in parallel. This parallel- sensing capability, made possible by providing one set of electronics per row or column, allows the sensing cycle to be extremely short, thus allowing fast response while still maintaining immunity to very high levels of electrical interference.
  • the present invention comprises a position-sensing technology particularly useful for applications where finger position information is needed, such as in computer "mouse" or trackball environments.
  • the position-sensing technology of the present invention has much more general application than a computer mouse, because its sensor can detect and report if one or more points are being touched.
  • the detector can sense the pressure of the touch.
  • a position sensing system includes a position sensing transducer comprising a touch-sensitive surface disposed on a substrate, such as a printed circuit board, including a matrix of conductive lines.
  • a first set of conductive lines runs in a first direction and is insulated from a second set of conductive lines running in a second direction generally perpendicular to the first direction.
  • An insulating layer is disposed over the first and second sets of conductive lines. The insulating layer is thin enough to promote significant capacitive coupling between a finger placed on its surface and the first and second sets of conductive lines.
  • Sensing electronics respond to the proximity of a finger, conductive object, or an object of high dielectric constant (i.e., greater than about 5) to translate the capacitance changes of the conductors caused by object proximity into digital information which is processed to derive position and touch pressure information. Its output is a simple X, Y and pressure value of the one object on its surface.
  • fingers are to be considered interchangeable with conductive objects and objects of high dielectric constant.
  • Parallel drive/sense techniques allow input samples to be taken simultaneously, thus all channels are affected by the same phase of an interfering electrical signal, greatly simplifying the signal processing and noise filtering.
  • Y lines of the sensor matrix are simultaneously moved, while the voltages of the X lines are held at a constant voltage to obtain a complete set of sampled points simultaneously giving a profile of the finger in the other dimension.
  • the voltages on all of the X lines of the sensor matrix are simultaneously moved in a positive direction, while the voltages of the Y lines are moved in a negative direction.
  • the voltages on all of the X lines of the sensor matrix are simultaneously moved in a negative direction, while the voltages of the Y lines are moved in a positive direction.
  • both embodiments then take these profiles and derive a digital value representing the centroid for X and Y position and derive a second digital value for the Z pressure information.
  • the digital information may be directly used by a host computer. Analog processing of the capacitive information may also be used according to the present invention.
  • the position sensor of these embodiments can only report the position of one object on its sensor surface. If more than one object is present, the position sensor of this embodiment computes the centroid position of the combined set of objects. However, unlike prior art, because the entire pad is being profiled, enough information is available to discern simple multi- finger gestures to allow for a more powerful user interface.
  • a variety of noise reduction techniques are integrated into the system.
  • a capacitance measurement technique which is easier to calibrate and implement is employed.
  • the control of cursor motion may be changed to provide "edge motion" to allow control of large cursor excursions on a display screen from a single gesture executed on a small sensing plane.
  • a drag extension gesture is recognized by the host which permits the control of large cursor excursions on a display screen from a single gesture executed on a small sensing plane.
  • a number of gestures made by a finger or other object on the touch-sensor pad are recognized and communicated to a host. Recognition of whether certain gestures are made by novice or expert users is also provided. Compensation for unintended motion of the finger or other object during expression of the gestures is provided.
  • FIG. 1 is an overall block diagram of the capacitive position sensing system of the present invention.
  • FIG. 2a is a top view of an object position sensor transducer according to a presently preferred embodiment of the invention showing the object position sensor surface layer including a top conductive trace layer and conductive pads connected to a bottom trace layer.
  • FIG. 2b is a bottom view of the object position sensor transducer of FIG. 2a showing the bottom conductive trace layer.
  • FIG. 2c is a composite view of the object position sensor transducer of FIGS. 2a and 2b showing both the top and bottom conductive trace layers.
  • FIG. 2d is a cross-sectional view of the object position sensor transducer of FIGS. 2a-
  • FIG. 3 is a block diagram of sensor decoding electronics which may be used with the sensor transducer in accordance with a preferred embodiment of the present invention.
  • FIG. 4a is a simplified schematic diagram of a charge integrator circuit which may be used in the present invention.
  • FIG. 4b is an illustrative schematic diagram of the charge integrator circuit of FIG. 4a.
  • FIG. 5 is a timing diagram of the operation of charge integrator circuit of FIGS. 4a and 4b.
  • FIG. 6 is a schematic diagram of an illustrative filter and sample/hold circuit for use in the present invention.
  • FIG. 7 is a more detailed block diagram of a presently preferred arrangement of A/D converters for use in the present invention.
  • FIG. 8 is a block diagram of an illustrative arithmetic unit which may be used in the present invention.
  • FIG. 9 is a block diagram of a calibration unit which may be used with the arithmetic unit of FIG. 8.
  • FIG. 10 is a schematic diagram of a bias voltage generating circuit useful in the present invention.
  • FIG. 11 is a diagram of the sensing plane illustrating the edge motion feature of the object position sensor of the present invention.
  • FIG. 12A is a schematic diagram illustrating a first hardware implementation of the determination of whether a finger or other object is present in the peripheral regions of the sensing plane.
  • FIG. 12B is a schematic diagram illustrating a first hardware implementation of the determination of whether a finger or other object is present in the peripheral regions of the sensing plane.
  • FIG. 13 is a schematic diagram illustrating hardware implementation of the edge motion feature of the present invention.
  • FIG. 14 is a more detailed block diagram of gesture unit 20 of FIG. 1.
  • FIGS. 15a through 15g are timing diagrams illustrating some of the gestures which may be recognized according to the present invention.
  • FIGS. 16a and 16b are diagrams illustrating two tap zone shapes which may be used on sensor pads according to the present invention.
  • FIGS 17a through 17f comprise a flowchart illustrating the operation of the tap unit of
  • FIGS. 18a through 18c comprise a flowchart illustrating the operation of the zigzag unit of FIG. 14.
  • FIG. 19 is a timing diagram illustrating a "push" gesture according to the present invention.
  • FIG. 20 is a flowchart illustrating the operation of the push unit of FIG. 14.
  • FIG. 21 is a block diagram of an illustrative LiftJump suppressor circuit which may be used in gesture recognition according to the present invention.
  • the present invention brings together in combination a number of unique features which allow for new applications not before possible. Because the object position sensor of the present invention has very low power requirements, it is beneficial for use in battery operated or low power applications such as lap top or portable computers . It is also a very low cost solution, has no moving parts (and is therefore virtually maintenance free), and uses the existing printed circuit board traces for sensors. The sensing technology of the present invention can be integrated into a computer motherboard to even further lower its cost in computer applications.
  • the senor can be part of an already existent circuit board.
  • the sensor technology of the present invention is useful in lap top or portable applications where volume is an important consideration.
  • the sensor technology of the present invention requires circuit board space for only a single sensor interface chip that can interface directly to a microprocessor, plus the area needed on the printed circuit board for sensing.
  • Capacitive position sensing system 6 can accurately determine the position of a finger 8 or other conductive object proximate to or touching a sensing plane 10. The capacitance of a plurality of conductive lines running in a first direction
  • X is sensed by X input processing circuitry 12 and the capacitance of a plurality of conductive lines running in a second direction (e.g., "Y") is sensed by Y input processing circuitry 14.
  • the sensed capacitance values are digitized in both X input processing circuitry 12 and Y input processing circuitry 14.
  • the outputs of X input processing circuitry 12 and Y input processing circuitry 14 are presented to arithmetic unit 16, which uses the digital information to derive digital information representing the position and pressure of the finger 8 or other conductive object relative to the sensing plane 10.
  • arithmetic unit 16 The X, Y, and Z outputs of arithmetic unit 16 are directed to motion unit 18 which provides the cursor motion direction signals to the host computer.
  • host may mean a stand-alone computer such as an IBM or compatible PC or computer made by Apple Computers, hand-held control units, personal digital assistants, remote communication devices, or the like, or to any other devices or systems which can take as input the output of a touch tablet.
  • the X, Y, and Z outputs of arithmetic unit 16 are also directed to gesture unit 20, which is used to recognize certain finger gestures performed by a user on sensing plane 10.
  • gesture unit 20 may produce a signal to motion unit 18 to enable the edge motion feature of the present invention based on the state of gesture processing.
  • the sensor material can be anything that allows creation of a conductive X/Y matrix of pads. This includes not only standard PC boards, but also includes but is not limited to flexible PC boards, conductive elastomer materials, silk-screened conductive lines, and piezo-electric Kynar plastic materials. This renders it useful as well in any portable equipment apphcation or in human interface where the sensor needs to be molded to fit within the hand.
  • the sensor can be conformed to any three dimensional surface. Copper can be plated in two layers on most any surface contour producing the sensor. This will allow the sensor to be adapted to the best ergonomic form needed for any particular application. This coupled with the "light-touch" feature will make it effortless to use in many applications.
  • the sensor can also be used in an indirect manner, i.e it can have an insulating foam material covered by a conductive layer over the touch sensing surface and be used to detect any object (not just conductive) that presses against it's surface.
  • Small sensor areas are practical, i.e., a presently conceived embodiment takes about 1.5"x 1.5" of area, however those of ordinary skill in the art will recognize that the area is scaleable for different applications.
  • the matrix area is scaleable by either varying the matrix trace spacing or by varying the number of traces. Large sensor areas are practical where more information is needed.
  • the sensor technology of the present invention also provides finger pressure information.
  • This additional dimension of information may be used by programs to control special features such as "brush- width” modes in Paint programs, special menu accesses, etc., allowing provision of a more natural sensory input to computers. It has also been found useful for implementing "mouse click and drag” modes and for simple input gestures.
  • the user will not even have to touch the surface to generate the minimum reaction. This feature can greatly minimize user strain and allow for more flexible use.
  • the sense system of the present invention depends on a transducer device capable of providing position and pressure information regarding the object contacting the transducer.
  • a transducer device capable of providing position and pressure information regarding the object contacting the transducer.
  • FIGS. 2a-2d top, bottom, composite, and cross-sectional views, respectively, are shown of a presently -preferred sensing plane 10 comprising a touch sensor array 22 for use in the present invention. Since capacitance is exploited by this embodiment of the present invention, the surface of touch sensor array 22 is designed to maximize the capacitive coupling to a finger or other conductive object.
  • a presently preferred touch sensor array 22 according to the present invention comprises a substrate 24 including a set of first conductive traces 26 disposed on a top surface 28 thereof and run in a first direction to comprise row positions of the array.
  • a second set of conductive traces 30 are disposed on a bottom surface 32 thereof and run in a second direction preferably orthogonal to the first direction to form the column positions of the array.
  • the top and bottom conductive traces 26 and 30 are alternately in contact with periodic sense pads 34 comprising enlarged areas, shown as diamonds in FIGS. 2a-2c. While sense pads 34 are shown as diamonds in FIGS. 2a-2c, any shape, such as circles, which allows them to be closely packed is equivalent for pu ⁇ oses of this invention.
  • first conductive traces 26 will be referred to as being oriented in the "X” or “row” direction and may be referred to herein sometimes as “X lines” and the second conductive traces 30 will be referred to as being oriented in the "Y” or “column” direction and may be referred to herein sometimes as "Y lines”.
  • sense pads 34 The number and spacing of these sense pads 34 depends upon the resolution desired. For example, in an actual embodiment constructed according to the principles of the present invention, a 0.10 inch center-to-center diamond-shaped pattern of conductive pads disposed along a matrix of 15 rows and 15 columns of conductors is employed. Every other sense pad 34 in each direction in the pad pattern is connected to conductive traces on the top and bottom surfaces 28 and 32, respectively of substrate 24.
  • Substrate 24 may be a printed circuit board, a flexible circuit board or any of a number of available circuit interconnect technology structures. Its thickness is unimportant as long as contact may be made therethrough from the bottom conductive traces 30 to their sense pads 34 on the top surface 28.
  • the printed circuit board comprising substrate 24 can be constructed using standard industry techniques. Board thickness is not important. Connections from the conductive pads 34 to the bottom traces 30 may be made employing standard plated-through hole techniques well known in the printed circuit board art.
  • the substrate material 24 may have a thickness on the order of 0.005 to 0.010 inches. Then the diamonds on the upper surface 28 and the plated through holes that connect to the lower surface traces 30, can be omitted, further reducing the cost of the system.
  • Insulating layer 36 is disposed over the sense pads 34 on top surface 28 to insulate a human finger or other object therefrom.
  • Insulating layer 36 is preferably a thin layer (i.e., approximately 5 mils) to keep capacitive coupling large and may comprise a material, such as mylar, chosen for its protective and ergonomic characteristics.
  • the term "significant capacitive coupling" as used herein shall mean capacitive coupling having a magnitude greater than about 0.5 pF.
  • the first capacitive effect is trans-capacitance, or coupling between sense pads 34
  • the second capacitive effect is self -capacitance, or coupling to virtual ground.
  • Sensing circuitry is coupled to the sensor array 22 of the present invention and responds to changes in either or both of these capacitances. This is important because the relative sizes of the two capacitances change greatly depending on the user environment
  • the ability of the present invention to detect changes in both self capacitance and trans-capacitance results in a very versatile system having a wide range of applications.
  • a position sensor system including touch sensor array 22 and associated position detection circuitry will detect a finger position on a matrix of printed circuit board traces via the capacitive effect of finger proximity to the sensor array 22.
  • the position sensor system will report the X, Y position of a finger placed near the sensor array 22 to much finer resolution than the spacing between the row and column traces 26 and 30.
  • the position sensor according to this embodiment of the invention will also report a Z value proportional to the outline of that finger and hence indicative of the pressure with which the finger contacts the surface of insulating layer 36 over the sensing array 22.
  • a very sensitive, light- touch detector circuit may be provided using adaptive analog and digital NLSI techniques.
  • the circuit of the present invention is very robust and calibrates out process and systematic errors.
  • the detector circuit of the present invention will process the capacitive input information and provide digital information which may be presented directly to a microprocessor.
  • sensing circuitry is contained on a single sensor processor integrated circuit chip.
  • the sensor processor chip can have any number of X and Y "matrix" inputs. The number of X and Y inputs does not have to be equal.
  • the Integrated circuit has a digital bus as output.
  • the sensor array has 15 traces in both the X and Y directions.
  • the sensor processor chip thus has 15 X inputs and 15 Y inputs.
  • An actual embodiment constructed according to the principles of the present invention employed 18 traces in the X direction and 24 traces in the Y direction.
  • the size of the sensing matrix which may be employed in the present invention is arbitrary and will be dictated largely by design choice.
  • the X and Y matrix nodes are driven and sensed in parallel, with the capacitive information from each line indicating how close a finger is to that node.
  • the scanned information provides a profile of the finger proximity in each dimension.
  • the profile centroid is derived in both the X and Y directions and is the position in that dimension.
  • the profile curve of proximity is also integrated to provide the Z information.
  • the voltages on all of the X lines of the sensor matrix are simultaneously moved, while the voltages of the Y Unes are held at a constant voltage.
  • the voltages on aU of the Y lines of the sensor matrix are simultaneously moved, while the voltages of the X lines are held at a constant voltage.
  • a second drive/sense method the voltages on all of the X lines of the sensor matrix are simultaneously moved in a positive direction, while the voltages of the Y Unes are moved in a negative direction.
  • the voltages on all of the X lines of the sensor matrix are simultaneously moved in a negative direction, while the voltages of the Y Unes are moved in a positive direction.
  • This second drive sense method accentuates transcapacitance and de- emphasizes virtual ground capacitance.
  • those of ordinary skill in the art wiU recognize that order of these two steps is somewhat arbitrary and may be reversed.
  • FIG. 3 a block diagram of the presently preferred sensing circuitry 40 for use according to the present invention is presented.
  • This block diagram, and the accompanying disclosure relates to the sensing circuitry in one dimension (X) only, and includes the X input processing circuitry 12 of FIG. 1.
  • X the sensing circuitry
  • Y the opposite
  • Such slrilled persons wiU further note that the two dimensions do not need to be orthogonal to one another. For example, they can be radial or of any other nature to match the contour of the touch sensor array and other needs of the system.
  • the capacitance at each sensor matrix node is represented by equivalent capacitors 42-1 through 42-n.
  • the capacitance of capacitors 42-1 through 42-n comprises the capacitance of the matrix conductors and has a characteristic background value when no object (e.g., a finger) is proximate to the sensing plane of the sensor matrix. As an object approaches the sensing plane the capacitance of capacitors 42-1 through 42-n increases in proportion to the size and proximity of the object.
  • the capacitance at each sensor matrix node is measured simultaneously using charge integrator circuits 44-1 through 44-n.
  • Charge-integrator circuits 44-1 through 44-n serve to inject charge into the capacitances 42-1 through 42-n, respectively, and to develop an output voltage proportional to the capacitance sensed on the corresponding X matrix line.
  • charge-integrator circuits 44-1 through 44-n are shown as bidirectional amplifier symbols.
  • Each charge-integrator circuit 44-1 through 44-n is suppUed with an operating bias voltage by bias-voltage generating circuit 46.
  • the phrase "proportional to the capacitance” means that the voltage signal generated is a monotonic function of the sensed capacitance. In the embodiment described herein, the voltage is directly and linearly proportional to the capacitance sensed. Those of ordinary skill in the art will recognize that other monotonic functions, including but not limited to inverse proportionaUty, and non-linear proportionality such as logarithmic or exponential functions, could be employed in the present invention without departing from the principles disclosed herein. In addition current-sensing as weU as voltage-sensing techniques could be employed.
  • the capacitance measurements are performed simultaneously across all inputs in one dimension to overcome a problem which is inherent in aU prior art approaches that scan individual inputs.
  • the problem with the prior-art approach is that it is sensitive to high frequency and large ampUtude noise (large dv/dt noise) that is coupled to the circuit via the touching object.
  • Such noise may distort the finger profile because of noise appearing in a later scan cycle but not an eariier one, due to a change in the noise level.
  • the present invention overcomes this problem by "taking a snapshot" of aU inputs simultaneously in X and then Y directions (or visa versa). Because the injected noise is proportional to the finger signal strength across aU inputs, it is therefore symmetric around the finger centroid. Because it is symmetric around the finger centroid it does not affect the finger position. Additionally, the charge amplifier performs a differential measuring function to further reject common-mode noise. Because of the nature of the charge integrator circuits 44-1 through 44-n, their outputs will be changing over time and will have the desired voltage output for only a short time. As presently preferred, filter circuits 48-1 through 48-n are implemented as sample and hold switched capacitor filters.
  • the desired voltage is captured by the filter circuits 48- 1 through 48-n.
  • the filter circuits 48-1 through 48-n wiU filter out any high frequency noise from the sensed signal. This is accomphshed by choosing the capacitor for the filter to be much larger than the output capacitance of charge integrator circuits 44- 1 through 44-n.
  • the switched capacitor filter circuits 48-1 through 48-n will capture the desired voltages and store them.
  • the capacitance information obtained in voltage form from the capacitance measurements is digitized and processed in digital format Accordingly, the voltages stored by filter circuits 48-1 through 48-n are stored in sample/hold circuits 50-1 through 50-n so that the remainder of the circuitry processes input data taken at the same time.
  • Sample/hold circuits 50- 1 through 50-n may be configured as conventional sample/hold circuits as is weU known in the art.
  • sampled analog voltages at the outputs of sample hold circuits 50-1 through 50-n are digitized by analog-to-digital (A/D) converters 52.
  • A/D converters 52 resolve the input voltage to a 10-bit wide digital signal (a resolution of one part in 1,024), although those of ordinary skill in the art will reahze that other resolutions may be employed.
  • A/D converters 52 may be conventional successive approximation type converters as is known in the art.
  • the background level (no object present) of the charge integrator outputs wiU be about 1 volt
  • the ⁇ V resulting from the presence of a finger or other object will typically be about 0.4 volt.
  • the voltage range of the A/D converters 52 should therefore be in the range of between about 1-2 volts.
  • V, ⁇ and V max voltage reference points for the A/D converters
  • any common mode noise present when the signals are sampled from the sensor array will also be present in the V, ⁇ and V ⁇ reference voltage values and will tend to cancel.
  • reference capacitances 44-Vmin and 44- Vmax may either be discrete capacitors or extra traces in the sensor array.
  • the V, ⁇ reference voltage is generated from a capacitor having a value equal to the lowest capacitance expected to be encountered in the sensor array with no object present (about 12pF assuming a 2 inch square sensor array).
  • the V max reference voltage is generated from a capacitor having a value equal to the largest capacitance expected to be encountered in the sensor array with an object present (about 16pF assuming a 2 inch square sensor array).
  • arithmetic unit 16 The outputs of A/D converters 52 provide inputs to arithmetic unit 16.
  • the function of arithmetic unit 16 is to compute the weighted average of the signals on the individual sense lines in both the X and Y directions in the touch sensor array 22.
  • arithmetic unit 16 is shared by the X input processing circuitry 12 and the Y input processing circuitry 14 as shown in FIG. 1.
  • Control circuitry 56 of FIG. 3 orchestrates the operation of the remainder of the circuitry.
  • control circuitry 56 is present to manage the signal flow.
  • the functions performed by control circuitry 56 may be conventionaUy developed via what is commonly known in the art as a state machine or microcontroller.
  • Charge integrator circuit 44 is shown as a simpUfied schematic diagram in FIG. 4a and as an illustrative schematic diagram in FIG.4b.
  • the timing of the operation of charge integrator circuit 44 is shown in FIG. 5. These timing signals are provided by the controUer block 56.
  • Charge integrator circuit 44 is based on the fundamental physical phenomena of using a current to charge a capacitor. If the capacitor is charged for a constant time by a constant current, then a voltage wiU be produced on the capacitor which is inversely proportional to the capacitance.
  • the capacitance to be charged is the sensor matrix tine capacitance 42 in paraUel with an internal capacitor. This internal capacitor wiU contain the voltage of interest.
  • FIG.4a a simplified schematic diagram of an iUustrative charge integrator circuit 44 is shown.
  • a charge integrator circuit input node 60 is connected to one of the X (or Y) lines of the sensor matrix.
  • a first shorting switch 62 is connected between the charge integrator circuit input node 60 and V D r> the positive supply rail.
  • a second shorting switch 64 is connected between the charge integrator circuit input node 60 and ground, the negative supply rail.
  • a positive constant current source 66 is connected to V DD , the positive supply rail and to the charge integrator circuit input node 60 and through a first current source switch 68.
  • a negative constant current source 70 is connected to ground and to the charge integrator circuit input node 60 and through a second current source switch 72. It is obvious that other high and low voltage rails could be used in place of V DD and ground.
  • a first internal capacitor 74 is connected between V Drj> and output node 76 of charge integrator circuit 44.
  • a positive voltage storage switch 78 is connected between output node 76 and input node 60.
  • a second internal capacitor 80 has one of its plates connected to ground through a switch 82 and to output node 76 of charge integrator circuit 44 through a switch 84, and the other one of its plates connected to input node 60 through a negative voltage storage switch 86 and to V DD through a switch 88.
  • the capacitance of first and second internal capacitances 74 and 80 should be a small fraction (i.e., about 10%) of the capacitance of the individual sensor matrix lines. In a typical embodiment, the sensor matrix tine capacitance will be about lOpF and the capacitance of capacitors 74 and 80 should be about lpF.
  • the approach used is a differential measurement for added noise immunity, the benefit of which is that any low frequency common mode noise gets subtracted out.
  • aU switches are open unless they are noted as closed.
  • the sensor matrix line is momentarily shorted to V DD through switch 62, switch 78 is closed connecting capacitor 74 in paraUel with the capacitance of the sensor line.
  • the paraUel capacitor combination is discharged with a constant current from current source 70 through switch 72 for a fixed time period.
  • switch 78 is opened, thus storing the voltage on the sensor matrix Une on capacitor 74.
  • the sensor line is then momentarily shorted to ground through switch 64, and switches 82 and 86 are closed to place capacitor 80 in paraUel with the capacitance of the sensor line.
  • Switch 68 is closed and the paraUel capacitor combination is charged with a constant current from current source 66 for a fixed time period equal to the fixed time period of the first cycle.
  • switch 86 is opened, thus storing the voltage on the sensor matrix line on capacitor 80.
  • the first and second measured voltages are then averaged. This is accomphshed by opening switch 82 and closing switches 88 and 84, which places capacitor 80 in paraUel with capacitor 74. Because capacitors 74 and 80 have the same capacitance, the resulting voltage across them is equal to the average of the voltages across each individuaUy. This final result is the value that is then passed on to the appropriate one of filter circuits 48-1 through 48-n.
  • the low frequency noise notably 50/60 Hz and their harmonics, behaves as a DC current component that adds in one measurement and subtracts in the other. When the two results are added together that noise component averages to zero.
  • the amount of noise rejection is a function of how quickly in succession the two opposing charge-up and charge-down cycles are performed as wUl be disclosed herein.
  • One of the reasons for the choice of this charge integrator circuit is that it allows measurements to be taken quickly.
  • FIG.4b a more complete schematic diagram of an illustrative embodiment of charge integrator circuit 44 of the simplified diagram of FIG.4a is shown.
  • Input node 60 is shown connected to V DD and ground through pass gates 90 and 92, which replace switches 62 and 64 of FIG. 4a.
  • Pass gate 90 is controlled by a signal ResetUp presented to its control input and pass gate 92 is controlled by a signal ResetDn presented to its control input
  • pass gates 90 and 92, as weU as aU of the other pass gates which are represented by the same symbol in FIG. 4b may be conventional CMOS pass gates as are known in the art.
  • the convention used herein is that the pass gate will be off when its control input is held low and will be on and present a low impedance connection when its control input is held high.
  • P-Channel MOS transistors 94 and 96 are configured as a current mirror.
  • MOS transistor 94 serves as the current source 66 and pass gate 98 serves as switch 68 of FIG. 4a.
  • the control input of pass gate 98 is controUed by a signal StepUp.
  • N-Channel MOS transistors 100 and 102 are also configured as a current mirror.
  • N- Channel MOS transistor 100 serves as the current source 70 and pass gate 104 serves as switch 72 of FIG. 4a.
  • the control input of pass gate 104 is controUed by a signal StepDn.
  • MOS transistor 106 and N-Channel MOS transistor 108 are placed in series with P-Channel MOS current mirror transistor 96 and N-Channel MOS current mirror transistor 102.
  • the control gate of P-Channel MOS transistor 106 is driven by an enable signal EN, which turns on P- Channel MOS transistor 106 to energize the current mirrors.
  • This device is used as a power conservation device so that the charge integrator circuit 44 may be turned off to conserve power when it is not in use.
  • N-Channel MOS transistor 108 has its gate driven by a reference voltage V ias, which sets the current through current mirror transistors 96 and 108.
  • the voltage Vbias is set by a servo feedback circuit as will be disclosed in more detail with reference to FIG. 10.
  • Vbias is common for aU charge integrator circuits 44-1 through 44-n and 44- Vmax and 44-Vmin.
  • proper sizing of MOS transistors 102 and 108 may provide temperature compensation. This is accomphshed by taking advantage of the fact that the threshold of N- Channel MOS transistor 108 reduces with temperature whUe the mobility of both N-Channel MOS transistors 102 and 108 reduce with temperature. The threshold reduction has the effect of increasing the current whUe the mobility reduction has the effect of decreasing the current By proper device sizing these effects can cancel each other out over a significant part of the operating range.
  • Capacitor 74 has one plate connected to V DD and the other plate connected to the output node 76 and to the input node 60 through pass gate 110, shown as switch 78 in FIG. 4a.
  • the control input of pass gate 110 is driven by the control signal SUp.
  • One plate of capacitor 80 is connected to input node 60 through pass gate 112 (switch 86 in FIG. 4a) and to VDD through pass gate 114 (switch 82 in FIG. 4a).
  • the control input of pass gate 112 is driven by the control signal SDn and the control input of pass gate 114 is driven by the control signal ChUp.
  • the other plate of capacitor 80 is connected to ground through N-Channel MOS transistor 116 (switch 82 in FIG. 4a) and to output node 76 through pass gate 118 (switch 84 in FIG. 4a).
  • the control input of pass gate 118 is driven by control signal Share.
  • the operation of charge integrator circuit 44 during one scan cycle may be observed.
  • the EN (enable) control signal goes active by going to Ov. This turns on the current mirrors and energizes the charge and discharge current sources, MOS transistors 94 and 100.
  • the ResetUp control signal is active high at this time, which shorts the input node 60 (and the sensor line to which it is connected) to V DD .
  • the SUp control signal is also active high at this time which connects capacitor 74 and the output node 76 to input node 60. This arrangement guarantees that the following discharge portion of the operating cycle always starts from a known equilibrium state.
  • the discharge process starts after the ResetUp control signal goes inactive.
  • StepDn control signal goes active, connecting MOS transistor 100, the discharge current source, o the input node 60 and its associated sensor line.
  • StepDn is active for a set amount of time, and the negative constant current source discharges the combined capacitance of the sensor line and capacitor 74 thus lowering its voltage during that time.
  • StepDn is then turned off. A short time later the SUp control signal goes inactive, storing the measured voltage on capacitor 74. That ends the discharge cycle.
  • the ResetDn control signal becomes active and shorts the sensor Une to ground.
  • the SDn and ChDn control signals become active and connect capacitor 80 between ground and the sensor line. Capacitor 80 is discharged to ground, guaranteeing that the foUowing charge up cycle always starts from a known state.
  • the charge up cycle starts after ResetDn control signal becomes inactive and the StepUp control signal becomes active.
  • the current charging source MOS transistor 94
  • MOS transistor 94 is connected to the sensor line and suppUes a constant current to charge the sensor line by increasing the voltage thereon.
  • the StepUp control signal is active for a set amount of time (preferably equal to the time for the previously mentioned cycle) aUowing the capacitance to charge, and then it is turned off.
  • the SDn control signal then goes inactive, leaving the measured voltage across capacitor 80.
  • the averaging cycle now starts. First the voltage on capacitor 80 is level shifted. This is done by the ChDn control signal going inactive, letting one plate of the capacitor 80 float Then the ChUp control signal goes active, connecting the second plate of the capacitor to V DD . Then the Share control signal becomes active which connects the first plate of capacitor 80 to output node 76, thus placing capacitors 74 and 80 in parallel. This has the effect of averaging the voltages across the two capacitors, thus subtracting out common-mode noise as previously described. This average voltage is also then available on output node 76.
  • the ChDn and ChUp signals should be asserted with respect to each other within a time period much less than a quarter of the period of the noise to be canceled in order to take advantage of this feature of the present invention.
  • FIG. 6 a schematic diagram of an iUustrative switched capacitor filter circuit 48 which may be used in the present invention is shown.
  • this switched capacitor filter circuit which comprises an input node 120, a pass gate 122 having a control input driven by a Sample control signal, a capacitor 124 connected between the output of the pass gate 126 and a fixed voltage such as ground, and an output node comprising the common connection between the capacitor 124 and the output of the pass gate 126.
  • capacitor 116 wiU have a capacitance of about 10 pF.
  • the switched capacitor filter 48 is in part a sample hold circuit and has a filter time constant which is K times the period of sample, where K is the ratio of capacitor 124 to the sum of capacitors 74 and 80 of the charge integrator circuit 44 of FIGS.4a and 4b to which it is connected.
  • the switched capacitor filter circuit 48 further reduces noise injection in the system.
  • FIG.7 a more detailed block diagram of a presently preferred arrangement of A/D converters 52 of FIG. 3 is presented.
  • the arrangement in FIG. 7 is more efficient in the use of integrated circuit layout area than providing individual A/D converters for each input line.
  • Analog multiplexer 130 has six outputs, each of which drives the input of an individual A/D converter
  • analog multiplexer 130 has been conceptuaUy drawn as six internal multiplexer blocks 132-1 through 132-6.
  • inputs taken from sample/hold circuits 50-5 through 50-8 are multiplexed to the output of internal multiplexer block 132-2 which drives A/D converter 52-2; inputs taken from sample/hold circuits 50-9 through 50-12 are multiplexed to the output of internal multiplexer block 132-3 which drives A/D converter 52-3; inputs taken from sample/hold circuits 50-13 through 50-16 are multiplexed to the output of intemal multiplexer block 132-4 which drives A/D converter 52-4; inputs taken from sample/hold circuits 50-17 through 50-20 are multiplexed to the output of intemal multiplexer block 132-5 which drives A/D converter 52-5; and inputs taken from sample/hold circuits 50-21 through 50 ⁇ 24 are multiplexed to the output of intemal multiplexer block 132-6 which drives A D converter 52-6.
  • Analog multiplexer 130 has a set of control inputs schematicaUy represented by bus 134.
  • bus 134 may comprise a two-bit bus for a one-of- four selection.
  • multiplexors 132-1 through 132-6 will pass, in sequence, the analog voltages present on their first through fourth inputs on to the inputs of A/D converters 52-1 through 52-6 respectively. After the analog values have settled in the inputs of A/D converters 52-1 through 52-6, a CONVERT command is asserted on common A/D control line 136 to begin the A/D conversion process.
  • registers 138-1 through 138-6 may each comprise a two-word register, so that one word may be read out of the registers to arithmetic unit 54 while a second word is being written into the registers in order to maximize the speed of the system.
  • the design of such registers is conventional in the art.
  • arithmetic unit 16 processes information from both the X and Y dimensions, i.e., from X input processing circuit 12 and Y input processing circuit 14 of FIG. 1.
  • the object position in either direction may be determined by evaluating the weighted average of the capacitances measured on the individual sense line of the sensor array 10.
  • the X direction is used, but those of ordinary skiU in the art wiU recognize that the discussion applies to the determination of the weighted average in the Y direction as weU.
  • the weighted average may be determined as foUows:
  • arithmetic unit 16 includes X numerator and denominator accumulators 150 and 152 and Y numerator and denominator accumulators 154 and 156.
  • the source of operand data for X numerator and denominator accumulators 150 and 152 and Y numerator and denominator accumulators 154 and 156 are the registers 138-1 ti rough 138-6 in each (X and Y) direction of the sensor array 22 of FIG. 1.
  • the X and Y denominator accumulators 152 and 156 sum up the digital results from die A/D conversions.
  • the X and Y numerator accumulators 150 and 154 compute die weighted sum of the input data rather than the straight sum.
  • Accumulators 150, 152, 154, and 156 may be configured as hardware elements or as software running on a microprocessor as wiU be readily understood by tiiose of ordinary skill
  • numerator accumulators 150 and 154 compute the expression of Eq.4: n
  • X and Y numerator and denominator offset registers 158, 160, 162, and 164 are subtracted from the results stored in die accumulators 150, 152, 154, and 156 in adders 166, 168, 170, and 172.
  • Adder 166 subtracts the offset ON stored in X numerator offset register 158.
  • Adder 168 subtracts the offset O DX stored in X denominator offset register 160.
  • Adder 170 subtracts the offset ONY stored in Y numerator offset register 162.
  • Adder 172 subtracts the offset O D ⁇ stored in Y denominator offset register 164.
  • the numerator denominator pairs are divided by division blocks 174 and 176 to produce the X and Y position data, and the X and Y denominator pair is used by block 178 to produce Z axis (pressure) data.
  • the function performed by block 178 will be disclosed later herein.
  • the offsets O DX , ONX, OD Y , and O ⁇ y are sampled from the accumulator contents when directed by calibration unit 180.
  • the architecture of the system of the present invention may be distributed in a number of ways, several of which involve the availability of a microprocessor, whether it be in a host computer to which the system of the present invention is connected or somewhere between the integrated circuit described herein and a Jiost computer.
  • Embodiments of uie present invention are contemplated wherein the accumulated numerator and denominator values representing the summation terms are deUvered to such a microprocessor along widi the O N and O D offset values for processing, or where all processing is accomphshed by a programmed microprocessor as is known in the art.
  • the numerator and denominator accumulators 150, 152, 154, and 156 are set to zero during system startup. If die multiplexed A/D converters as shown in FIG. 7 are employed, the digitized voltage data in the first word of register 138-1 (representing the voltage at the output of sample/hold circuit 50-1) is added to the sum in the accumulator and the result stored in the accumulator. In succession, the digitized voltage values stored in the first word of registers 138-2 through 138-6 (representing the voltage at the outputs of sample/hold circuits 50- 5, 50-9, 50-13, 50-17, and 50-21, respectively) are added to the sums in d e accumulators and the results stored in the accumulators. As previously mentioned, A/D converters 52-1 ti rough
  • 52-6 may at tiiis time be converting die voltages present at d e outputs of sample/hold circuits 50- 2, 50-6, 50-10, 50-14, 50-18, and 50-22 and storing the digitized values in die second words of registers 138-1 through 138-6 respectively.
  • 50-10, 50-14, 50-18, and 50-22, respectively are added to the sum in die accumulator and the result stored in die accumulator.
  • the digitized voltage values stored in the first words of registers 138- 1 through 138-6 (representing the voltage at the outputs of sample/hold circuits 50-3, 50-7, 50- 11, 50-15, 50-19, and 50-23, respectively) are added to the sum in the accumulator and die result stored in the accumulator, foUowed by digitized voltage values stored in die second words of registers 138-1 through 138-6 (representing die voltage at tive outputs of sample/hold circuits 50- 4, 50-8, 50-12, 50-16, 50-20, and 50-24, respectively).
  • die accumulators hold d e sums of aU of the individual digitized voltage values.
  • the division operation may also be performed by an external microprocessor which can fetch the values stored in the accumulators or perform die accumulations itself. As d e 0 N and O D -offset values are presently derived by an external microprocessor, the additional processing overhead presented to such external microprocessor by this division operation is minimal. Alternately, a dedicated microprocessor may be included on chip to handle these processing tasks without departing from die invention disclosed herein.
  • the above disclosed processing takes place within about 1 miUisecond and may be repeatedly performed.
  • Current mouse standards update position information 40 times per second, and tirus the apparatus of die present invention may eastiy be operated at this repetition rate.
  • the filtering preferably occurs in between arithmetic unit 16 and motion and gesture units 18 and 20 of FIG. 1.
  • the X and Y coordinates are separately filtered as independent numbers.
  • Each filter is an averaging register computing a "running average" as is weU-known in the art. When d e finger's presence is first detected, the filter register is initialized witii the current quotient. In subsequent samples, die new quotient is averaged with the filter register value to produce a new filter register value.
  • die values are equaUy weighted in the average, tiiough different weightings can be used to provide stronger or weaker filtering.
  • the sequence of values in the filter register serve as the X and Y coordinates used by die motion and gesture units 18 and 20 of FIG. 1.
  • the system of the present invention is adaptable to changing conditions, such as component aging, changing capacitance due to humidity, and contamination of die touch surface, etc.
  • die present invention effectively minimizes ambient noise.
  • diese effects are taken into consideration in tiiree ways.
  • the offset values ON and O D are dynamicaUy updated to accommodate changing conditions.
  • a servo- feedback circuit is provided to determine die bias voltage used to set die bias of die charge- integrator circuits 44-1 through 44-n.
  • die reference voltage points for V max and V, ⁇ of die A/D converters are also dynamicaUy altered to increase d e signal to noise margin.
  • the calibration unit 150 executes an algorithm to establish d e numerator and denominator offset values by attempting to determine when no finger or other conductive object is proximate to d e touch sensor array 22.
  • offset values represent the baseline values of die array capacitances with no object present. These values are also updated according to die present invention since baseline levels which are too low or too high have the effect of shifting the apparent position of d e object depending on die sign of the error. These values are established by selection of die values read when no object is present at die sensor array 22. Since there is no external way to "know" when no object is present at sensor array 22, an algorithm according to anodier aspect of die present invention is used to establish and dynamicaUy update these offset values. When the calibration unit sees a Z value which appears typical of die Z values when no finger is present, it instructs the offset registers (158, 160, 162, and 164 of FIG.
  • die decision to update die offset values is based on die behavior of die sensor array 22 in only one of die X or Y directions, but when die decision is made aU four offsets (O X,
  • die decision to update may be individuaUy made for each direction according to the criteria set forth herein.
  • the caUbration algoritiim works by monitoring changes in a selected one of the denominator accumulator values.
  • die present invention it has been observed tiiat die sensitivity to changes in capacitance of one of die sets of conductive Unes in die touch sensor array 22 is greater tiian the sensitivity to changes in capacitance of d e otiier one of die sets of conductive lines in die touch sensor array 22.
  • tiiat die set of conductive lines having die greater sensitivity to capacitance changes is die one which is physicaUy located above die conductive Unes in die od er - rection and dierefore closest to die touch surface of die sensor array 22.
  • the upper set of con ⁇ uctive lines tends to partially shield die lower set of conductive Unes from capacitive changes occurring above die surface of die sensor array 22.
  • the finger pressure is obtained by summing die capacitances measured on die sense Unes. This value is already present in d e denominator accumulator after subtracting die offset Or A finger is present if d e pressure exceeds a suitable threshold value.
  • This direshold may be chosen experimentally and is a function of surface material and circuit timing. The threshold may be adjusted to suit the tastes of die individual user.
  • the pressure reported by die device is a simple function f(X D , Y D ) of the denominators for the X and Y directions as implemented in block 178 of FIG. 8.
  • Possible functions include choosing one preferred denominator value, or summing die denominators. In a presently preferred embodiment, the smaUer of the two denominators is chosen. This choice has the desirable effect of causing the pressure to go below the threshold if die finger moves stightly off the edge of die pad, where die X sensors are producing vatid data, but the Y sensors are not, or vise versa. This acts as an electronic bezel which can take die place of a mechanical bezel at the periphery of the sensor area.
  • die Y denominator is chosen for monitoring because it is the most sensitive.
  • the chosen denominator is referred to as Z for die pu ⁇ oses of die caUbration algoridim.
  • the current saved offset value for tiiis denominator is referred to as C»z.
  • the goal of die caUbration algorithm is to track gradual variations in die resting Z level while making sure not to caUbrate to the finger, nor to catibrate to instantaneous spikes arising from noise.
  • the caUbration algoridim could be implemented in digital or analog hardware, or in software. In a current embodiment actuaUy tested by the inventors, it is implemented in software.
  • History buffer 184 which operates in conjunction witii filter 182, keeps a "running average" of recent Z values.
  • F z is updated according to die formula:
  • a is a constant factor between 0 and 1 and typically close to 1 and Z is the current Z value.
  • alpha is approximately 0.95.
  • the intention is for F z to change slowly enough to foUow gradual variations, without being greatly affected by short perturbations in Z.
  • the filter 182 receives a signal ENABLE from control unit 186.
  • the running average F z is updated based on new Z values only when ENABLE is asserted. If ENABLE is deasserted, F z remains constant and is unaffected by current Z.
  • the history buffer 184 records d e several most recent values of F z .
  • die history buffer records d e two previous F z values.
  • the history buffer might be implemented as a shift register, circular queue, or analog delay Une.
  • die history buffer receives a REWIND signal from control unit 186, it restores d e current running average F z to the oldest saved value. It is as if the filter 182 were "retroactively" disabled for an amount of time corresponding to the depth of die history buffer.
  • the pu ⁇ ose of die history buffer is to permit such retroactive disabling.
  • the current running average F z is compared against die current Z value and die current offset O-i by absolute difference units 188 and 190, and comparator 192.
  • Absolute difference unit 188 and 190 The current running average F z is compared against die current Z value and die current offset O-i by absolute difference units 188 and 190, and comparator 192.
  • the UPDATE signal wiU tend to be asserted when die mean value of Z shifts to a new resting level. It will tend not to be asserted when Z makes a brief excursion away from its normal resting level.
  • the filter constant a determines the lengtii of an excursion which wiU be considered "brief for tiiis pu ⁇ ose.
  • Subtractor unit 194 is a simple subtractor that computes die signed difference between Z and Oz. This subtractor is actuaUy redundant with subtractor 172 in figure 8, and so may be merged witii it in die actual implementation.
  • the output C ⁇ of tiiis subtractor is die caUbrated Z value, an estimate of the finger pressure. This pressure value is compared against a positive and negative Z tiireshold by comparators 196 and 198. These thresholds are shown as ZJH and -2 ⁇ aldiough tiiey are not actuaUy required to be equal in magnitude.
  • die caUbration unit is si ⁇ iilar to mat used by the rest of the system to detect die presence of the finger, or it may have a different "Value.
  • die calibration ZJH is set somewhat lower than die main to ensure that the caUbration unit makes a conservative choice about the presence of a finger. If pressure signal C z is less tiian - Z , the signal FORCE is asserted.
  • O z is meant to be equal to die resting value of Z with no finger present, and a finger can only increase the sensor capacitance and thus the value of Z, a largely negative C z implies tiiat die device must have incorrecdy caUbrated itself to a finger, which has just been removed.
  • Calibration logic 200 uses tiiis fact to force a recaUbration now that die finger is no longer present.
  • Control logic 186 is responsible for preventing running average F z from being influenced by Z values tiiat occur when a finger is present. Output ENABLE is generally off when the FINGER signal is true, and on when the FINGER signal is false. However, when FINGER transitions from false to true, die control logic also pulses die REWIND signal. When FINGER transitions from true to false, die control logic waits a short amount of time
  • the running average is prevented from foUowing Z whenever a finger is present, as weU as for a short time before and after die finger is present.
  • CaUbration logic 200 produces signal RECAL from die outputs of the three comparators 192, 196, and 198.
  • RECAL is asserted, die offset registers ON and Oo wUl be reloaded from the current accumulator values.
  • RECAL is produced from die foUowing logic equation:
  • caUbration logic 200 arranges to assert RECAL once when the system is first initialized, possibly after a brief period to wait for die charge integrators and odier circuits to stabilize.
  • control logic 186 and caUbration logic 200 From the descriptions of control logic 186 and caUbration logic 200, it will be apparent to those of ordinary skiU in the art tiiat these blocks can be readily configured using conventional logic as a matter of simple and routine logic design.
  • a bias voltage generating circuit 46 useful in the present invention is shown in schematic diagram form.
  • aU of the bias transistors 108 (FIG. 4b) of charge integrator circuits 44-1 tiirough 44-n have their gates connected to a single source of bias voltage, aldiough persons of ordinary skiU in die art recognize tiiat other arrangements are possible.
  • die bias voltage generating circuit 46 is an overdamped servo system.
  • a reference source which approximates the current source function of a typical one of the charge integrator circuits 44-1 through 44-n includes a capacitor 202 having one of its plates grounded. The otiier one of its plates is connected to die V DD power supply tiirough a first pass gate 204 and to a current source transistor 206 tiirough a second passgate 208.
  • a filter circuit 210 identical to the filter circuits 48- 1 tiirough 48-n and controlled by the same signal as filter circuits 48-1 tiirough 48-n is connected to sample the voltage on capacitor 202 in die same manner tiiat die filter-and-sample/hold circuits 48-1 through 48-n sample die voltages on die sensor conductor capacitances in the sensor array 22.
  • the output of filter circuit 210 is fed to die non-inverting input of a weak transconductance amplifier 212, having a bias current in the range of from about 0. l-0.2 ⁇ A.
  • the inverting input of the transconductance amplifier 212 is connected to a fixed voltage of about 1 volt generated, for example, by diode 214 and resistor 216.
  • the output of transconductance amplifier 212 is shunted by capacitor 218 and also by capacitor 220 tiirough passgate 222.
  • Capacitor 220 is chosen to be much larger than capacitor 218. In a typical embodiment of die present invention, capacitor 218 may be about 0.2pF and capacitor 220 may be about lOpF.
  • Capacitor 220 is connected to the gate of N-Channel MOS transistor 224, which has its drain connected to the drain and gate of P-Channel MOS transistor 226 and its source connected to die drain and gate of N-Channel MOS transistor 228.
  • the source of P-Channel MOS transistor 226 is connected to V DD and die source of N-Channel MOS transistor 228 is connected to ground.
  • the common drain connection of transistors 224 and 228 is the bias voltage output node.
  • An optional passgate 230 may be connected between a fixed voltage source (e.g., about 2 volts) and capacitor 220. Passgate 230 may be used to initiaUze the bias generating circuit 46 on startup by charging capacitor 220 to the fixed voltage.
  • a fixed voltage source e.g., about 2 volts
  • the filter circuit 210 takes a new sample. If die new sample
  • transconductance amplifier 212 wUl change and start to charge or discharge capacitor 218 to a new voltage.
  • Passgate 222 is switched on for a short time (i.e., about l ⁇ sec) and the voltages on capacitors 218 and 220 try to average themselves. Due to die large size difference between capacitors 218 and 220, capacitor 218 cannot supply enough charge to equalize the voltage during die period when passgate 222 is open. This arrangement prevents large changes in bias voltage from cycle to cycle.
  • Capacitor 202 should look as much as possible like one of die sensor array channels and has a value equal to die background capacitance of a typical sensor line, (i.e., widi no object proximate or present capacitance component).
  • Capacitor 202 may be formed in several ways. Capacitor 202 may comprise an extra sensor line in a part of the sensor array, configured to approximate one of die active sensor lines but shielded from fmger capacitance by a ground plane, etc. Alternately, capacitor 202 may be a capacitor formed in die integrated circuit or connected thereto and having a value selected to match at of a typical sensor line. In this respect, the signal source comprising capacitor 202 and filter circuit 210 is somewhat like the circuitry for generating the V. ⁇ . and V ⁇ reference voltages, in tiiat it mimics a typical sensor line.
  • one of the actual sensor Unes may be employed to set die bias voltage.
  • the measured voltage on die two end-point sensor Unes may be compared and die one having die lowest value may be selected on the dieory that, if a finger or other object is proximate to the sensor array, it wiU not be present at sensor Unes located at die opposite edges of the array.
  • an "edge motion" feature may be implemented when die object position sensor of die present invention is used as a computer cursor control device in place of a mouse.
  • a practical problem arises in the use of computer mice or other cursor control devices when an attempt is made to move an object over a large distance on a computer screen. This problem is encountered when a smaU mouse pad is used witii a computer mouse, or when an object position sensor of the kind described herein has a smaU touch sensor area.
  • this problem is especiaUy acute during a "drag" gesture. If die user lifts die finger to begin a second stroke, die drag effect ends prematurely on the screen.
  • the edge motion feature of the present invention helps to eliminate the need to use “rowing,” or multiple strokes of the finger to move a large distance on the screen.
  • a prior solution to die long-distance drag problem has been to provide an acceleration feature, i.e., a "balUstic" curve, where the gain varies as a function of finger speed, aUowing die user to move long distances, albeit clumsily, using a repeated finger swishing motion.
  • This technique can be used widi any variable-speed pointing device, for example, witii a mouse on a mouse pad of limited size.
  • Typical mouse driver software includes an adjustable acceleration feature (sometimes under a misleading name like "mouse speed").
  • the edge motion feature of die object position sensor is implemented by motion unit 18 of FIG. 1 and works by defining two zones in the sensing plane 10 containing the touch sensor array 22.
  • die sensing plane 10 is preferably divided into an inner zone 240 comprising most of the central portion of die surface of sensing plane 10 and an outer zone 242, typicaUy comprising a tiiin marginal area at die periphery of die sensor array.
  • the center of die sensing plane 10 may be described as the origin m a cartesian coordinate system. Those of ordinary skill in d e art wiU recognize however tiiat the inner and outer zones could be of any shape.
  • inner zone 240 is defined by the upper dashed Une Y 0 , right-hand dashed Une X Q , lower dashed line -Y 0 and left-hand dashed line -X Q .
  • Outer zone 242 is die region between die outer edges of die sensing plane 10 defined by Y p ⁇ , -Y j ,,,,, X ma ⁇ and -X max and die outer borders of inner zone 240 defined by Y 0 , Xo, -Y 0 , and - X 0 .
  • finger motions in the inner zone 240 are translated in die standard fashion into motion events to be sent to the host computer.
  • the standard way to communicate mouse motion to a host computer may also be employed in die present invention to communicate finger motion to a host computer.
  • die information communicated to die host computer is:
  • ⁇ X is the change in the X position of the finger
  • ⁇ Y is die change in the Y position of the finger
  • X cur is the current X position of the finger and X old is die last reported X position of the finger
  • Y cur is the current Y position of the fmger and Y old is die last reported Y position of die finger
  • A is a "gain factor" which is commonly encountered in mouse cursor control apptications.
  • the host computer takes ( ⁇ X. ⁇ Y) events and moves die cursor by die indicated amount in each axis, tiius reconstructing the finger position on the screen as the successive ⁇ X and ⁇ Y values are accumulated. So far, this is standard cursor control behavior where edge motion is not considered.
  • the edge motion feature of the present invention when the finger is reported as being in the outer zone 242, the edge motion feature of the present invention may be enabled.
  • the determination of whedier die finger is in the outer zone is a simple determination:
  • FIG. 12 A a circuit 244 for making a determination of whether a finger is in the outer zone 242 is shown in schematic diagram form.
  • FIG. 12 A illustrates a hardware embodiment for determining whedier a finger is in die outer zone 242, but tiiose of ordinary sktil in the art wtil readtiy recognize tiiat this determination could readUy be made by performing one of a number of equivalent software routines. Such software routines are obvious and straightforward from die functions described herein.
  • Circuit 244 includes digital comparators 246, 248, 250, and 252, which may be straightforwardly implemented by conventional logic.
  • Comparator 246 puts out a true signal when die quantity X cur at one of its inputs is greater tiian die fixed quantity X Q presented to its other input
  • Comparator 248 puts out a tine signal when the quantity X cur at one of its inputs is less than the fixed quantity -XQ presented to its otiier input.
  • Comparator 250 puts out a true signal when d e quantity Y c ⁇ rr at one of its inputs is greater than the fixed quantity Y 0 presented to its otiier input.
  • Comparator 252 puts out a true signal when the quantity Y cur at one of its inputs is less tiian the fixed quantity -Y 0 presented to its other input.
  • OR gate 254 The outputs of comparators 246, 248, 250, and 252 are ORed together by OR gate 254. As will be appreciated by tiiose of ordinary skUl in the art, the FingerOuter signal output of OR gate 254 is tine only when the necessary conditions of Eq. 11 are satisfied.
  • edge motion aspect of the present invention may be selectively enabled or disabled by a user.
  • die edge motion feature is enabled and die finger is reported as being in die outer zone as set forth above, a second component is added to die ( ⁇ X. ⁇ Y) events reported:
  • ⁇ Y A(Y cur - Y old )+ S(Y cur - Y ⁇ ) [Eq. 13]
  • X center is the X coordinate of die center of the pad
  • Y ce -,,,.,. is die Y coordinate of the center of the pad
  • S is a multiplicative factor for speed. S should be chosen such that the movement of the cursor is at a comfortable speed on die display screen.
  • This factor can be adjusted to individual taste of a user.
  • the sensor array has different dimensions in X and Y, it is useful to set die multipUcative speed factor S parameters in die X and Y directions to differ by d e same ratio as the pad dimensions, so that a finger held at die left or right edge of the sensor array wiU produce die same cursor speed as a finger held at the top or bottom edge.
  • tiiere are 24 X traces and 18 Y traces. Therefore, since X is 4/3 wider tiian Y (24 traces vs. 18 traces), the X multipUcative speed factor S x is set to be to be 3/4 as large as die multipUcative speed factor S ⁇ .
  • the square root of 2 variation may be canceled out by dividing die edge motion terms in equations (12 and 13) by a normalizing factor of the form:
  • die FingerOuter signal which is a global signal for botii die X and Y axis, is made une, and increments are added to the ( ⁇ X, - ⁇ Y) events pursuant to Eqs. 12 and 13. Because increments corresponding to SQ p u j. - X center ) and S(Y cur - Y ⁇ ter ) are added in die X and Y directions, respectively, for the ( ⁇ X, ⁇ Y) events, the direction of the cursor motion will be along a vector from die center of the pad to die finger position. In graphical environments, there are many vertical and horizontal objects and use of edge motion may incur some unintended results.
  • the user may need die assistance of die edge motion feature to reach the bottom of the menu.
  • the direction of the cursor motion may cause the cursor to sUde off die pop-up menu, when die user actually wants die cursor to move in a vertical motion along the Y axis.
  • die direction of the cursor motion wiU be orthogonal to the edge motion boundary die finger has crossed in traveUng to die outer zone.
  • the direction of cursor motion due to die orthogonal edge motion feature wUl be only along the X axis. Any cursor motion in the Y direction whUe the finger is in the outer zone corresponding to die X axis will occur in a normal fashion, i.e. not according to an edge motion feature.
  • the orthogonal edge motion feature has two signals. One is X
  • X FingerOuter is true when a finger crosses either of die boundaries corresponding to the X axis, which in the preferred embodiment are on the right and left edges of the touch pad, and Y FingerOuter is true when a finger crosses either of the boundaries corresponding to the Y axis, which in die preferred embodiment are on die top and bottom edges of the touch pad.
  • FIG. 12B a schematic is shown of the hardware used in making die determination of whedier a finger is in die outer zone according to die orthogonal edge motion feature. It will be appreciated by those of ordinary skUl in die art tiiat the circuit shown in FIG. 12B could be implemented with an equivalent software routine. Where it is appropriate, FIG. 12B uses die same reference numerals shown in FIG. 12A.
  • circuit 256 includes digital comparators 246, 248, 250 and 252 which may be implemented by conventional logic.
  • Comparator 246 puts out a tme signal when die quantity X ⁇ at one of its inputs is greater than die fixed quantity X Q presented to its otiier input.
  • Comparator 248 puts out a tme signal when the quantity X ⁇ at one of its inputs is less than the fixed quantity -X Q presented to its otiier input.
  • Comparator 250 puts out a tme signal when die quantity Y ⁇ at one of its inputs is greater tiian die fixed quantity Y 0 presented to its otiier input
  • Comparator 252 puts out a t e signal when die quantity Y cur at one of its inputs is less than the fixed quantity -Y 0 presented to its otiier input.
  • comparators 246 and 248 are ORed together by OR gate 258.
  • comparators 250 and 252 are ORed togetiier by OR gate 260.
  • an X FingerOuter signal will result in a value being added to the ⁇ X event in an amount determined by S(X cur - X ce n te r) as sci out m Eq. 12.
  • this component will be added to the ⁇ X event in an amount determined by S(X cur - X ce n te r) as sci out m Eq. 12.
  • die component added to die ⁇ X event wiU be approximately constant because X cur - X cente r s approximately constant.
  • AY FingerOuter signal will result in a value being added to the ⁇ Y event in an amount determined by S(Y cur - Y ce n te r) as set out in Eq. 13.
  • this component wUl be added is when a Y axis edge motion boundary has been crossed, i.e. no additional component determined by S(Y cur - Y center ) is added to die ⁇ Y event when only an X ixis edge motion boundary has been crossed, the component added to the ⁇ Y event will be approximately constant because Y cur - Y center i s approximately constant Accordingly, die orthogonal edge motion feature permits cursor motion in only the eight "compass" directions.
  • die orthogonal edge motion feature causes the cursor to glide left along the X axis, since X FingerOuter is TRUE and Y FingerOuter is FALSE. The same is tme for the right edge of the pad, except die cursor will gUde right along die X axis.
  • Those of ordinary sktil in die art wtil recognize the corresponding movements for the upper and lower edges of the pad.
  • X FingerOuter and Y FingerOuter are both TRUE, and die motion will be along a 45 degree angle (assuming a square touchpad) from die comer of the pad to where the finger is placed.
  • edge motion feature of the present invention can be confusing if the user does not expect it Since edge motion is most useful in connection with the drag gesture, it is presently preferred to arrange for it to occur only during a drag, i.e., only when the gesture logic is virtuaUy "holding die mouse button down.”
  • the drag gesture and otiier gestures are implemented by gesture unit 20 of FIG. 1.
  • die outer zone 242 "goes away” (i.e., is ignored) and die inner zone 240 effectively expands to cover die entire sensing plane 10. It has been found that this is much less confusing in practice, probably because the user is more likely to be consciously aware of die cursor control device during a drag gesture than during simple cursor motions.
  • FIG. 13 A hardware implementation of this algoridim is iUustrated in FIG. 13 in schematic diagram form. While circuit 262 is shown implemented in the X direction only, those of ordinary skiU in the art will recognize that an identical circuit will also be employed in the Y direction. Such skiUed persons wiU also immediately appreciate die complete equivalence of implementing the hardware solution of FIG. 13 as a software routine.
  • Edge-motion circuit 262 includes a subtractor circuit 264 in which the previous value of X cur , stored in delay 266, is subtracted from the present value of X cur .
  • the output of subtractor circuit 264 is presented to multipUer 268, which multipties the result by the gain factor "A".
  • the output of multipUer 268 is the term dX.
  • X cur is also presented to subtractor circuit 270 in which the value of X center is subtracted from die present value of X ⁇ .
  • the output of subtractor circuit 270 is presented to multiplier 272, which multipties the result by die gain factor "S" to obtain die value of die eX jerm.
  • S die gain factor
  • tiiat with orthogonal edge motion subtractor circuit 270 and multipUer 272 are not required and a constant value can be provided for die eX term, whose sign is positive if X cur >Xce n te r or negative if X CUI ⁇ X cen ter •
  • a two-input AND gate 274 has its input terms die value FingerOuter from die circuit of FIG.
  • MotionEnable which is a toggled on/off enable signal for die edge motion feature of die present invention. If botii FingerOuter and MotionEnable are tme, switch 276 is configured to pass the output of multiplier 272 to adder circuit 278. If either FingerOuter or MotionEnable is false, then switch 276 is configured to pass die value zero to adder 278. The output of switch 276 is die eX term. The output of adder 278 is passed to die host computer as ⁇ X.
  • the MotionEnable signal can be controlled by the user, e.g., by a control panel. Altematively, it may be controUed by die gesture unit as wiU be more fuUy disclosed.
  • the two-input AND gate 274 has as its input terms the value X FingerOuter from die circuit of FIG. 12B (or the value Y FingerOuter from the circuit of FIG. 12B for die Y direction) and the value OrthoMotionEnable which is a toggled on/off enable signal for the edge motion feature of the present invention. If both X FingerOuter and OrthoMotionEnable are tme, switch 276 is configured to pass the output of multipUer 272 to adder circuit 278. If either X FingerOuter or OrthoMotionEnable is false, then switeh 276 is configured to pass d e value zero to adder 278.
  • the output of switch 276 is die eX term.
  • the output of adder 278 is passed to die host computer as ⁇ X.
  • the OrthoMotionEnable signal can be controUed by die user, e.g., by a control panel. Altematively, it may be controlled by die gesture unit as will be more fuUy disclosed.
  • the dX term may be replaced by the eX term, and likewise for dY and eY, when the finger is in die "outer" zone, ratiier than adding the two terms in that zone. This results in a more "pure” edge motion which is harder for die user to guide. User tests have shown tiiat die dX+eX form shown above feels better and is easier to use.
  • Anodier alternative which is functional but has been found to be less desirable employs a somewhat wider outer zone.
  • the gUde speed is then varied in proportion to die distance of die finger into the outer zone rather tiian die distance from die center of die pad.
  • the gUde speed starts at zero and increases to some reasonable limit as die finger reaches the edge of the pad.
  • the result is a smoother transition between edge-motion and normal behavior. It is not difficult to modify the above formulas to produce tiiis alternate behavior.
  • This variant was tried by die inventors because die transition into edge-motion mode seemed too abmpt; tests showed tiiat tiiis abmptness is actuaUy a boon in typical use.
  • the edge motion feature of die present invention is used advantageously witii one or more finger gestures which may be performed by a user on die sensor array and are recognized by die system.
  • finger gestures which may be performed by a user on die sensor array and are recognized by die system.
  • die basic tap and drag gestures are die basic tap and drag gestures.
  • the tap gesture is analogous to die cUcking of die mouse button on a conventional mouse, and die concept of dragging objects is famiUar to all mouse users.
  • Pointing devices such as mice typicaUy include one or more mouse buttons.
  • the user can point and cUck a button to select an object on die screen, or hold die button down and move die mouse to drag an object around die screen.
  • Touch sensor pointing devices can offer "gestures," which are special finger motions that simulate mouse button actions without die need for physical switches. (Since gestures may be difficult for novices or users with disabUities, it is preferable to provide physical switches as weU.)
  • the word "finger” should be inte ⁇ reted as including a stylus or other conductive object as previously described.
  • gesture unit 20 examines die (X,Y,Z) data produced by aridimetic unit 16 to produce one or more "virtual mouse button" signals to be sent along with die ( ⁇ X, ⁇ Y) signals to die host
  • FIG. 14 is a more detailed block diagram of gesture unit 20 of FIG. 1.
  • gesture unit 20 of die present invention is capable of supporting a variety of gestures.
  • Gesture unit 20 includes tap unit 280, zigzag unit 282, push unit 284, and button control unit 286.
  • gesture unit 20 Some number of physical switches may be supported by gesture unit 20.
  • two inputs A and B to button control unit 286 come from physical switches.
  • Such switches may be mounted on the touchpad module itself or provided extemaUy. Any number of switches may be provided, or none at all.
  • the inputs A and B have two states, logic "0" and logic "1".
  • die switch signals could be implemented by special touch sensors, operated by charge integrators Multiar to units 44 which feed into threshold comparators to form digital signals.
  • Tap unit 280, zigzag unit 282, and push unit 284 examine die sequence of (X,Y,Z) samples to look for various types of gestures.
  • the outputs of all diese units, plus the switch signals, are combined in button control unit 286 to produce the actual button-press signals sent to die host.
  • the touchpad simulates a three-button (Left, Middle, Right) pointing device.
  • the system of FIG. 14 could clearly be extended to support otiier gestures than tiiose described"here, or to support fewer gestures in die interest of simphcity.
  • Button control unit 286 can use any of several weU-known methods for combining multiple signals. For example, a priority ordering can be estabUshed among me various sources, or each button output (Left, Middle, and Right) can be asserted ("clicked", "pressed” or “held down") whenever any of die sources indicate tiiat button. Any particular metiiod of combining these signals is a routine design detati dependent on a particular system configuration which may be easily implemented by persons of ordinary skill in die art.
  • the button control unit 286 maps both switches and gestures to die most commonly used virtual buttons, giving maximum flexibitity to die user.
  • switches and gestures can be mapped to different virtual buttons so diat a larger number of virtual buttons can be covered without resort to exotic gestures. Or, the user can be offered a choice of mappings.
  • die button control unit 286 or host software could map some of die gestures described here to software commands instead of simulating mouse buttons. Such processing and mapping is weU widiin the realm of ordinary skill in die art.
  • the tap unit 280 decodes die most basic gestures, including taps, drags, hops, and tap zones. These gestures are Ulustrated as timing diagrams in FIGS. 15a tiirough 15e. In each of FIGS. 15a through 15e, two signals are shown graphed against time; one is the analog "Z" (finger pressure) signal, die otiier is die digital "Out” (virtual button press) signal. The various relevant time spans are shown widi labels ""tl" through "t21".
  • the basic "tap” gesture is a quick tap of die finger on die pad. Such a tap, of short duration and involving litde or no X or Y finger motion during the tap, is presented to die host as a brief cUck of die mouse button. If a multi-button mouse is simulated, die tap gesture may simulate a click of die "primary" mouse button, or die button to be simulated may be user- selectable using a shift key, control panel, or otiier known means. Two taps in rapid succession are presented to die host as a double click of die button. In general, multiple taps translate into multiple cUcks in the obvious and natural way.
  • the device of the presently preferred embodiment does not report a button cUck until the finger is lifted. This delay is not generally noticeable to the user since taps by definition are very brief strokes.
  • a small amount of motion may occur during die tap stroke, due to such factors as die natural deformation of die fingertip under pressure. This can cause die virtual cUck created by the tap gesture to select the wrong item or location on the screen. To avoid this, eitiier the motion must be suppressed until the motion is great enough, or the duration long enough, to disqualify a tap, or the motion must be aUowed but tiien retroactively canceled out once die tap gesture is recognized. The latter solution is preferable, since even a small amount of suppressed motion is noticeable to the user.
  • motion events are sent to the host as usual, and also recorded in a register or queue.
  • die tap gesture When die tap gesture is recognized, a corresponding negative amount of motion is quickly replayed in order to "undo" die already- reported motion and to restore the original cursor position as of the moment die finger' s presence was first detected.
  • the motion during die stroke may have been sent to the host in die form of a sequence of several packets. For greatest precision, this sequence can be saved and replayed in reverse.
  • die host's motion processing is linear, it will suffice to accumulate the total amount of motion during the stroke and send a compensating motion in a single packet. Since the "acceleration" feature of a typical mouse driver activates only at high speeds, tiiis assumption of linearity is usuaUy safe in this context.
  • the inputs considered by tap unit 280 are CurPos, the current (X,Y) finger position from the arithmetic unit; Z, the current pressure value; and CurT ⁇ me, the current time in some suitable units of time (such as mUliseconds or number of samples processed).
  • TapState is NONE if there is no gesture in progress, TAP if there is a tap or drag gesture in progress, and LOCKED if tiiere is a locking drag or drag extension in progress.
  • TapOkay is TRUE if a high enough Z value has been seen in die current stroke for the stroke to qualify as a tap.
  • DownPos is the (X,Y) position at which the finger last touched down on the pad.
  • DownTime is die time at which the finger last touched down.
  • UpPos and UpTime record die position and time at which the finger last lifted from the pad.
  • TapButton is one of LEFT, MIDDLE, or RIGHT, identifying whether the current gesture is simulating an action on die left, middle, or right virtual mouse button, respectively.
  • Suppress is TRUE if die virtual buttons are being suppressed for a double click.
  • FinaUy, Out represents die output of the tap unit, and is one of NONE, LEFT, MIDDLE, or RIGHT.
  • TapTime is the maximum duration of a stroke to qualify as a tap gesture.
  • DragTime is die maximum interval between the initial tap and die return of die finger to form a drag gesture.
  • ExtendTime is the maximum amount of time the finger can be off the touchpad during a drag extension gesture before the drag gesture wUl end.
  • Hop Time is the maximum lift time preceding a tap to qualify as a hop.
  • TapRadius is die maximum amount of motion tiiat can occur during a tap.
  • DragRadius is die maximum distance between the initial tap and the return of the finger for a drag.
  • DragExtendRadius is die miiiimum distance between finger lift-off and finger touchdown needed to qualify as a drag extension.
  • HopDistance is die minimum distance moved to qualify for a hop.
  • Zthresh is die minimum pressure (Z) to detect a finger.
  • DragExtendSpeed is die minimum smoothed speed required during finger lift-off to qualify as a drag extension.
  • steps reciting "detecting die presence" of a finger or otiier object (or other words to tiiat effect) assume that a pressure greater tiian Zthresh has been detected.
  • FinaUy, Ztap is the minimum Z to detect a tapping finger.
  • FIG. 15a shows die timing of a basic tap gesture.
  • a successful tap is shown, followed by a finger stroke which is too long to quaUfy as a tap.
  • the finger is down for time "tl", which is less than TapTime.
  • the (X, Y) motion during time "tl” is less than TapRadius.
  • the Z signal exceeds threshold Ztap for at least some part of the stroke.
  • the Out signal (die lower trace of FIG. 15a) becomes tine for a certain amount of time "t2”, then becomes false. As will be discussed later, the amount of time "t2" is equal to DragTime.
  • die TapState variable wUl equal TAP for the entire interval "t2".
  • TapTime is about 400 msec
  • TapRadius is about 2% of the width of the sensor pad
  • Ztap is shghtly larger tiian Zthresh, whose value is adjustable by the user.
  • die above-described gesture begins a drag which continues even when the finger is lifted.
  • the drag ends i.e., die simulated mouse button is released
  • This feature is known as "locking drag”.
  • Locking drag aUows dragging over longer distances tiian can be covered by a single finger motion on a smaU pad, but it can be highly confusing if it is activated by mistake.
  • the locking drag becomes a hidden mode, a weU-known undesirable item in die study of user interfaces.
  • it is presented to die user as an option which is disabled by default
  • the above-described gesture wtil continue even tiiough die finger has been lifted, if die finger comes back down to die touch pad witiiin a specified period of time referred to as a drag timeout.
  • This feature is referred to as drag "extension”.
  • the drag timeout period is presently preferred as 500 msec, but wiU be optimized, as will be appreciated by tiiose of ordinary skill in die art, witii user studies.
  • a drag gesture wiU end if the finger is removed from the touchpad and not retumed witiiin the drag timeout
  • widi die drag extension feature enabled, when die finger is lifted off die pad for less tiian the drag timeout, the drag gesture wiU continue, but when die finger stays off die touchpad for a period greater tiian the timeout, the drag gesture ends.
  • drag extension does not appear to the user as a hidden mode, since die end of die drag occurs after the drag timeout, a very short time period in human perception, if the finger does not return to die touch pad in time.
  • the drag gesture may actually represent two different gestures.
  • a tme drag where die cursor is moved around while die virtual button is being held down
  • a press where the cursor remains stationary while die virtual button is being held down.
  • the drag extension feature is only desired for a tine drag.
  • a tme drag can be identified if the finger's speed of motion prior to lift-off is above a smaU tiireshold.
  • a press- can be identified if the finger was stationary through the entire gesture, possibly ignoring smaU, inconsequential movements, or just at the time of finger Uft-off.
  • the distinction between a tme drag and a press is identified by the finger speed at lift-off being above a specified tiireshold.
  • the finger speed at Uft-off is obtained as die output a running average filter. If the speed is below the specified tiireshold, die drag ends rather than being extended.
  • the distinction between a tine drag and a press may be identified by the position of the finger at lift-off. If the finger is within a selected distance from the edge of the pad at lift-off a true drag is identified.
  • a second potential problem may occur while using drag extension if die user begins a new unrelated finger action during die ExtendTime period.
  • a drag wUl continue even though the finger has been lifted from die touch pad if die finger is brought back to the touch pad within the drag timeout. It may be that the user actuaUy wants the drag to end when die finger is tifted, and to begin a new gesture when bringing die finger back down to die touchpad.
  • One way to determine whedier die drag gesture is continuing or is being ended and a new finger action begun is to compare the lift-off finger position and die touchdown finger position. UsuaUy, a subsequent stroke of an extended drag would not begin at die spot where die previous stroke had ended.
  • men die drag extension feature aUows the drag to continue, otherwise the drag ends immediately. It will be appreciated, however, by those of ordinary skill in die art that die drag extension feature may be implemented, diough not preferably, witiiout comparing the finger position at touch down witii the finger position at Uft-off, and further, that the drag need not end immediately.
  • the drag gesture is implemented as foUows.
  • the virtual mouse button is depressed as previously described.
  • die virtual mouse button is not released until the finger has remained away from die pad for a sufficient amount of time to disqualify as a drag gesture.
  • This amount of time DragTime should be chosen to be long enough to allow for a comfortable drag gesture, but short enough so that the cUck arising from a tap gesture is stiU reasonably brief. As presently preferred, a time of about 200 msec is used.
  • the drag gesture begins with a tap as described above, of duration "t4" which is less than TapTime. The Out signal goes high in response to this tap.
  • the finger remains away from die pad for a period "t5" which is less than DragTime, then it returns to the pad and remains for a time "t6" which is longer tiian TapTime. This qualifies the gesture as a drag.
  • the Out signal remains high until die finger is finaUy released at time "t7".
  • the time "t7" between the removal of the finger and die release of die virtual mouse button is zero; in otiier Multiar implementations this might be nonzero but smaU, e.g., equal to DragTime.
  • TapState will equal TAP for the entire interval from "t5" to "t7".
  • FIG. 15a shows the interval "t2", which is also the upper limit on the interval "t6", as being exactly equal to the parameter DragTime.
  • DragTime is measured relative to DownTime instead of UpTime, which is equivalent to saying that the intervals "tl” and “t2" ("t5" and "t6", respectively) must sum to DragTime.
  • This metiiod is diat in the basic tap gesture, a longer, slower tap causes a briefer virtual button cUck. This contradiction makes tiiis approach less satisfying to the user than tiie one shown in FIGS. 15a-b.
  • DragTime is made proportional to the lengdi of interval "tl" ("t5" respectively), so tiiat a brief tap produces a brief virtual button cUck, and a longer tap (up to die limit TapTime) produces a longer cUck.
  • This alternative gives die user more control over the simulated button cUck, but it makes the behavior depend on what die user may perceive as an insignificant feature of the tapping action.
  • the length of the virtual button cUck or DragTime is a direct function of the length of the tap by the user. As described in the previous paragraph a brief tap produces a brief virtual button cUck, and a longer tap produces a longer cUck. This approach seems to provide an advantage to novice users who usuaUy tap more slowly and also require a longer period of time Qonger DragTime) to bring the finger back down to begin a drag gesture. Unfortunately, die longer DragTime also results in a longer virtual button cUck (OUT signal) which may have undesirable side effects, including unintentional scroU bar auto-repeating or "stuttering".
  • a preferred approach when differentiating between novice and expert taps is to recognize taps of different lengtiis, but to make the virtual button cUck or OUT signal the same length for different tap lengths.
  • die timing of die OUT signal wiU be delayed, so that novice users will have a longer DragTime to begin a drag gesture.
  • the length of taps used to differentiate between novice and expert users wiU be optimized after user studies. It should also be recognized tiiat there are other ways to differentiate between novice and expert users. For example, die pressure of a novice tap is often greater than die pressure of an expert tap.
  • AdditionaUy it may also be beneficial to use a history of tap lengtiis, for example, die average lengtii of several previous taps.
  • Those of ordinary sktil in the art wiU also recognize tiiat decision between novice and expert could be made by die user at a control panel.
  • variable DragTime as a function of tap lengdi is illustrated.
  • an expert tap is seen having a duration for die interval "tl" of less tiian 200 msec.
  • the virtual button click or OUT signal of 200 msec in die interval "t2" begins as soon as die finger comes off die pad, tiius providing die expert witii die fastest possible response.
  • die finger would have to come back down on die touchpad before die 200 msec virtual button cUck time ended.
  • the variable DragTime is chosen to be 200 msec in the preferred embodiment, thus reducing die chances of an expert's quick finger actions being incorrectly inte ⁇ reted as a drag gesture.
  • a novice tap is seen having a duration for die interval "tl” of between 200 msec and 500 msec (in die preferred embodiment, strokes longer than 500 msec would be disqualified as taps).
  • the virtual button cUck or OUT signal of 200 msec in die interval "t2b” begins after a delay "t2a" of 300 msec, and as a result the user will have a longer DragTime of 500 msec in which to begin a drag gesture.
  • tiiat the length of the delay may be chosen in several different ways, including as a function of the tap duration.
  • die otiier time-related parameters of gesture recognition such as HopTime and ExtendTime can be adjusted when novice taps are involved. If die finger comes back down to begin a drag gesture before the delayed click has begun (i.e., during die "t2a" interval), tiien the virtual button cUck must begin immediately as d e finger comes down. Otherwise, if tiiis new finger stroke also turned out to be a tap, die first click of die resulting double-cUck could be subsumed in die "t2a" interval.
  • FIG. 15D shows the locking drag gesture.
  • the locking drag begins with a standard drag gesture involving intervals "t8" through “tlO". However, when the finger is raised, the Out signal remains high. Gn die flowcharts, TapState wiU change from TAP to LOCKED at tiiis time.)
  • the figure shows a second dragging stroke of a lengtii longer than TapTime (shown as "tl 1") which does not end die locking drag, foUowed by anotiier stroke of length "tl2" less than TapTime. Since this last stroke quaUfies as a tap, it ends die locking drag at time "tl3".
  • FIG. 15E shows die drag extension gesture.
  • the drag extension begins with a standard drag involving intervals "tl4" tiirough “tl6".
  • the finger is raised during interval "tl7", but because die fmger is off die touchpad for a length of time shorter than the drag timeout parameter
  • ExtendTime the OUT signal goes low a period of time equal to ExtendTime after the finger is Ufted from die pad. It may be preferable to adjust ExtendTime for novice or expert users, as described previously for DragTime.
  • FIG. 15F shows a double tap gesture.
  • the double tap starts out indistinguishably from a drag gesture.
  • die second stroke "t21" is shorter than TapTime, thus qualifying as a second tap instead of a drag.
  • Regular tap processing causes Out to remain high for another interval "t23" of length DragTime; however, special double-tap handling shown in die flowcharts suppresses the virtual mouse button for a brief period "t22" after recognition of die tap.
  • die host computer perceives two distinct cUcks ratiier than the one long, run-together cUck tiiat it would see without tiiis special handling.
  • die basic gestures are augmented by a "hop" gesture, in which die finger is Ufted from its resting place in one location on the pad and tapped a substantial distance away from die resting place. If the distance is sufficiently great (HopDistance, typicaUy a fraction of the width of die sensor pad; presently preferred to be about 25%) and die duration between die lift and die subsequent tap is less than a suitable tiireshold (HopTime, typicaUy a fraction of a second; presently preferred to be about 0.5 sec.), tiien die click or drag gesture begun by die tap is simulated on a different mouse button.
  • HopDistance typicaUy a fraction of the width of die sensor pad; presently preferred to be about 25%
  • HopTime typicaUy a fraction of a second; presently preferred to be about 0.5 sec.
  • This different button may be a fixed "secondary" button, or it may be user- selectable by a control panel or other means, or it may be a function of the direction in which die finger hopped (e.g., to die left vs. to die right).
  • the hop gesture is available as an option which is off by default
  • FIG. 15G shows a "hop" gesture. This gesture begins with the finger already on the pad. The finger is then lifted for interval "t24" which is less than HopTime; the finger tiien comes down for a regular tap "t25' ⁇ Also, not shown on the figure, during interval "t24" die finger must have moved by at least a certain distance HopDistance away from its previous position.
  • the gesture is processed as a "hop” instead of a regular tap, and the virtual button press “t26" occurs on the right button Out(R) instead of die usual left button Out(L). It is easy to see how die tap "t25" could be followed by further finger actions to form a drag or a double-tap on the right button.
  • Anotiier multi-button gesture uses "tap zones," in which die surface of die pad is divided into two or more zones. A tap or drag initiated in a given zone simulates an event on a button corresponding to tiiat zone. Even if die finger moves between zones during a drag, die entire drag is simulated on die button corresponding to die zone of die original tap tiiat initiated die drag gesture.
  • Figures 16a and 16b illustrate two tap zone shapes.
  • the pad is divided into three vertical stripes 288, 290, and 292, corresponding to the left, middle, and right mouse buttons, respectively.
  • the pad is divided into a main area 294 simulating die left mouse button, and a smaU co er area 296 simulating the right mouse button.
  • the implementation of FIG. 16b is more appropriate if one button is much more heavtiy used in typical appUcations than the other button(s).
  • zones prefferably correspond to clearly marked regions on die pad surface.
  • zone shapes such as multiple comers or horizontal stripes, are equaUy straightforward.
  • tap zones encourage the user to tap near the edge of die pad. If edge motion is active during taps and drags or at aU times, then edge motion will tend to interfere widi die proper behavior of comer taps. To prevent this, the edge motion enable logic of FIG. 13 can be modified sUghtiy. In a given stroke, edge motion only operates if the finger has been in the inner zone at least once during that stroke. Thus, if die finger touches down in the outer zone, edge motion wtil not activate until the finger leaves d e edge of die pad and then returns.
  • AU of the above-described gestures are variations of basic tap and drag gestures. In the system described herein, all of these gestures are recognized by the tap unit 280. The operation of tap unit 280 is most easily described as an algorithm in the form of a flowchart. From this disclosure, persons of ordinary skiU in die art wUl recognize tiiat the tap unit described herein could actuaUy be implemented as known and obvious equivalents such as a software program, hardware state machine, or otherwise. AU such implementations are intended to faU witiiin die scope of die present invention.
  • FIGS. 17a tiirough 17f comprise a flowchart for die operation of tap unit 280.
  • Tap unit 280 tap unit
  • the comertap is used to simulate die right virtual mouse button.
  • Hops to die left and right are used to simulate die middle and right virtual mouse buttons.
  • Simple taps simulate die left (primary) virtual mouse button.
  • Processing begins at step 300 as each (X,Y,Z) sample arrives from the aritiimetic unit 16 of FIG. 1.
  • such data arrive 40 times per second.
  • the algoridim of FIGS. 17a tiirough 17f will mn from start (step 300) to finish (step 392) every time a sample arrives.
  • Step 302 determines whedier die finger is up or down by comparing Z (pressure) against Zthresh to determine whedier a finger is present ("down") or not ("up”).
  • Z pressure
  • Zthresh Zthresh
  • up a simple tiireshold comparison
  • two thresholds may be used to provide hysteresis as is weU-known in the art. Hysteresis is not shown in FIG. 17a, but Arbitrar hysteresis will be illustrated later in FIG. 20 for the "push" gesture.
  • step 304 the finger is known to be down.
  • the previous Z is checked to see whedier die finger was previously down or is just now touching down on die pad.
  • a finger-down transition has been detected. This may indicate die beginning of a drag gesture or a successive row in drag extension, etc.
  • die change in the finger position from the previous finger position on the touchpad during DragTime and ExtendTime, respectively, is checked.
  • die drag gesture Ulustrated in figure 15b it is beneficial to check tiiat die finger has not moved a great distance during time "t5", the interval between the initial tap and the return of the finger to the pad. If die distance calculated during "t5" indicates that the finger has retumed die pad in a different location, then a drag gesture was probably not intended.
  • step 306 determines die TapState. If die TapState at step 306 is TAP, then step 308 computes the distance between the current position CurPos (the filtered and sraoodied X and Y position data) and the saved position of the previous tap, DownPos. If the distance is greater tiian some threshold DragRadius, then execution proceeds to step 310.
  • the tiireshold DragRadius should be some fraction of the width of die pad, preferably larger (more generous) tiian the TapRadius used in basic tap detection.
  • step 314 it is determined whether DragLock is enabled. If DragLock is enabled, die execution proceeds to step 312. Otiierwise the execution proceeds to step 316.
  • Step 316 computes the distance between die CurPos and the saved ending position of the previous stroke, UpPos. If the distance is greater than some threshold DragExtRadius, then execution proceeds to step 312. Otherwise it proceeds to step 310.
  • the tiireshold DragExtRadius should be some fraction of the widtii of the pad, as determined by user testing. (Some users may prefer a DragExtRadius of zero, so that step 316 is effectively disabled.)
  • a tine EucUdean distance measure is reasonable but expensive to compute; a simpler measure is die sum or maximum of die absolute values of die distances in X and Y.
  • the sum or maximum wiU produce a "drag zone" around die original tap which is diamond- or square-shaped, respectively, instead of die circular zone produced by a Euclidean distance measure.
  • tiiat users are unable to perceive die difference between diese zone shapes, so whichever measure is easiest to compute is preferred.
  • the geometry of the finger and touchpad may cause the significant motion to Ue always in one direction, e.g., X, in which case a simple absolute difference of X coordinates may be preferred.
  • the user is able to change the level of gesture recognition using a control panel or other means. If the user elects to allow taps but not drags, then step 308 can be programmed to go directiy to step 310 so that ati taps are disqualified from becoming drags.
  • step 310 a drag gesture has been disqualified.
  • TapState is changed from TAP to NONE; the effect wtil be a simple tap gesture foUowed by cursor motion with no virtual button held down.
  • Step 312 records die position and die time at which die finger touched down.
  • Step 318 initializes the TapOkay flag to FALSE. It also clears the Suppress flag which is used to delay the virtual button cticks resulting from "novice" taps. Step 318 ends die delay prematurely if the finger comes back down onto die touchpad. If the new finger stroke is the second tap of a double tap gesture, step 318 is responsible for ensuring tiiat the virtual cUck from the first tap is not accidentaUy suppressed entirely.
  • Step 320 which executes on all samples in which the finger is down, compares Z against the Ztap threshold; step 322 sets TapOkay to TRUE if Z is greater than the Ztap threshold.
  • TapOkay will be TRUE if Z ever exceeded the tap threshold during die brief stroke tiiat is a candidate for a tap gesture.
  • step 324 die finger is known to be off die pad.
  • the previous Z is checked to see whedier die finger was previously up or is just now being lifted
  • step 326 a finger-up transition has been detected.
  • Various tests are made of the most recent stroke (finger-down period) to see if it qualifies as a tap.
  • die stroke must have short duration (CurTime minus DownTime must be less than TapTime), little or no motion (the distance from CurPos to DownPos must be less than TapRadius), and sufficient peak finger pressure (TapOkay must be TRUE), in order to quaUfy as a tap.
  • any finger motion which has occurred is retroactively canceled out by quickly replaying to die host a corresponding negative amount of motion from the register or queue in order to "undo" die already-reported motion and to restore die original cursor position as of the moment the finger's presence was first detected. If die motion during the stroke was sent to the host in the form of a sequence of several packets, this sequence can be saved and replayed in reverse. If die host's motion processing is Unear, it wUl suffice to accumulate the total amount of motion during die stroke and send a compensating motion in a single packet Since die
  • Step 330 takes one of several actions based on d e current TapState.
  • TapState is NONE (no gestures in progress)
  • execution simply proceeds to step 332.
  • the duration of die tapping stroke, CurTime minus DownTime is computed to distinguish short, expert taps and long, novice taps.
  • execution simply proceeds to step 338 of figure 17c.
  • step 334 arranges to use a longer value for DragTime for the current gesture.
  • These steps may simply compare the tap duration to a fixed tiireshold to choose between two fixed DragTime values, or diey may use the tap duration to smoodily modulate die DragTime.
  • Step 334 also sets the Suppress flag to Tme to cause the virtual button signal to stay low for a short period.
  • this period is chosen to be the difference between die novice and expert DragTime values, so that the resulting non-suppressed portion of the virtual cUck has the same duration in aU cases, as shown in figure 15C.
  • Step 334 sets die Suppress flag to TRUE to cause the virtual button signal to go low for one sample. This corresponds to time "t22" of figure 15F.
  • one or more extra packets indicating a release of the virtual buttons can be inserted into the regular packet stream, rather than using a Suppress flag as shown herein.
  • distinct Suppress flags could be used for die two pu ⁇ oses of delaying novice clicks and processing double taps; for example, a 300 msec suppression may be desirable for delaying novice cticks, but for double-taps it may suffice to end the suppression after at least one packet reflecting the supression of virtual button has been sent to the host
  • Step 336 sets TapState back to TAP, tiien skips directly to step 370 of figure 17e, bypassing the steps which decide which of the three mouse buttons to simulate. Thus, the locking drag changes back into a tap on die same virtual mouse button. After the usual short duration ("tl3" of figure 15D), the virtual button wiU be released.
  • buttons choice (FIG. 17c) is omitted in die LOCKED case. If a right-button locking drag is initiated by, for example, a tap in the comer of the pad, then it should be possible to terminate die drag by tapping anywhere on die pad, not just in the co er. It is also significant that the button choice is included in the double tap case. Otherwise, it would be impossible, for example, to perform left- and right-button cticks in rapid alternation by tapping alternately in two different locations on the pad.
  • step 386 is performed next. This makes "tl3" of FIG. 15D equal to zero. Since TapState may also be LOCKED during drag extension, die implementation shown here also aUows the user to tap to cut short the drag extension period DragExtTime. In an altemate embodiment, taps could be ignored during the drag extension period. However, die significance of tiiis is lessened if DragExtTime is short. Referring now to FIG. 17c, step 338 checks whedier die current tap quaUfies as a "hop" gesture. This check involves several tests. First, the hop gesture must be enabled by the user.
  • die finger must have been raised for only a short amount of time between die current tap and die last time it was on the pad (DownTime minus UpTime must be less than HopTime). FinaUy, the position of this tap must be significantly far away from the previous position (the distance from DownPos to UpPos must be greater than HopDistance).
  • a variety of distance measures are possible.
  • the operations shown in FIGS. 17a through 17f support leftward and rightward hops; tiius, a reasonable distance measure is absolute difference in X coordinate between DownPos and UpPos.
  • CurTime and CurPos are used in place of DownTime and DownPos in step 338.
  • step 340 If the tap qualifies as a hop, execution proceeds to step 340. Since the system of tiiis example supports two different hop gestures, the direction of the hop is checked to determine die type of gesture. If the X coordinate of DownPos (or CurPos) is less tiian the X coordinate of UpPos, a leftward hop has occurred (assuming X increases to the right). If the X coordinate of
  • DownPos (or CurPos) is greater than the X coordinate of UpPos, a rightward hop has occurred. Note tiiat, due to die checks of step 336, DownPos will be either significantly to the left or significantly to the right of UpPos at this point.
  • a leftward hop causes TapButton to be set to die symbol MIDDLE, so that die tap gesture wtil generate a virtual middle mouse button click.
  • a rightward hop causes TapButton to be set to RIGHT, initiating a virtual right button click.
  • Step 346 executes if no hop was detected. It proceeds to check for the otiier supported altemate gesture, die comer tap.
  • a comer tap is a tap occurring in a smaU comer zone as shown in FIG. 16b.
  • a comer tap occurs if comer taps have been enabled by die user; the X coordinate of DownPos (or CurPos) is greater tiian some coordinate CornerX; and die Y coordinate is greater tiian some coordinate Corner Y. CornerX and Corner Y are shown on FIG. 16b.
  • step 348 no comer tap was detected, so TapButton is set to LEFT to simulate a click of die left virtual mouse button.
  • step 350 a comer tap was detected, so TapButton is set to RIGHT to simulate a right virtual mouse button click.
  • Step 352 records die current position as the new UpPos, the lift location used for later hop decoding.
  • UpPos is updated each time the finger is seen to lift from the pad.
  • the finger lift is itself part of a hopping tap gesture, UpPos is not updated. This is seen in die left branch of the flowchart of FIG. 17c. This exception is needed to support, for example, a double-cUck of he right virtual button.
  • the finger is Ufted, moved substantiaUy to the right, then tapped twice. The two taps wUl occur in roughly die same place. If UpPos were updated by die first tap, the second tap would be decoded as a left-button ctick.
  • UpPos is not updated on a tap that ends a locking drag.
  • User tests show that die last-lift location perceived by die user is usuaUy the last lift during die locking drag, with the terminating tap being a subconscious action whose location is not perceived as relevant. Therefore, it makes more sense to omit die update of UpPos for die terminating tap of a locking drag.
  • Step 354 sets TapState to TAP after any tap, comer tap, or hop gesture, tiius recording tiiat a gesture is in progress.
  • step 356 executes when die finger lifts from the pad in a way that does not quaUfy as a tap. This step checks if TapState is TAP; if so, die finger must have
  • a drag gesture Ufted from the long stroke of a drag gesture, e.g., time "t7" of FIG. 15b.
  • the drag gesture is eitiier terminated by the lift of the finger, or locked to become a locking drag.
  • Step 358 checks whether locking drags have been enabled by the user. This decision may be made at design time, for a system in which drags are always locking or always not or it may be based on a run-time option such as a control panel. If locking drags have not been enabled, then step 360 checks whedier drag extension has been enabled. This decision may be made at design time, for a system in which drags are always extended or not, or it may be based-on a n time option such as a control panel.
  • step 362 if drag extension is enabled, tiien the speed of the finger at Uft-off is checked to see whether it is above DragExtSpeed. This permits making the distinction between tine drags and presses described above.
  • step 364 the TAPSTATE of a drag is converted to LOCKED.
  • step 366 a drag is terminated by die lift of die finger.
  • step 368 which executes whenever the finger is Ufted and does not qualify as a tap, UpPos is updated to die current position as described above.
  • step 370 executes whenever the finger lifts from the pad.
  • the variable UpTime is updated to record die time at which the finger Ufted from die pad.
  • Step 372 determines the TapState for each sample in which the finger remains off die pad.
  • step 374 compares CurTime minus UpTime against
  • DragTime to see if die finger has stayed off the pad too long after a tap for die tap to be the beginning of a drag. It should be appreciated tiiat if variable DragTime is in use, the DragTime used for comparison wUl be a function of whether a short, expert tap has been made or a long, novice tap has been made. If die time limit is exceeded, and TapState equals TAP, tiien execution proceeds to step 376. Otiierwise, execution proceeds to step 378.
  • step 380 determines whether the DragLock mode has been enabled. If DragLock has not been enabled, tiien execution proceeds to step 382. If DragLock is enabled, then execution proceeds to step 378 and die drag continues.
  • Step 382 determines whedier die finger has been off die touchpad for a period exceeding ExtendTime. If not, the drag continues and execution proceeds to step 378. Otiierwise execution proceeds to step 376 where the TapState becomes NONE because the finger has been off the touchpad for too long to continue the drag. Step 378 checks whedier die finger has been off the pad long enough to end the suppression period begun by step 334. If so, execution proceeds to step 384, where die Suppress flag is set to False.
  • Step 376 changes TapState from TAP to NONE, ending die tap and tiius preventing the tap from extending to a drag, or die existing drag from being extended further.
  • step 386 executes on every sample regardless of die state of die finger.
  • This step begins a series of checks to determine the output of the tap unit 280 for this sample. First, if the Suppress flag is TRUE in step 386, virtual buttons are suppressed so the output is set to NONE in step 388.
  • TapState is examined in step 390. If TapState is TAP or LOCKED, then the button indicated by TapButton is output in step 392.
  • step 394 sets die output to NONE in this case.
  • step 396 Processing ends at step 396 (END).
  • the edge-motion feature of FIG. 13 is most useful during a drag gesture.
  • the "zigzag" unit 282 of FIG. 14 decodes a two-finger gesture in which one finger remains resting on the pad whtie anotiier finger taps to one side of the primary finger.
  • tiiis gesture will effectively increase the Z value whtie quickly shifting the X and/or Y value by a significant distance. (When two fingers are on die pad, the apparent position reported is midway between die two fingers.) If such a change is detected, and is followed by a rapid return to die original X, Y, and Z values, tiien a tap of a second finger is recognized.
  • zigzag refers to these characteristic cursor motions.
  • a motion-reversal mechanism similar to that used in the tap unit 280 can be employed to ensure tiiat the virtual button cUck occurs at the original, un-zigzagged location.
  • the only difficulty in tiiis case is that the motions involved may be large enough to trigger the host's acceleration feature, which means that either the reversal motion must be stored and replayed packet by packet, or die zigzag unit and host software must cooperate to ensure that the cursor does in fact return to the desired place.
  • FIGS. 18a through 18c are a flowchart describing die algoridim for die zigzag unit 282.
  • die zigzag unit 282 is best described as a flowchart. However, a hardware state machine is a known equivalent and would also be a reasonable implementation of die zigzag unit 282. Unlike the tap unit 280 flowchart of FIGS. 17a through 17f, the zigzag unit 282 flowchart executes once per stroke. When the finger's presence is detected (Z > Zthresh), execution begins at step 386. If the finger leaves the pad before execution ends, die zigzag unit 282 abandons its computation and starts over at step 386 on die next stroke.
  • FIGS. 18a through 18c Ulustrate the additional feature that leftward zigzags simulate a left button cUck, whtie rightward zigzags simulate a right button cUck.
  • the zigzag unit 282 requires die same position, Z, and time inputs as die tap unit 280. It also requires a speed measure S, which is computed as die distance from the previous to the current finger position at any given time. If any filtering or smoothing is done on die normal (X,Y) outputs of die arithmetic unit 16 as previously disclosed, it is best to compute die speed S from e unfiltered (X,Y) values.
  • State variables of die zigzag unit 282 include ZigZ and ZigZ', which record die two most recent values of Z; ZigPos, and ZigPos', which record die two most recent positions; ZigTime, which records the time at which the presence of the second finger was detected; ZigLeft and ZigRight, which are TRUE if a leftward or rightward zigzag has been detected, respectively; and Out, which represents the output of the zigzag unit 282, and is one of LEFT, RIGHT, or NONE.
  • the zigzag unit 282 uses several parameters. ZigDistance, die minimum distance die finger position can move to qualify for this gesture. ZigMaxTime is die maximum amount of time the second finger can be present to qualify. Szig is die instantaneous finger speed required to begin die detection of the gesture and is determined experimentaUy, depending on d e sample rate, sensor dimensions, and amount of analog filtering in the charge integrators. ZigRadius and ZigLimit specify how close the position and Z values, respectively, must return to their original pre-zigzag values after the second finger is lifted. ZigRadius is comparable to
  • TapRadius, and ZigLimit is about 30% of Zthresh in the presently preferred embodiment.
  • execution begins, when the finger's presence is detected, at step 400.
  • step 402 die zigzag unit 282 waits for approximately three (X,Y,Z) samples to arrive from the arithmetic unit 16. In die preferred embodiment these samples arrive at a rate of 40 per second. This initial delay is to prevent Z fluctuations at the beginning of the stroke from being mistaken for a second finger.
  • step 404 ZigZ and ZigZ' are initiaUzed to a reserved value denoted as NONE.
  • step 406 die zigzag unit 282 waits for the next (X,Y,Z) sample to arrive.
  • Step 408 checks for die beginning of a "zig", die first half of the zigzag gesture in which the apparent finger grows and jumps to one side.
  • the speed S of die current sample is compared against the threshold Szig. If S is greater, and ZigZ contains vaUd data (not the reserved value NONE), tiien execution proceeds to further vaUdation of the gesture in figure 18b.
  • step 410 no incipient "zig" has been seen, so ZigPos' is updated to reflect die most recent finger position, and ZigPos is updated to reflect the second-most-recent finger position.
  • ZigPos should be updated from die filtered or smoodied position data. In other words, it should be updated from die processed position data which is used to update the cursor position on the host
  • step 412 ZigZ' and ZigZ are similarly updated to reflect the two most recent Z values.
  • a second-finger tap wtil typicaUy occur to die left or right, i.e., different in X but not necessarily in Y.
  • the X denominator output of subtractor 168 of figure 8
  • die Y denominator output of subtractor 172
  • step 412 execution returns to step 406 where the next sample is awaited.
  • step 414 records die time at which die incipient "zig” was detected.
  • Step 416 then initializes the ZigLeft and ZigRight flags. These flags wtil become TRUE if the finger is seen to move significantly far to the left or right, respectively, of its starting position.
  • die (X,Y,Z) values typicaUy take two or tiiree samples to converge to their new values which reflect the presence of two fingers.
  • Step 418 waits for one or two more samples to arrive, after which time the (X,Y,Z) values should be settied.
  • the choice of one, two, or more samples depends on factors such as die basic sample rate and die amount of filtering that occurs in the analog input section of the device.
  • CurPos reflects the zigged apparent finger position
  • ZigPos reflects the position from two samples before the speed passed die Szig tiireshold.
  • the two-sample history is important because a small amount of motion may have occurred due to die approaching second finger, before die finger touched down and produced die large motion that exceeded Szig.
  • ZigPos contains d e current position saved at a time before the second finger is likely to have had an effect.
  • ZigZ contains the Z value from before the second finger arrived.
  • Step 420 checks to see if Z has increased substantiaUy beyond the resting Z value ZigZ. In the presently preferred embodiment, Z is compared against a threshold 30% larger than ZigZ. If Z is too smaU, the "zig" is disquaUfied and execution returns to step 404.
  • Step 422 checks to see if the current position is far to the left of the resting position ZigPos. Since the zigzag unit 282 is looking for an abmpt, "unnatural" change in position, it is preferable tiiat step 422 use position data direcdy from dividers 174 and/or 17f » of die arithmetic unit 16, before any filtering or smoothing that may normaUy be appUed to position data. This data is referred to herein as RawPos to distinguish it from the filtered and smoothed value CurPos. The value CurPos may be used, however, if desired, witii less than optimum results.
  • step 422 compares the X coordinate of RawPos widi the X coordinate of ZigPos minus ZigDistance.
  • the parameter ZigDistance can be chosen experimentally based on die observed spacing on die pad between two fingers when one finger is held down and the other tapped in a natural manner.
  • step 424 sets ZigLeft to TRUE.
  • Step 426 similarly checks if the current position is far to die right of die resting position; if so, step 428 sets ZigRight to TRUE.
  • Step 430 then waits for the next (X,Y,Z) sample to arrive.
  • Step 432 checks if the second finger has Ufted from the pad, by comparing Z against a second "zag" threshold somewhat less man the "zig” tiireshold of step 420.
  • tiiis threshold is roughly 20% larger tiian ZigZ.
  • the "zag” threshold is set below the "zig” threshold in order to provide simple hysteresis.
  • step 422 If die second finger has not yet lifted, execution returns to step 422 to continue waiting. If the second finger has Ufted, execution proceeds to step 434 on figure 18c.
  • step 434 waits one or two samples for the (X,Y,Z) data to stabilize as die second finger lifts; this step is analogous to step 418.
  • Step 436 does a final check for a complete zigzag gesture. So far, a sudden motion accompanied by an increase in Z has been seen, foUowed by sudden decrease in Z. Step 436 additionally checks that die position has returned to its prezigzag value (die distance from RawPos to ZigPos is less than ZigRadius); the Z value has simUarly retumed to normal (die absolute value of Z minus ZigZ is less than ZigLimit); and either ZigLeft or ZigRight but not both, is TRUE. In addition, the second-finger tap must be of short duration, i.e. CurTime minus ZigTime is less than ZigMaxTime.
  • step 438 provides reverse motion to restore the cursor to the exact position corresponding to ZigPos, if necessary. This step is analogous to step 328 of FIG. 17b.
  • step 440 a complete zigzag has been detected. If ZigLeft is TRUE, the motion is a leftward zigzag. Otherwise, ZigRight must be TRUE and die motion is a rightward zigzag. Accordingly, eitiier step 442 simulates a left button press for a leftward zigzag, or step 444 simulates a right button press for a rightward zigzag.
  • Step 446 pauses for a certain amount of time. For example, this step might wait for one or several more samples to arrive, or it might wait for one or several data packets to be sent to the host (Normally there is a one-to-one correspondence between samples and data packets.)
  • step 448 ends the simulated button press by setting Out to NONE.
  • the zigzag gesture only works to simulate cticks, not drags.
  • the zigzag does not extend neatly to a drag in die same way as the normal one-finger tap, since this would imply that the entire drag motion occurs with two fingers held awkwardly on die pad.
  • One alternative is to simulate a locking button, as is often done widi trackbaU buttons in die art, where consecutive zigzags alternately press and release die virtual button.
  • Anotiier alternative is to have the zigzag gesture press the virtual button, and to release die virtual button only when the primary finger is also removed from die pad.
  • step 448 execution returns to step 404 to await detection of further zigzag gestures.
  • Another gesture which is useful in specialized appUcations is a "push” gesture, which simply compares the Z (pressure) information against a second Z tiireshold ZpushDown, considerably higher tiian the basic finger-detection tiireshold, and simulates a mouse button action whenever Z exceeds tiiis threshold.
  • This "push” gesture is similar to die way pen-based pointing devices normaUy operate; however, it is too imprecise and too tiring on the finger to use as the primary cUck or drag gesture.
  • the "push” gesture is most useful in special contexts such as freehand drawing programs.
  • FIG. 19 is a timing diagram illustrating a "push" gesture.
  • die finger is first brought near enough to cause cursor motion without causing a virtual button press.
  • the finger pressure increases past threshold ZpushDown, causing die virtual button to be pressed.
  • die pressure reduces below a threshold ZpushUp, causing die virtual button to be released. If ZpushUp is somewhat lower man ZpushDown, the resulting hysteresis wiU prevent unwanted osciUation on die virtual button if die finger pressure varies stightly around die "push" threshold.
  • ZpushUp is set equal to Zthresh, so that once a push has begun the finger must be fully Ufted from die pad in order to release die simulated button.
  • Other users may prefer ZpushUp to be much closer to ZpushDown than to Zthresh, resulting in a more delicate feel.
  • the push unit 284 of FIG. 14 recognizes the push gesture.
  • FIG. 20 is a flowchart iUustrating the implementation of this gesture. The corresponding diagram for an equivalent hardware circuit to recognize this gesture would be quite straightforward.
  • Execution begins at step 450 every time a new (X,Y,Z) sample arrives from the arithmetic unit 16. Note that the push unit 284 examines only the Z value of each sample.
  • Step 452 checks whether or not a "push" gesture is already in progress.
  • Step 454 executes if no "push” gesture is in progress. This step checks if a "push” should begin. First, "push" gestures must be enabled by die user. Second, die current Z value must be greater tiian the threshold ZpushDown.
  • step 456 sets Out to LEFT to indicate that the left button is now pressed.
  • Step 458 checks if die current push gesture should end. This check simply involves comparing Z against ZpushUp. If Z is less man ZpushUp, the push gesture is terminated in step 460.
  • step 462 Execution ends at step 462. If neither step 456 nor step 460 was executed tiien Out remains die same, mus providing die hysteresis referred to above.
  • the state variable Out should be initiaUzed to NONE at startup time.
  • the tap unit 280 is suitable for use with any touchpad tiiat provides (X,Y) and finger-presence information
  • push unit 284 is suitable for use widi any touchpad that produces Z (pressure) information.
  • Only the zigzag unit 282 depends on special characteristics of die particular touchpad technology disclosed herein, namely die fact that two fingers reUably report an averaged finger position.
  • Two more algorithms that are not direcdy part of gesture processing may be used to address minor problems at occur when the user taps on the pad. Specifically, die finger position sometimes shears sha ⁇ ly in one direction just as the finger lifts away. This is due to natural sUppage of the finger during tiiis action, and is aggravated when the finger is held at a shallow angle.
  • a "reverse motion" algorithm can deal widi some of dtis problem, but if the apparent finger position jumps so far that the TapRadius test fails, reverse motion cannot help.
  • FIG. 21 shows an iUustrative circuit for performing the tift-jump suppression function.
  • the circuit shown in FIG. 21 performs lift jump suppression. It examines the sequence of (X,Y) position samples arriving from dividers 174 and 176 of FIG. 8 to produce a speed S which is further processed to obtain a motion-suppression signal. As described previously, it is best to use the quotient values directly, before any smoothing or filtering stage, when computing the speed S.
  • X coordinates are stored in delay 470.
  • Subtractor 472 computes die absolute value of die difference between die current X value and die previous value stored in delay 470.
  • delay 474 and subtractor 476 compute the absolute change in Y.
  • Delay units 480 and 482 record the previous and second-previous values of S, known as
  • Divider 484 computes die quantity one-half of S, denoted S/2.
  • the lift-jump suppression unit looks for a characteristic relationship among die values S, S', S", and S/2 in an attempt to recognize spurious lift-jump events.
  • One practiced in die art wtil recognize tiiat S" is not vatid until the fourth sample of a given finger stroke; thus, the lift-jump suppression unit is disabled for die first three samples of each stroke.
  • the lift- jump suppression unit also employs a parameter Liftjump, a speed threshold which is determined experimentaUy and is affected by the sample rate and die sensitivity of the sensor pad. Comparator 486 checks if the speed S is greater than the threshold Liftjump.
  • Comparator 488 checks to see if die previous speed S' is less than Liftjump, and comparator 490 checks if S' is less than S/2. Similarly, comparator 492 checks to see if the second- previous speed S" is less tiian Liftjump, and comparator 494 checks if S" is less than S/2. If aU five conditions are satisfied, AND gate 496 outputs a "suppress-motion" signal which suppresses the action of motion unit 18 for this sample. When motion unit 18 is suppressed, its output ( ⁇ X. ⁇ Y) is not generated for the current sample, and its delay unit 260 is not clocked.
  • the profile detected by die lift-jump suppression unit usuaUy occurs during a last spurious motion sample before the finger lifts. Since Z wiU faU below Zthresh on the very next sample, the current sample will never contribute to any motion events sent to the host. The algorithm is guaranteed by design not to suppress more than one sample in a row. Thus, if the algorithm "guesses wrong" and Z does not faU below Zthresh, die skipped finger motion wtil be taken up into die ( ⁇ X, ⁇ Y) packet produced by the next sample with only a tiny hesitation in the perceived cursor motion.
  • the increased sensitivity of the touch sensor system of the present invention aUows for a lighter input finger touch which makes it easy for human use. Increased sensitivity also makes it easier to use other input objects, like pen styU, etc. Additionally, this sensitivity aUows for a tradeoff against a thicker protective layer, or different materials, which both can aUow for lower manufacturing costs.
  • the data acquisition rate has been increased by about a factor of 30 over die prior art This offers several obvious side effects.
  • the circuitry can be turned off most of die time and reduce power consumption by roughly a factor of 30 in the analog section of the design.
  • more signal processing such as filtering and gesture recognition, can be performed.
  • the sensor electronic circuit employed in die present invention is very robust and catibrates out process and systematic errors. It wUl process the capacitive information from die sensor and provide digital information to an external device, for example, a microprocessor. Because of die unique physical features of die present invention, there are several ergonomicaUy interesting appUcations that were not previously possible. Presently a mouse or trackbaU is not physicaUy convenient to use on portable computers. The present invention provides a very convenient and easy-to-use cursor position solution that replaces those devices.
  • the senor of the present invention may be placed in a convenient location, e.g., below the "space bar" key in a portable computer.
  • the thumb of the user may be used as die position pointer on die sensor to control die cursor position on the computer screen.
  • the cursor may then be moved witiiout the need for die user's fingers to leave the keyboard.
  • tiiis is Multiar to the concept of the Macintosh Power Book with its trackbaU, however the present invention provides a significant advantage in size over die trackball. Extensions of this basic idea are possible in that two sensors could be placed below die "space bar” key for even more feature control.
  • the computer display witii its cursor feedback is one smaU example of a very general area of application where a display could be a field of Ughts or LEDs, an LCD display, or a CRT. Examples include touch controls on laboratory equipment where present equipment uses a knob/button touch screen combination. Because of tiie articulating abitity of this interface, one or more of those inputs could be combined into one of die inputs described witii respect to the present invention.
  • Consumer Electronic Equipment (stereos, graphic equaUzers, mixers) appUcations often utilize significant front panel surface area for sUde potentiometers because variable control is needed.
  • the present invention can provide such control in one smaU touch pad location. As Electronic Home Systems become more common, denser and more powerful human interface is needed.
  • the sensor technology of the present invention permits a very dense control panel. Hand-held TN/NCR/Stereo controls could be ergonomically formed and aUow for more powerful features if tiiis sensor technology is used.
  • the sensor of die present invention can be conformed to any surface and can be made to detect multiple touching points, making possible a more powerful joystick.
  • the unique pressure detection ability of the sensor technology of the present invention is also key to tiiis apphcation.
  • Computer games, "remote" controls (hobby electronics, planes) , and machine tool controls are a few examples of appUcations which would benefit from die sensor technology of tiie present invention.
  • the sensor technology of die present invention can best detect any conducting material pressing against it.
  • By adding a compressible insulating layer covered by a layer of conductive material on top of the sensor the sensor of the present invention may also indirectly detect pressure from any object being handled, regardless of its electrical conductivity.

Abstract

Methods for recognizing gestures made by a conductive object on a touch-sensor pad and for cursor motion are disclosed. Tapping, drags, pushes, extended drags and variable drags gestures are recognized by analyzing the position, pressure, and movement of the conductive object on the sensor pad during the time of a suspected gesture, and signals are sent to a host indicating the occurrence of these gestures. Signals indicating the position of a conductive object and distinguishing between the peripheral portion and an inner portion of the touch-sensor pad are also sent to the host.

Description

SEECIEICA1IQN
OBJECT POSΓΠON DETECTOR WΠΉ EDGE MOΉON FEATURE AND GESTURE RECOGNITION
RELATED APPLICAΗONS
This application is a continuation-in-part of co-pending application Serial No. 08/320,158, filed October 7, 1994, which is a continuation-in-part of co-pending application Serial No.08/300,387, filed September 2, 1994, which is a continuation-in-part of application Serial No. 08/115,743, filed August 31, 1993, now United States Patent No. 5,374,787, which is a continuation-in-part of co-pending application Serial No. 07/895,934, filed June 8, 1992.
BACKGROUND OF THE INVENΗON
1. Field Of The Invention
The present invention relates to object position sensing transducers and systems. More particularly, the present invention relates to object position recognition useful in applications such as cursor movement for computing devices and other applications, and especially to cursor movement with enhanced edge-motion and gesture-recognition features.
2. The Prior Art
Numerous devices are available or have been proposed for use as object position detectors for use in computer systems and other applications. The most familiar of such devices is the computer "mouse". While extremely popular as a position indicating device, a mouse has mechanical parts and requires a surface upon which to roll its position ball. Furthermore, a mouse usually needs to be moved over long distances for reasonable resolution. Finally, a mouse requires the user to lift a hand from the keyboard to make the cursor movement, thereby upsetting the prime purpose, which is usually typing on the computer.
Trackball devices are similar to mouse devices. A major difference, however is that, unlike a mouse device, a trackball device does not require a surface across which it must be rolled. Trackball devices are still expensive, have moving parts, and require a relatively heavy touch as do the mouse devices. They are also large in size and doe not fit well in a volume- sensitive application like a laptop computer.
There are several available touch-sense technologies which may be employed for use as a position indicator. Resistive-membrane position sensors are known and used in several applications. However, they generally suffer from poor resolution, the sensor surface is exposed to the user and is thus subject to wear. In addition, resistive-membrane touch sensors are relatively expensive. A one-surface approach requires a user to be grounded to the sensor for reliable operation. This cannot be guaranteed in portable computers. An example of a one- surface approach is the UnMouse product by MicroTouch, of Wilmington, MA A two-surface approach has poorer resolution and potentially will wear out very quickly in time.
Resistive tablets are taught by United States Patent No.4,680,430 to Yoshikawa, United States Patent No. 3,497,617 to Ellis and many others. The drawback of all such approaches is the high power consumption and the high cost of the resistive membrane employed.
Surface Acoustic Wave (SAW) devices have potential use as position indicators.
However, this sensor technology is expensive and is not sensitive to light touch. In addition, SAW devices are sensitive to residue buildup on the touch surfaces and generally have poor resolution.
Strain gauge or pressure plate approaches are an interesting position sensing technology, but suffer from several drawbacks. This approach may employ piezo-electric transducers. One drawback is that the piezo phenomena is an AC phenomena and may be sensitive to the user's rate of movement In addition, strain gauge or pressure plate approaches are somewhat expensive because special sensors are required.
Optical approaches are also possible but are somewhat limited for several reasons. All would require light generation which will require external components and increase cost and power drain. For example, a "finger-breaking" infra-red matrix position detector consumes high power and suffers from relatively poor resolution.
There have been numerous attempts to provide a device for sensing the position of a thumb or other finger for use as a pointing device to replace a mouse or trackball. Desirable attributes of such a device are low power, low profile, high resolution, low cost, fast response, and ability to operate reliably when the finger carries electrical noise, or when the touch surface is contaminated with dirt or moisture.
Because of the drawbacks of resistive devices, many attempts have been made to provide pointing capability based on capacitively sensing the position of the finger. United States Patent No. 3,921,166 to Volpe teaches a capacitive matrix in which the finger changes the transcapacitance between row and column electrodes. United States Patent No. 4,103,252 to Bobick employs four oscillating signals to interpolate x and y positions between four capacitive electrodes. United States Patent No. 4,455,452 to Schuyler teaches a capacitive tablet wherein the finger attenuates the capacitive coupling between electrodes.
United States Patent No. 4,550,221 "to Mabusth teaches a capacitive tablet wherein the effective capacitance to "virtual ground" is measured by an oscillating signal. Each row or column is polled sequentially, and a rudimentary form of interpolation is applied to resolve the position between two rows or columns. An attempt is made to address the problem of electrical interference by averaging over many cycles of the oscillating waveform. The problem of contamination is addressed by sensing when no finger was present, and applying a periodic calibration during such no-finger-present periods. United States Patent No. 4,639,720 to Rympalski teaches a tablet for sensing the position of a stylus. The stylus alters the transcapacitance coupling between row and column electrodes, which are scanned sequentially. United States Patent No. 4,736,191 to Matzke teaches a radial electrode arrangement under the space bar of a keyboard, to be activated by touching with a thumb. This patent teaches the use of total touch capacitance, as an indication of the touch pressure, to control the velocity of cursor motion. Pulsed sequential polling is employed to address the effects of electrical interference.
United States Patent Nos. 4,686,332 and 5,149,919, to Greanias, teaches a stylus and finger detection system meant to be mounted on a CRT. As a finger detection system, it's X/Y sensor matrix is used to locate the two matrix wires carrying the maximum signal. With a coding scheme these two wires uniquely determine the location of the finger position to the resolution of the wire stepping. For stylus detection, Greanias first coarsely locates it, then develops a virtual dipole by driving all lines on one side of the object in one direction and all lines on the opposite side in the opposite direction. This is done three times with different dipole phases and signal polarities. Assuming a predetermined matrix response to the object, the three measurements present a set of simultaneous equations that can be solved for position.
United States Patent No. 4,733,222 to Evans is the first to teach a capacitance touch measurement system that interpolates to a high degree. Evans teaches a three terminal measurement system that uses a drive, sense and electrode signal set (3 signals) in its matrix, and bases the measurement on the attenuation effect of a finger on the electrode node signal (uses a capacitive divider phenomena). Evans sequentially scans through each drive set to measure the capacitance. From the three largest responses an interpolation routine is applied to determine finger position. Evans also teaches a zeroing technique that allows "no-finger" levels to be canceled out as part of the measurement.
United States Patent No. 5,016,008 to Gruaz describes a touch sensitive pad that also uses interpolation. Gruaz uses a drive and sense signal set (2 signals) in the touch matrix and like Evans relies on the attenuation effect of a finger to modulate the drive signal. The touch matrix is sequentially scanned to read the response of each matrix line. An inteφolation program then selects the two largest adjacent signals in both dimensions to determine the finger location, and ratiometrically determines the effective position from those 4 numbers.
Gerpheide, PCT application US90/04584, publication No. W091/03039, United States
Patent No. 5,305,017 applies to a touch pad system a variation of the virtual dipole approach of Greanias. Geφheide teaches the application of an oscillating potential of a given frequency and phase to all electrodes on one side of the virtual dipole,and an oscillating potential of the same frequency and opposite phase to those on the other side. Electronic circuits develop a "balance signal" which is zero when no finger is present, and which has one polarity if a finger is on one side of the center of the virtual dipole, and the opposite polarity if the finger is on the opposite side. To acquire the position of the finger initially, the virtual dipole is scanned sequentially across the tablet. Once the finger is located, it is "tracked" by moving the virtual dipole toward the finger once the finger has moved more than one row or column.
Because the virtual dipole method operates by generating a balance signal that is zero when the capacitance does not vary with distance, it only senses the perimeter of the finger contact area, rather than the entire contact area. Because the method relies on synchronous detection of the exciting signal, it must average for long periods to reject electrical interference, and hence it is slow. The averaging time required by this method, together with the necessity to search sequentially for a new finger contact once a previous contact is lost, makes this method, like those before it, fall short of the requirements for a fast pointing device that is not affected by electrical interference.
It should also be noted that all previous touch pad inventions that used inteφolation placed rigorous design requirements on their sensing pad. Greanias and Evans use a complicated and expensive drive, sense and electrode line scheme to develop their signal. Gruaz and
Geφheide use a two signal drive and sense set. In the present invention the driving and sensing is done on the same line. This allows the row and column sections to be symmetric and equivalent This in turn allows independent calibration of all signal paths, which makes board layout simpler and less constraining, and allows for more unique sensor topologies.
The shortcomings of the inventions and techniques described in the prior art can also be traced to the use of only one set of driving and sensing electronics, which was multiplexed sequentially over the electrodes in the tablet. This arrangement was cost effective in the days of discrete components, and avoided offset and scale differences among circuits. The sequential scanning approach of previous systems also made them more susceptible to noise. Noise levels could change between successive measurements, thus changing the measured signal and the assumptions used in inteφolation routines.
Finally, all previous approaches assumed a particular signal response for finger position versus matrix position. Because the transfer curve is very sensitive to many parameters and is not a smooth linear curve as Greanias and Geφheide assume, such approaches are limited in the amount of interpolation they can perform.
In prior co-pending application serial No. 08/115,743, filed August 31, 1993, now United States Patent No. 5,734,787, a two-dimensional capacitive sensing system equipped with a separate set of drive/sense electronics for each row and for each column of a capacitive tablet is disclosed. All row electrodes are sensed simultaneously, and all column electrodes are sensed simultaneously. The sensed signals are processed by analog circuitry.
Of the touchpad devices currently available, only the Alps/Cirque GlidePoint includes gesture recognition. The GlidePoint supports basic tap, double-tap, and drag gestures to simulate actions on a primary mouse button. It does not support multiple-finger gestures, nor are there gestures for simulating secondary button clicks. No information is known about the implementation methods employed in the GlidePoint. However, the GlidePoint is known to have difficulty with double-taps, one of the problems addressed by the present invention. The GlidePoint exhibits a hesitation on each finger-motion stroke which may be an attempt to stabilize the cursor during tap gestures. Also, the GhdePoint must rely on physical switches or extremely high gain or acceleration in order to allow drags over long distances.
One touchpad product, the UnMouse, mounts a switch underneath its resistive sensor so that the user simply presses down on the pad to activate the button. Aside from requiring fragile and complex mechanical mounting, this device also is reported to be very tiring to the user.
Graphics tablets operated by a pressure sensitive stylus instead of a finger are well known in the art These devices typically use a mechanism like the "push" gesture of the present invention to simulate actuator switches. No other gestures of the sort described herein have been seen in stylus operated tablets.
It is thus an object of the present invention to provide a two-dimensional capacitive sensing system equipped with a separate set of drive sense electronics for each row and for each column of a capacitive tablet, wherein all row electrodes are sensed simultaneously, and all column electrodes are sensed simultaneously. It is a further object of the present invention to provide an electronic system that is sensitive to the entire area of contact of a finger or other conductive object with a capacitive tablet, and to provide as output the coordinates of some measure of ihe center of this contact area while remaining insensitive to the characteristic profile of the object being detected.
It is a further object of the present invention to provide an electronic system that provides as output some measure of area of contact of a finger or other conductive object with a capacitive tablet.
Yet another object of the present invention is to provide a two-dimensional capacitive sensing system equipped with a separate set of drive/sense electronics for each row and for each column of a capacitive tablet, wherein all row electrodes are sensed simultaneously, and all column electrodes are sensed simultaneously and wherein the information defining the location of a finger or other conductive object is processed in digital form.
It is a further object of the present invention to provide a two-dimensional capacitive sensing system wherein all row electrodes are sensed simultaneously, and all column electrodes are sensed simultaneously and wherein the location of a finger or other conductive object within a peripheral region of a sensing plane can optionally cause cursor "edge motion" on a display screen allowing control of large cursor excursions from a small sensing plane with a single gesture.
A further object of the invention is to provide for the recognition of a drag extension gesture made by a finger or other object on a touch-sensor pad in a manner which permits control of large cursor excursions from a small sensing plane with a single gesture.
A further object of the invention is to provide for the recognition of gestures made by a finger or other object on a touch-sensor pad in a manner which compensates for unintended motion of the finger or other object during expression of the gesture.
Yet another object of the present invention is to provide for the recognition of multiple-finger gestures and for simulating secondary button clicks.
It is a further object of the present invention is to provide for the recognition of the difference between gestures made by novice and expert users. BRIEF DESCRIPTION OF THE INVENTION With the advent of very high levels of integration, it has become possible to integrate many channels of driving/sensing electronics into one integrated circuit, along with the control logic for operating them, and the interface electronics to allow the pointing device to communicate directly with a host microprocessor. The present invention uses adaptive analog techniques to overcome offset and scale differences between channels, and can thus sense either transcapacitance or self-capacitance of all tablet rows or columns in parallel. This parallel- sensing capability, made possible by providing one set of electronics per row or column, allows the sensing cycle to be extremely short, thus allowing fast response while still maintaining immunity to very high levels of electrical interference.
The present invention comprises a position-sensing technology particularly useful for applications where finger position information is needed, such as in computer "mouse" or trackball environments. However the position-sensing technology of the present invention has much more general application than a computer mouse, because its sensor can detect and report if one or more points are being touched. In addition, the detector can sense the pressure of the touch.
According to a preferred embodiment of the present invention, referred to herein as a "finger pointer" embodiment, a position sensing system includes a position sensing transducer comprising a touch-sensitive surface disposed on a substrate, such as a printed circuit board, including a matrix of conductive lines. A first set of conductive lines runs in a first direction and is insulated from a second set of conductive lines running in a second direction generally perpendicular to the first direction. An insulating layer is disposed over the first and second sets of conductive lines. The insulating layer is thin enough to promote significant capacitive coupling between a finger placed on its surface and the first and second sets of conductive lines.
Sensing electronics respond to the proximity of a finger, conductive object, or an object of high dielectric constant (i.e., greater than about 5) to translate the capacitance changes of the conductors caused by object proximity into digital information which is processed to derive position and touch pressure information. Its output is a simple X, Y and pressure value of the one object on its surface. In all descriptions herein, fingers are to be considered interchangeable with conductive objects and objects of high dielectric constant.
Different prior art pad scan techniques have different advantages in different environments. Parallel drive/sense techniques according to the present invention allow input samples to be taken simultaneously, thus all channels are affected by the same phase of an interfering electrical signal, greatly simplifying the signal processing and noise filtering. There are two drive/sense methods employed in the touch sensing technology of the present invention. According to a first and presently preferred embodiment of the invention, the voltages on all of the X lines of the sensor matrix are simultaneously moved, while the voltages of the Y Unes are held at a constant voltage; with the complete set of sampled points simultaneously giving a profile of the finger in the X dimension. Next, the voltages on all of the
Y lines of the sensor matrix are simultaneously moved, while the voltages of the X lines are held at a constant voltage to obtain a complete set of sampled points simultaneously giving a profile of the finger in the other dimension.
According to a second drive/sense method, the voltages on all of the X lines of the sensor matrix are simultaneously moved in a positive direction, while the voltages of the Y lines are moved in a negative direction. Next, the voltages on all of the X lines of the sensor matrix are simultaneously moved in a negative direction, while the voltages of the Y lines are moved in a positive direction. This technique doubles the effect of any transcapacitance between the two dimensions, or conversely, halves the effect of any parasitic capacitance to ground. In both methods, the capacitive information from the sensing process provides a profile of the proximity of the finger to the sensor in each dimension.
As presently preferred, both embodiments then take these profiles and derive a digital value representing the centroid for X and Y position and derive a second digital value for the Z pressure information. The digital information may be directly used by a host computer. Analog processing of the capacitive information may also be used according to the present invention.
The position sensor of these embodiments can only report the position of one object on its sensor surface. If more than one object is present, the position sensor of this embodiment computes the centroid position of the combined set of objects. However, unlike prior art, because the entire pad is being profiled, enough information is available to discern simple multi- finger gestures to allow for a more powerful user interface.
According to another aspect of the present invention, several power reduction techniques which can shut down the circuit between measurements have been integrated into the system. This is possible because the parallel measurement technique according to the present invention is so much faster than prior art techniques.
According to a further aspect of the invention, a variety of noise reduction techniques are integrated into the system. According to yet another aspect of the present invention, a capacitance measurement technique which is easier to calibrate and implement is employed.
According to two aspects of the present invention, when the presence of a finger or other conductive object is sensed within a defined peripheral region of the sensing plane, the control of cursor motion may be changed to provide "edge motion" to allow control of large cursor excursions on a display screen from a single gesture executed on a small sensing plane.
According to another aspect of the invention a drag extension gesture is recognized by the host which permits the control of large cursor excursions on a display screen from a single gesture executed on a small sensing plane.
According to a further object of the present invention, a number of gestures made by a finger or other object on the touch-sensor pad are recognized and communicated to a host. Recognition of whether certain gestures are made by novice or expert users is also provided. Compensation for unintended motion of the finger or other object during expression of the gestures is provided.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is an overall block diagram of the capacitive position sensing system of the present invention.
FIG. 2a is a top view of an object position sensor transducer according to a presently preferred embodiment of the invention showing the object position sensor surface layer including a top conductive trace layer and conductive pads connected to a bottom trace layer.
FIG. 2b is a bottom view of the object position sensor transducer of FIG. 2a showing the bottom conductive trace layer.
FIG. 2c is a composite view of the object position sensor transducer of FIGS. 2a and 2b showing both the top and bottom conductive trace layers.
FIG. 2d is a cross-sectional view of the object position sensor transducer of FIGS. 2a-
2c.
FIG. 3 is a block diagram of sensor decoding electronics which may be used with the sensor transducer in accordance with a preferred embodiment of the present invention. FIG. 4a is a simplified schematic diagram of a charge integrator circuit which may be used in the present invention.
FIG. 4b is an illustrative schematic diagram of the charge integrator circuit of FIG. 4a.
FIG. 5 is a timing diagram of the operation of charge integrator circuit of FIGS. 4a and 4b.
FIG. 6 is a schematic diagram of an illustrative filter and sample/hold circuit for use in the present invention.
FIG. 7 is a more detailed block diagram of a presently preferred arrangement of A/D converters for use in the present invention.
FIG. 8 is a block diagram of an illustrative arithmetic unit which may be used in the present invention.
FIG. 9 is a block diagram of a calibration unit which may be used with the arithmetic unit of FIG. 8.
FIG. 10 is a schematic diagram of a bias voltage generating circuit useful in the present invention.
FIG. 11 is a diagram of the sensing plane illustrating the edge motion feature of the object position sensor of the present invention.
FIG. 12A is a schematic diagram illustrating a first hardware implementation of the determination of whether a finger or other object is present in the peripheral regions of the sensing plane.
FIG. 12B is a schematic diagram illustrating a first hardware implementation of the determination of whether a finger or other object is present in the peripheral regions of the sensing plane.
FIG. 13 is a schematic diagram illustrating hardware implementation of the edge motion feature of the present invention.
FIG. 14 is a more detailed block diagram of gesture unit 20 of FIG. 1. FIGS. 15a through 15g are timing diagrams illustrating some of the gestures which may be recognized according to the present invention.
FIGS. 16a and 16b are diagrams illustrating two tap zone shapes which may be used on sensor pads according to the present invention.
FIGS 17a through 17f comprise a flowchart illustrating the operation of the tap unit of
FIG. 14.
FIGS. 18a through 18c comprise a flowchart illustrating the operation of the zigzag unit of FIG. 14.
FIG. 19 is a timing diagram illustrating a "push" gesture according to the present invention.
FIG. 20 is a flowchart illustrating the operation of the push unit of FIG. 14.
FIG. 21 is a block diagram of an illustrative LiftJump suppressor circuit which may be used in gesture recognition according to the present invention.
DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT This application is a continuation-in-part of co-pending application serial No.
08/300,387, filed September 2, 1994, which is a continuation-in-part of co-pending application serial No. 08/115,743, filed August 31, 1993, now United States Patent No. 5,374,787, which is a continuation-in-part of co-pending application serial No. 07/895,934, filed June 8, 1992. The present invention continues the approach disclosed in the parent applications and provides more unique features not previously available. These improvements provide a more easily integrated solution, increased sensitivity, and greater noise rejection, increased data acquisition rate and decreased power consumption. The present invention allows for continuous self calibration to subtract out the effects of environmental changes and allows for enhanced cursor control from edge motion on a sensing plane.
Those of ordinary skill in the art will realize that the following description of the present invention is illustrative only and not in any way limiting. Other embodiments of the invention will readily suggest themselves to such skilled persons.
The present invention brings together in combination a number of unique features which allow for new applications not before possible. Because the object position sensor of the present invention has very low power requirements, it is beneficial for use in battery operated or low power applications such as lap top or portable computers . It is also a very low cost solution, has no moving parts (and is therefore virtually maintenance free), and uses the existing printed circuit board traces for sensors. The sensing technology of the present invention can be integrated into a computer motherboard to even further lower its cost in computer applications.
Similarly, in other applications the sensor can be part of an already existent circuit board.
Because of its small size and low profile, the sensor technology of the present invention is useful in lap top or portable applications where volume is an important consideration. The sensor technology of the present invention requires circuit board space for only a single sensor interface chip that can interface directly to a microprocessor, plus the area needed on the printed circuit board for sensing.
Referring first to FIG. 1, a simplified block diagram of the capacitive position sensing system 6 of the present invention is presented. Capacitive position sensing system 6 can accurately determine the position of a finger 8 or other conductive object proximate to or touching a sensing plane 10. The capacitance of a plurality of conductive lines running in a first direction
(e.g., "X") is sensed by X input processing circuitry 12 and the capacitance of a plurality of conductive lines running in a second direction (e.g., "Y") is sensed by Y input processing circuitry 14. The sensed capacitance values are digitized in both X input processing circuitry 12 and Y input processing circuitry 14. The outputs of X input processing circuitry 12 and Y input processing circuitry 14 are presented to arithmetic unit 16, which uses the digital information to derive digital information representing the position and pressure of the finger 8 or other conductive object relative to the sensing plane 10.
The X, Y, and Z outputs of arithmetic unit 16 are directed to motion unit 18 which provides the cursor motion direction signals to the host computer. Those of ordinary skill in the art will recognize, that as used herein, "host" may mean a stand-alone computer such as an IBM or compatible PC or computer made by Apple Computers, hand-held control units, personal digital assistants, remote communication devices, or the like, or to any other devices or systems which can take as input the output of a touch tablet.
The X, Y, and Z outputs of arithmetic unit 16 are also directed to gesture unit 20, which is used to recognize certain finger gestures performed by a user on sensing plane 10. In addition, gesture unit 20 may produce a signal to motion unit 18 to enable the edge motion feature of the present invention based on the state of gesture processing. The sensor material can be anything that allows creation of a conductive X/Y matrix of pads. This includes not only standard PC boards, but also includes but is not limited to flexible PC boards, conductive elastomer materials, silk-screened conductive lines, and piezo-electric Kynar plastic materials. This renders it useful as well in any portable equipment apphcation or in human interface where the sensor needs to be molded to fit within the hand.
The sensor can be conformed to any three dimensional surface. Copper can be plated in two layers on most any surface contour producing the sensor. This will allow the sensor to be adapted to the best ergonomic form needed for any particular application. This coupled with the "light-touch" feature will make it effortless to use in many applications. The sensor can also be used in an indirect manner, i.e it can have an insulating foam material covered by a conductive layer over the touch sensing surface and be used to detect any object (not just conductive) that presses against it's surface.
Small sensor areas are practical, i.e., a presently conceived embodiment takes about 1.5"x 1.5" of area, however those of ordinary skill in the art will recognize that the area is scaleable for different applications. The matrix area is scaleable by either varying the matrix trace spacing or by varying the number of traces. Large sensor areas are practical where more information is needed.
Besides simple X and Y position information, the sensor technology of the present invention also provides finger pressure information. This additional dimension of information may be used by programs to control special features such as "brush- width" modes in Paint programs, special menu accesses, etc., allowing provision of a more natural sensory input to computers. It has also been found useful for implementing "mouse click and drag" modes and for simple input gestures.
The user will not even have to touch the surface to generate the minimum reaction. This feature can greatly minimize user strain and allow for more flexible use.
The sense system of the present invention depends on a transducer device capable of providing position and pressure information regarding the object contacting the transducer. Referring now to FIGS. 2a-2d, top, bottom, composite, and cross-sectional views, respectively, are shown of a presently -preferred sensing plane 10 comprising a touch sensor array 22 for use in the present invention. Since capacitance is exploited by this embodiment of the present invention, the surface of touch sensor array 22 is designed to maximize the capacitive coupling to a finger or other conductive object. A presently preferred touch sensor array 22 according to the present invention comprises a substrate 24 including a set of first conductive traces 26 disposed on a top surface 28 thereof and run in a first direction to comprise row positions of the array. A second set of conductive traces 30 are disposed on a bottom surface 32 thereof and run in a second direction preferably orthogonal to the first direction to form the column positions of the array. The top and bottom conductive traces 26 and 30 are alternately in contact with periodic sense pads 34 comprising enlarged areas, shown as diamonds in FIGS. 2a-2c. While sense pads 34 are shown as diamonds in FIGS. 2a-2c, any shape, such as circles, which allows them to be closely packed is equivalent for puφoses of this invention. As an arbitrary convention herein, the first conductive traces 26 will be referred to as being oriented in the "X" or "row" direction and may be referred to herein sometimes as "X lines" and the second conductive traces 30 will be referred to as being oriented in the "Y" or "column" direction and may be referred to herein sometimes as "Y lines".
The number and spacing of these sense pads 34 depends upon the resolution desired. For example, in an actual embodiment constructed according to the principles of the present invention, a 0.10 inch center-to-center diamond-shaped pattern of conductive pads disposed along a matrix of 15 rows and 15 columns of conductors is employed. Every other sense pad 34 in each direction in the pad pattern is connected to conductive traces on the top and bottom surfaces 28 and 32, respectively of substrate 24.
Substrate 24 may be a printed circuit board, a flexible circuit board or any of a number of available circuit interconnect technology structures. Its thickness is unimportant as long as contact may be made therethrough from the bottom conductive traces 30 to their sense pads 34 on the top surface 28. The printed circuit board comprising substrate 24 can be constructed using standard industry techniques. Board thickness is not important. Connections from the conductive pads 34 to the bottom traces 30 may be made employing standard plated-through hole techniques well known in the printed circuit board art.
In an alternate embodiment of the present invention, the substrate material 24 may have a thickness on the order of 0.005 to 0.010 inches. Then the diamonds on the upper surface 28 and the plated through holes that connect to the lower surface traces 30, can be omitted, further reducing the cost of the system.
An insulating layer 36 is disposed over the sense pads 34 on top surface 28 to insulate a human finger or other object therefrom. Insulating layer 36 is preferably a thin layer (i.e., approximately 5 mils) to keep capacitive coupling large and may comprise a material, such as mylar, chosen for its protective and ergonomic characteristics. The term "significant capacitive coupling" as used herein shall mean capacitive coupling having a magnitude greater than about 0.5 pF.
There are two different capacitive effects taking place when a finger approaches the touch sensor array 22. The first capacitive effect is trans-capacitance, or coupling between sense pads 34, and the second capacitive effect is self -capacitance, or coupling to virtual ground. Sensing circuitry is coupled to the sensor array 22 of the present invention and responds to changes in either or both of these capacitances. This is important because the relative sizes of the two capacitances change greatly depending on the user environment The ability of the present invention to detect changes in both self capacitance and trans-capacitance results in a very versatile system having a wide range of applications.
According to the preferred embodiment of the invention, a position sensor system including touch sensor array 22 and associated position detection circuitry will detect a finger position on a matrix of printed circuit board traces via the capacitive effect of finger proximity to the sensor array 22. The position sensor system will report the X, Y position of a finger placed near the sensor array 22 to much finer resolution than the spacing between the row and column traces 26 and 30. The position sensor according to this embodiment of the invention will also report a Z value proportional to the outline of that finger and hence indicative of the pressure with which the finger contacts the surface of insulating layer 36 over the sensing array 22.
According to the presently preferred embodiment of the invention, a very sensitive, light- touch detector circuit may be provided using adaptive analog and digital NLSI techniques. The circuit of the present invention is very robust and calibrates out process and systematic errors. The detector circuit of the present invention will process the capacitive input information and provide digital information which may be presented directly to a microprocessor.
According to this embodiment of the invention, sensing circuitry is contained on a single sensor processor integrated circuit chip. The sensor processor chip can have any number of X and Y "matrix" inputs. The number of X and Y inputs does not have to be equal. The Integrated circuit has a digital bus as output. In the illustrative example disclosed in FIGS. 2a-2d herein, the sensor array has 15 traces in both the X and Y directions. The sensor processor chip thus has 15 X inputs and 15 Y inputs. An actual embodiment constructed according to the principles of the present invention employed 18 traces in the X direction and 24 traces in the Y direction.
Those of ordinary skill in the art will recognize that the size of the sensing matrix which may be employed in the present invention is arbitrary and will be dictated largely by design choice. The X and Y matrix nodes are driven and sensed in parallel, with the capacitive information from each line indicating how close a finger is to that node. The scanned information provides a profile of the finger proximity in each dimension. According to this aspect of the present invention, the profile centroid is derived in both the X and Y directions and is the position in that dimension. The profile curve of proximity is also integrated to provide the Z information.
There are two drive and sense methods employed in the touch sensing technology of the present invention. According to a first and presently preferred embodiment of the invention, the voltages on all of the X lines of the sensor matrix are simultaneously moved, while the voltages of the Y Unes are held at a constant voltage. Next, the voltages on aU of the Y lines of the sensor matrix are simultaneously moved, while the voltages of the X lines are held at a constant voltage. This scanning method accentuates the measurement of capacitance to virtual ground provided by the finger. Those of ordinary skill in the art will recognize that order of these two steps is somewhat arbitrary and may be reversed.
According to a second drive/sense method, the voltages on all of the X lines of the sensor matrix are simultaneously moved in a positive direction, while the voltages of the Y Unes are moved in a negative direction. Next, the voltages on all of the X lines of the sensor matrix are simultaneously moved in a negative direction, while the voltages of the Y Unes are moved in a positive direction. This second drive sense method accentuates transcapacitance and de- emphasizes virtual ground capacitance. As with the first drive/sense method, those of ordinary skill in the art wiU recognize that order of these two steps is somewhat arbitrary and may be reversed.
Referring now to FIG. 3, a block diagram of the presently preferred sensing circuitry 40 for use according to the present invention is presented. This block diagram, and the accompanying disclosure, relates to the sensing circuitry in one dimension (X) only, and includes the X input processing circuitry 12 of FIG. 1. Those of ordinary skill in the art will appreciate that an identical circuit would be used for sensing the opposite (Y) dimension and would include the Y input processing circuitry 14 of FIG. 1. Such slrilled persons wiU further note that the two dimensions do not need to be orthogonal to one another. For example, they can be radial or of any other nature to match the contour of the touch sensor array and other needs of the system.
Those of ordinary skiU in the art will recognize that the technology disclosed herein could be applied as well to a one-dimensional case where only one set of conductive traces is used.
The capacitance at each sensor matrix node is represented by equivalent capacitors 42-1 through 42-n. The capacitance of capacitors 42-1 through 42-n comprises the capacitance of the matrix conductors and has a characteristic background value when no object (e.g., a finger) is proximate to the sensing plane of the sensor matrix. As an object approaches the sensing plane the capacitance of capacitors 42-1 through 42-n increases in proportion to the size and proximity of the object.
According to the present invention, the capacitance at each sensor matrix node is measured simultaneously using charge integrator circuits 44-1 through 44-n. Charge-integrator circuits 44-1 through 44-n serve to inject charge into the capacitances 42-1 through 42-n, respectively, and to develop an output voltage proportional to the capacitance sensed on the corresponding X matrix line. Thus charge-integrator circuits 44-1 through 44-n are shown as bidirectional amplifier symbols. Each charge-integrator circuit 44-1 through 44-n is suppUed with an operating bias voltage by bias-voltage generating circuit 46.
As used herein, the phrase "proportional to the capacitance" means that the voltage signal generated is a monotonic function of the sensed capacitance. In the embodiment described herein, the voltage is directly and linearly proportional to the capacitance sensed. Those of ordinary skill in the art will recognize that other monotonic functions, including but not limited to inverse proportionaUty, and non-linear proportionality such as logarithmic or exponential functions, could be employed in the present invention without departing from the principles disclosed herein. In addition current-sensing as weU as voltage-sensing techniques could be employed.
According to a presently preferred drive sense method used in the present invention, the capacitance measurements are performed simultaneously across all inputs in one dimension to overcome a problem which is inherent in aU prior art approaches that scan individual inputs. The problem with the prior-art approach is that it is sensitive to high frequency and large ampUtude noise (large dv/dt noise) that is coupled to the circuit via the touching object. Such noise may distort the finger profile because of noise appearing in a later scan cycle but not an eariier one, due to a change in the noise level.
The present invention overcomes this problem by "taking a snapshot" of aU inputs simultaneously in X and then Y directions (or visa versa). Because the injected noise is proportional to the finger signal strength across aU inputs, it is therefore symmetric around the finger centroid. Because it is symmetric around the finger centroid it does not affect the finger position. Additionally, the charge amplifier performs a differential measuring function to further reject common-mode noise. Because of the nature of the charge integrator circuits 44-1 through 44-n, their outputs will be changing over time and will have the desired voltage output for only a short time. As presently preferred, filter circuits 48-1 through 48-n are implemented as sample and hold switched capacitor filters.
The desired voltage is captured by the filter circuits 48- 1 through 48-n. As controUed by control circuitry, 56, the filter circuits 48-1 through 48-n wiU filter out any high frequency noise from the sensed signal. This is accomphshed by choosing the capacitor for the filter to be much larger than the output capacitance of charge integrator circuits 44- 1 through 44-n. In addition, those of ordinary skill in the art will recognize that the switched capacitor filter circuits 48-1 through 48-n will capture the desired voltages and store them.
According to the present invention, the capacitance information obtained in voltage form from the capacitance measurements is digitized and processed in digital format Accordingly, the voltages stored by filter circuits 48-1 through 48-n are stored in sample/hold circuits 50-1 through 50-n so that the remainder of the circuitry processes input data taken at the same time. Sample/hold circuits 50- 1 through 50-n may be configured as conventional sample/hold circuits as is weU known in the art.
The sampled analog voltages at the outputs of sample hold circuits 50-1 through 50-n are digitized by analog-to-digital (A/D) converters 52. As presently preferred, A/D converters 52 resolve the input voltage to a 10-bit wide digital signal (a resolution of one part in 1,024), although those of ordinary skill in the art will reahze that other resolutions may be employed.
A/D converters 52 may be conventional successive approximation type converters as is known in the art.
Given the charge integrator circuitry employed in the present invention, the background level (no object present) of the charge integrator outputs wiU be about 1 volt The ΔV resulting from the presence of a finger or other object will typically be about 0.4 volt. The voltage range of the A/D converters 52 should therefore be in the range of between about 1-2 volts.
An important consideration is the minimum and maximum voltage reference points for the A/D converters (V,^ and Vmax). It has been found that noise will cause position jitter if these reference voltages are fixed points. A solution to this problem which is employed in the present invention is to dynamically generate the V,^ and Vmax reference voltages from reference
-capacitances 42-Vmin and 42- Vmax, sensed by charge integrator circuits 44-Vmin and 44- Vmax and processed by filter circuits 48-Vmin and 48-Vmax and stored in sample hold circuits 50- Vmin and 50-Vmax . In this manner, any common mode noise present when the signals are sampled from the sensor array will also be present in the V,^ and V^ reference voltage values and will tend to cancel. Those of ordinary skill in the art will reahze that reference capacitances 44-Vmin and 44- Vmax may either be discrete capacitors or extra traces in the sensor array.
According to the present invention, the V,^ reference voltage is generated from a capacitor having a value equal to the lowest capacitance expected to be encountered in the sensor array with no object present (about 12pF assuming a 2 inch square sensor array). The Vmax reference voltage is generated from a capacitor having a value equal to the largest capacitance expected to be encountered in the sensor array with an object present (about 16pF assuming a 2 inch square sensor array).
The outputs of A/D converters 52 provide inputs to arithmetic unit 16. As will be more fuUy disclosed with reference to FIG. 8, the function of arithmetic unit 16 is to compute the weighted average of the signals on the individual sense lines in both the X and Y directions in the touch sensor array 22. Thus, arithmetic unit 16 is shared by the X input processing circuitry 12 and the Y input processing circuitry 14 as shown in FIG. 1.
Control circuitry 56 of FIG. 3 orchestrates the operation of the remainder of the circuitry.
Because the system is discretely sampled and pipelined in its operation, control circuitry 56 is present to manage the signal flow. The functions performed by control circuitry 56 may be conventionaUy developed via what is commonly known in the art as a state machine or microcontroller.
The structure and operation of the individual blocks of FIG. 3 wiU now be disclosed.
Referring now to FIGS. 4a, 4b, and 5, a typical charge integrator circuit will be described. Charge integrator circuit 44 is shown as a simpUfied schematic diagram in FIG. 4a and as an illustrative schematic diagram in FIG.4b. The timing of the operation of charge integrator circuit 44 is shown in FIG. 5. These timing signals are provided by the controUer block 56.
Charge integrator circuit 44 is based on the fundamental physical phenomena of using a current to charge a capacitor. If the capacitor is charged for a constant time by a constant current, then a voltage wiU be produced on the capacitor which is inversely proportional to the capacitance. The capacitance to be charged is the sensor matrix tine capacitance 42 in paraUel with an internal capacitor. This internal capacitor wiU contain the voltage of interest.
- Referring now to FIG.4a, a simplified schematic diagram of an iUustrative charge integrator circuit 44 is shown. A charge integrator circuit input node 60 is connected to one of the X (or Y) lines of the sensor matrix. A first shorting switch 62 is connected between the charge integrator circuit input node 60 and VDr> the positive supply rail. A second shorting switch 64 is connected between the charge integrator circuit input node 60 and ground, the negative supply rail. A positive constant current source 66 is connected to VDD, the positive supply rail and to the charge integrator circuit input node 60 and through a first current source switch 68. A negative constant current source 70 is connected to ground and to the charge integrator circuit input node 60 and through a second current source switch 72. It is obvious that other high and low voltage rails could be used in place of VDD and ground.
A first internal capacitor 74 is connected between VDrj> and output node 76 of charge integrator circuit 44. A positive voltage storage switch 78 is connected between output node 76 and input node 60. A second internal capacitor 80 has one of its plates connected to ground through a switch 82 and to output node 76 of charge integrator circuit 44 through a switch 84, and the other one of its plates connected to input node 60 through a negative voltage storage switch 86 and to VDD through a switch 88. The capacitance of first and second internal capacitances 74 and 80 should be a small fraction (i.e., about 10%) of the capacitance of the individual sensor matrix lines. In a typical embodiment, the sensor matrix tine capacitance will be about lOpF and the capacitance of capacitors 74 and 80 should be about lpF.
According to the presently preferred embodiment of the invention, the approach used is a differential measurement for added noise immunity, the benefit of which is that any low frequency common mode noise gets subtracted out. For the foUowing discussion, it is to be assumed that aU switches are open unless they are noted as closed. First, the sensor matrix line is momentarily shorted to VDD through switch 62, switch 78 is closed connecting capacitor 74 in paraUel with the capacitance of the sensor line. Then the paraUel capacitor combination is discharged with a constant current from current source 70 through switch 72 for a fixed time period. At the end of the fixed time period, switch 78 is opened, thus storing the voltage on the sensor matrix Une on capacitor 74.
The sensor line is then momentarily shorted to ground through switch 64, and switches 82 and 86 are closed to place capacitor 80 in paraUel with the capacitance of the sensor line. Switch 68 is closed and the paraUel capacitor combination is charged with a constant current from current source 66 for a fixed time period equal to the fixed time period of the first cycle. At the end of the fixed time period, switch 86 is opened, thus storing the voltage on the sensor matrix line on capacitor 80.
The first and second measured voltages are then averaged. This is accomphshed by opening switch 82 and closing switches 88 and 84, which places capacitor 80 in paraUel with capacitor 74. Because capacitors 74 and 80 have the same capacitance, the resulting voltage across them is equal to the average of the voltages across each individuaUy. This final result is the value that is then passed on to the appropriate one of filter circuits 48-1 through 48-n.
The low frequency noise, notably 50/60 Hz and their harmonics, behaves as a DC current component that adds in one measurement and subtracts in the other. When the two results are added together that noise component averages to zero. The amount of noise rejection is a function of how quickly in succession the two opposing charge-up and charge-down cycles are performed as wUl be disclosed herein. One of the reasons for the choice of this charge integrator circuit is that it allows measurements to be taken quickly.
Referring now to FIG.4b, a more complete schematic diagram of an illustrative embodiment of charge integrator circuit 44 of the simplified diagram of FIG.4a is shown. Input node 60 is shown connected to VDD and ground through pass gates 90 and 92, which replace switches 62 and 64 of FIG. 4a. Pass gate 90 is controlled by a signal ResetUp presented to its control input and pass gate 92 is controlled by a signal ResetDn presented to its control input Those of ordinary skill in the art wUl recognize that pass gates 90 and 92, as weU as aU of the other pass gates which are represented by the same symbol in FIG. 4b may be conventional CMOS pass gates as are known in the art. The convention used herein is that the pass gate will be off when its control input is held low and will be on and present a low impedance connection when its control input is held high.
P-Channel MOS transistors 94 and 96 are configured as a current mirror. P-Channel
MOS transistor 94 serves as the current source 66 and pass gate 98 serves as switch 68 of FIG. 4a. The control input of pass gate 98 is controUed by a signal StepUp.
N-Channel MOS transistors 100 and 102 are also configured as a current mirror. N- Channel MOS transistor 100 serves as the current source 70 and pass gate 104 serves as switch 72 of FIG. 4a. The control input of pass gate 104 is controUed by a signal StepDn. P-Channel
MOS transistor 106 and N-Channel MOS transistor 108 are placed in series with P-Channel MOS current mirror transistor 96 and N-Channel MOS current mirror transistor 102. The control gate of P-Channel MOS transistor 106 is driven by an enable signal EN, which turns on P- Channel MOS transistor 106 to energize the current mirrors. This device is used as a power conservation device so that the charge integrator circuit 44 may be turned off to conserve power when it is not in use.
N-Channel MOS transistor 108 has its gate driven by a reference voltage V ias, which sets the current through current mirror transistors 96 and 108. The voltage Vbias is set by a servo feedback circuit as will be disclosed in more detail with reference to FIG. 10. Those of ordinary skiU in the art wiU appreciate that this embodiment aUows calibration to occur in real time (via long time constant feedback) thereby zeroing out any long term effects due to sensor environmental changes. In a current embodiment of the invention, Vbias is common for aU charge integrator circuits 44-1 through 44-n and 44- Vmax and 44-Vmin.
Note that proper sizing of MOS transistors 102 and 108 may provide temperature compensation. This is accomphshed by taking advantage of the fact that the threshold of N- Channel MOS transistor 108 reduces with temperature whUe the mobility of both N-Channel MOS transistors 102 and 108 reduce with temperature. The threshold reduction has the effect of increasing the current whUe the mobility reduction has the effect of decreasing the current By proper device sizing these effects can cancel each other out over a significant part of the operating range.
Capacitor 74 has one plate connected to VDD and the other plate connected to the output node 76 and to the input node 60 through pass gate 110, shown as switch 78 in FIG. 4a. The control input of pass gate 110 is driven by the control signal SUp. One plate of capacitor 80 is connected to input node 60 through pass gate 112 (switch 86 in FIG. 4a) and to VDD through pass gate 114 (switch 82 in FIG. 4a). The control input of pass gate 112 is driven by the control signal SDn and the control input of pass gate 114 is driven by the control signal ChUp. The other plate of capacitor 80 is connected to ground through N-Channel MOS transistor 116 (switch 82 in FIG. 4a) and to output node 76 through pass gate 118 (switch 84 in FIG. 4a). The control input of pass gate 118 is driven by control signal Share.
Referring now to FIGS. 4a, 4b and the timing diagram of FIG. 5, the operation of charge integrator circuit 44 during one scan cycle may be observed. First the EN (enable) control signal goes active by going to Ov. This turns on the current mirrors and energizes the charge and discharge current sources, MOS transistors 94 and 100. The ResetUp control signal is active high at this time, which shorts the input node 60 (and the sensor line to which it is connected) to VDD. The SUp control signal is also active high at this time which connects capacitor 74 and the output node 76 to input node 60. This arrangement guarantees that the following discharge portion of the operating cycle always starts from a known equilibrium state.
The discharge process starts after the ResetUp control signal goes inactive. The
StepDn control signal goes active, connecting MOS transistor 100, the discharge current source, o the input node 60 and its associated sensor line. StepDn is active for a set amount of time, and the negative constant current source discharges the combined capacitance of the sensor line and capacitor 74 thus lowering its voltage during that time. StepDn is then turned off. A short time later the SUp control signal goes inactive, storing the measured voltage on capacitor 74. That ends the discharge cycle.
Next, the ResetDn control signal becomes active and shorts the sensor Une to ground. Simultaneously the SDn and ChDn control signals become active and connect capacitor 80 between ground and the sensor line. Capacitor 80 is discharged to ground, guaranteeing that the foUowing charge up cycle always starts from a known state.
The charge up cycle starts after ResetDn control signal becomes inactive and the StepUp control signal becomes active. At tbis point the current charging source, MOS transistor 94, is connected to the sensor line and suppUes a constant current to charge the sensor line by increasing the voltage thereon. The StepUp control signal is active for a set amount of time (preferably equal to the time for the previously mentioned cycle) aUowing the capacitance to charge, and then it is turned off. The SDn control signal then goes inactive, leaving the measured voltage across capacitor 80.
The averaging cycle now starts. First the voltage on capacitor 80 is level shifted. This is done by the ChDn control signal going inactive, letting one plate of the capacitor 80 float Then the ChUp control signal goes active, connecting the second plate of the capacitor to VDD. Then the Share control signal becomes active which connects the first plate of capacitor 80 to output node 76, thus placing capacitors 74 and 80 in parallel. This has the effect of averaging the voltages across the two capacitors, thus subtracting out common-mode noise as previously described. This average voltage is also then available on output node 76.
Those of ordinary skLU in the art will recognize that the environmental alternating current and other low frequency noise-canceling feature inherent in the averaging of the voltages obtained in the discharge and charge cycles is most effective when the two cycles are performed very close together in time. According to the present invention, the ChDn and ChUp signals should be asserted with respect to each other within a time period much less than a quarter of the period of the noise to be canceled in order to take advantage of this feature of the present invention.
According to the present invention, two different drive/sense methods have been disclosed. Those of ordinary skiU in the art wiU readily observe that the charge integrator circuit 44 disclosed with reference to FIGS. 4a, 4b, and 5 is adaptable to operate according to either scanning method disclosed herein.
As is clear from an understanding of the operation of charge integrator circuit 44, its output voltage is only available for a short period of time and is subject to environmental noise. In order to minimize the effects of noise, a switched capacitor filter circuit 48 is used. Referring now to FIG. 6, a schematic diagram of an iUustrative switched capacitor filter circuit 48 which may be used in the present invention is shown. Those of ordinary skill in the art will recognize this switched capacitor filter circuit, which comprises an input node 120, a pass gate 122 having a control input driven by a Sample control signal, a capacitor 124 connected between the output of the pass gate 126 and a fixed voltage such as ground, and an output node comprising the common connection between the capacitor 124 and the output of the pass gate 126. In a typical embodiment, capacitor 116 wiU have a capacitance of about 10 pF.
As will be appreciated by persons of ordinary skUl in the art, the switched capacitor filter 48 is in part a sample hold circuit and has a filter time constant which is K times the period of sample, where K is the ratio of capacitor 124 to the sum of capacitors 74 and 80 of the charge integrator circuit 44 of FIGS.4a and 4b to which it is connected. The switched capacitor filter circuit 48 further reduces noise injection in the system. In the preferred embodiment, K = 10/2 = 5. Those of ordinary slrill in the art wUl recognize that other types of filter circuits, such as RC filters, may be employed in the present invention.
Referring now to FIG.7, a more detailed block diagram of a presently preferred arrangement of A/D converters 52 of FIG. 3 is presented. There are fewer A/D converters than there are lines in the touch sensor array, and the inputs to the A/D converters are multiplexed to share each of the individual A/D converters among several Unes in the touch sensor array. The arrangement in FIG. 7 is more efficient in the use of integrated circuit layout area than providing individual A/D converters for each input line.
In the embodiment illustrated in FIG. 7, twenty-four conductive line traces are assumed for the sensor array 10 of FIGS. 2a-2d. As shown in FIG. 7, the outputs of sample hold circuits 50-1 through 50-24 are fed to the analog data inputs of analog multiplexer 130. Analog multiplexer 130 has six outputs, each of which drives the input of an individual A/D converter
52-1 through 52-6. The internal arrangement of analog multiplexer 130 is such that four different ones of the inputs are multiplexed to each of the outputs. Analog multiplexer 130 has been conceptuaUy drawn as six internal multiplexer blocks 132-1 through 132-6.
In the example shown in FIG. 7, inputs taken from sample/hold circuits 50-1 through 50- 4 are multiplexed to the output of internal multiplexer block 132- 1 which drives A/D converter
52-1. Similarly, inputs taken from sample/hold circuits 50-5 through 50-8 are multiplexed to the output of internal multiplexer block 132-2 which drives A/D converter 52-2; inputs taken from sample/hold circuits 50-9 through 50-12 are multiplexed to the output of internal multiplexer block 132-3 which drives A/D converter 52-3; inputs taken from sample/hold circuits 50-13 through 50-16 are multiplexed to the output of intemal multiplexer block 132-4 which drives A/D converter 52-4; inputs taken from sample/hold circuits 50-17 through 50-20 are multiplexed to the output of intemal multiplexer block 132-5 which drives A/D converter 52-5; and inputs taken from sample/hold circuits 50-21 through 50^24 are multiplexed to the output of intemal multiplexer block 132-6 which drives A D converter 52-6.
Analog multiplexer 130 has a set of control inputs schematicaUy represented by bus 134. In the illustrative embodiment shown in FIG. 7, each of internal multiplexors 132-1 through 132- 6 are four-input multiplexors and thus control bus 134 may comprise a two-bit bus for a one-of- four selection. Those of ordinary skUl in the art wUl recognize that the arrangement of FIG.7 is merely one of a number of specific solutions to the task of A/D conversion from twenty-four channels, and that other satisfactory equivalent arrangements are possible.
In a straightforward decoding scheme, multiplexors 132-1 through 132-6 will pass, in sequence, the analog voltages present on their first through fourth inputs on to the inputs of A/D converters 52-1 through 52-6 respectively. After the analog values have settled in the inputs of A/D converters 52-1 through 52-6, a CONVERT command is asserted on common A/D control line 136 to begin the A/D conversion process.
When the A/D conversion process is complete, the digital value representing the input voltage is stored in registers 138-1 through 138-6. As presently preferred, registers 138-1 through 138-6 may each comprise a two-word register, so that one word may be read out of the registers to arithmetic unit 54 while a second word is being written into the registers in order to maximize the speed of the system. The design of such registers is conventional in the art.
Referring now to FIG. 8, a more detaUed block diagram of the arithmetic unit 16 is presented. Those of ordinary skill in the art wiU appreciate that arithmetic unit 16 processes information from both the X and Y dimensions, i.e., from X input processing circuit 12 and Y input processing circuit 14 of FIG. 1.
Before disclosing the structural configuration of arithmetic unit 16, it is helpful to understand the preferred method by which the centroid position of an object proximate to the sensor array 22 is determined according to the present invention.
According to a presently preferred embodiment of the invention, the object position in either direction may be determined by evaluating the weighted average of the capacitances measured on the individual sense line of the sensor array 10. In the foUowing discussion, the X direction is used, but those of ordinary skiU in the art wiU recognize that the discussion applies to the determination of the weighted average in the Y direction as weU. As is weU known, the weighted average may be determined as foUows:
n
∑ I X ΔCI
X position = ~ [Eq. 1]
Figure imgf000028_0001
i = 0
where ΔC, = C, - CO,. is the capacitance presently being measured on the /th trace and CO, is the value measured on that same trace at some past time when no object was present In terms of these past and present capacitance measurements, the position can be expressed as:
n
∑ i x (Cι - CO/)
Xposition = -^ [Eq. 2]
Σ (Ci - CO/) i=0
Using the distributive property of multiplication over addition, this expression is seen to be equivalent to:
a n
Xposition =
Figure imgf000028_0002
[Eq. 3]
- ∑ (C0i) + ∑ (Ci) i=0 ι=0
where the negative terms in both the numerator and denominator are offsets and represent die background value of the capacitances with no object present. If the term ON is used to represent the numerator offset and the term OD is used to represent the denominator offset, Eq. 3 may be re-written as:
- ON + ∑ (i x Cι) -Xposition = —a [Eq. 4]
- OD + ∑ (Ci) i=0 Referring now to FIG. 8, it may be seen that arithmetic unit 16 includes X numerator and denominator accumulators 150 and 152 and Y numerator and denominator accumulators 154 and 156. The source of operand data for X numerator and denominator accumulators 150 and 152 and Y numerator and denominator accumulators 154 and 156 are the registers 138-1 ti rough 138-6 in each (X and Y) direction of the sensor array 22 of FIG. 1. The X and Y denominator accumulators 152 and 156 sum up the digital results from die A/D conversions. The X and Y numerator accumulators 150 and 154 compute die weighted sum of the input data rather than the straight sum. Accumulators 150, 152, 154, and 156 may be configured as hardware elements or as software running on a microprocessor as wiU be readily understood by tiiose of ordinary skill
As may be seen from an examination of FIG. 8, numerator accumulators 150 and 154 compute the expression of Eq.4: n
∑ i x [Eq. 5] i=0 and denominator accumulators 152 and 156 compute the expression of Eq. 4: n ∑ Ci [Eq. 6] i«0
The contents of X and Y numerator and denominator offset registers 158, 160, 162, and 164 are subtracted from the results stored in die accumulators 150, 152, 154, and 156 in adders 166, 168, 170, and 172. Adder 166 subtracts the offset ON stored in X numerator offset register 158. Adder 168 subtracts the offset ODX stored in X denominator offset register 160. Adder 170 subtracts the offset ONY stored in Y numerator offset register 162. Adder 172 subtracts the offset ODγ stored in Y denominator offset register 164. The numerator denominator pairs are divided by division blocks 174 and 176 to produce the X and Y position data, and the X and Y denominator pair is used by block 178 to produce Z axis (pressure) data. The function performed by block 178 will be disclosed later herein. The offsets ODX, ONX, ODY, and O^y are sampled from the accumulator contents when directed by calibration unit 180.
Persons of ordinary skill in the art will readily appreciate that the architecture of the system of the present invention may be distributed in a number of ways, several of which involve the availability of a microprocessor, whether it be in a host computer to which the system of the present invention is connected or somewhere between the integrated circuit described herein and a Jiost computer. Embodiments of uie present invention are contemplated wherein the accumulated numerator and denominator values representing the summation terms are deUvered to such a microprocessor along widi the ON and OD offset values for processing, or where all processing is accomphshed by a programmed microprocessor as is known in the art.
Initially, the numerator and denominator accumulators 150, 152, 154, and 156 are set to zero during system startup. If die multiplexed A/D converters as shown in FIG. 7 are employed, the digitized voltage data in the first word of register 138-1 (representing the voltage at the output of sample/hold circuit 50-1) is added to the sum in the accumulator and the result stored in the accumulator. In succession, the digitized voltage values stored in the first word of registers 138-2 through 138-6 (representing the voltage at the outputs of sample/hold circuits 50- 5, 50-9, 50-13, 50-17, and 50-21, respectively) are added to the sums in d e accumulators and the results stored in the accumulators. As previously mentioned, A/D converters 52-1 ti rough
52-6 may at tiiis time be converting die voltages present at d e outputs of sample/hold circuits 50- 2, 50-6, 50-10, 50-14, 50-18, and 50-22 and storing the digitized values in die second words of registers 138-1 through 138-6 respectively.
Next, in succession, die digitized voltage values stored in the second words of registers 138-1 tiirough 138-6 (representing die voltage at tiie outputs of- sample/hold circuits 50-2, 50-6,
50-10, 50-14, 50-18, and 50-22, respectively) are added to the sum in die accumulator and the result stored in die accumulator.
Next, in succession, the digitized voltage values stored in the first words of registers 138- 1 through 138-6 (representing the voltage at the outputs of sample/hold circuits 50-3, 50-7, 50- 11, 50-15, 50-19, and 50-23, respectively) are added to the sum in the accumulator and die result stored in the accumulator, foUowed by digitized voltage values stored in die second words of registers 138-1 through 138-6 (representing die voltage at tive outputs of sample/hold circuits 50- 4, 50-8, 50-12, 50-16, 50-20, and 50-24, respectively).
At mis point in time, die accumulators hold d e sums of aU of the individual digitized voltage values. The digital values stored in e ON and O^ offset registers 158, 160, 162, and
164 are now respectively subtracted from the values stored in die numerator and denominator accumulators. The division operation in dividers 174 and 176 then completes die weighted average computation.
The division operation may also be performed by an external microprocessor which can fetch the values stored in the accumulators or perform die accumulations itself. As d e 0N and OD -offset values are presently derived by an external microprocessor, the additional processing overhead presented to such external microprocessor by this division operation is minimal. Alternately, a dedicated microprocessor may be included on chip to handle these processing tasks without departing from die invention disclosed herein.
The above disclosed processing takes place within about 1 miUisecond and may be repeatedly performed. Current mouse standards update position information 40 times per second, and tirus the apparatus of die present invention may eastiy be operated at this repetition rate.
Because of the nature of die method employed in the present invention, an opportunity exists to provide additional noise immunity without requiring additional hardware in die system of the present invention. WhUe it is apparent that after the above-disclosed sequence has been performed, d e accumulators may be cleared and die process repeated, die values may also be aUowed to remain in die accumulators. If tiiis is done, an averaging function may be implemented to further filter out noise. According to tiiis aspect of die invention, a number of samples are taken and mn through the accumulators witiiout clearing them at the end of die processing sequence. As presently preferred, twenty-five samples are processed before a single division result is taken for use by die system, tiius greatly reducing the effects of transient system noise spikes. Those of ordinary skiU in die art wiU recognize tiiat the number of samples taken prior to clearing die accumulators is a matter of design choice dictated by factors such as data acquisition rates, data processing rates etc.
It is preferable to provide additional filtering of die X and Y position data produced by division blocks 174 and 176 of die arithmetic unit 16 of FIG. 8. The filtering preferably occurs in between arithmetic unit 16 and motion and gesture units 18 and 20 of FIG. 1. The X and Y coordinates are separately filtered as independent numbers. Each filter is an averaging register computing a "running average" as is weU-known in the art. When d e finger's presence is first detected, the filter register is initialized witii the current quotient. In subsequent samples, die new quotient is averaged with the filter register value to produce a new filter register value. In die presendy preferred embodiment, die values are equaUy weighted in the average, tiiough different weightings can be used to provide stronger or weaker filtering. The sequence of values in the filter register serve as the X and Y coordinates used by die motion and gesture units 18 and 20 of FIG. 1.
The system of the present invention is adaptable to changing conditions, such as component aging, changing capacitance due to humidity, and contamination of die touch surface, etc. In addition, die present invention effectively minimizes ambient noise. According to die present invention, diese effects are taken into consideration in tiiree ways. First, the offset values ON and OD are dynamicaUy updated to accommodate changing conditions. Second, a servo- feedback circuit is provided to determine die bias voltage used to set die bias of die charge- integrator circuits 44-1 through 44-n. Third, as previously disclosed herein, die reference voltage points for Vmax and V,^ of die A/D converters are also dynamicaUy altered to increase d e signal to noise margin.
Referring now to FIG. 9, a block diagram of a calibration unit 150 which may be used witii the arithmetic unit of FIG. 8 is presented. The calibration unit 150 executes an algorithm to establish d e numerator and denominator offset values by attempting to determine when no finger or other conductive object is proximate to d e touch sensor array 22.
As previously disclosed, die O and Or, offset values represent the baseline values of die array capacitances with no object present. These values are also updated according to die present invention since baseline levels which are too low or too high have the effect of shifting the apparent position of d e object depending on die sign of the error. These values are established by selection of die values read when no object is present at die sensor array 22. Since there is no external way to "know" when no object is present at sensor array 22, an algorithm according to anodier aspect of die present invention is used to establish and dynamicaUy update these offset values. When the calibration unit sees a Z value which appears typical of die Z values when no finger is present, it instructs the offset registers (158, 160, 162, and 164 of FIG. 8) to reload from die current values of die accumulators. According to a presendy preferred embodiment of d e invention, die decision to update die offset values is based on die behavior of die sensor array 22 in only one of die X or Y directions, but when die decision is made aU four offsets (O X,
C*DX, ONY, and OTJY) are updated. In other embodiments of die invention, die decision to update may be individuaUy made for each direction according to the criteria set forth herein.
The caUbration algoritiim works by monitoring changes in a selected one of the denominator accumulator values. According to die present invention, it has been observed tiiat die sensitivity to changes in capacitance of one of die sets of conductive Unes in die touch sensor array 22 is greater tiian the sensitivity to changes in capacitance of d e otiier one of die sets of conductive lines in die touch sensor array 22. Experience suggests tiiat die set of conductive lines having die greater sensitivity to capacitance changes is die one which is physicaUy located above die conductive Unes in die od er - rection and dierefore closest to die touch surface of die sensor array 22. The upper set of conαuctive lines tends to partially shield die lower set of conductive Unes from capacitive changes occurring above die surface of die sensor array 22.
The finger pressure is obtained by summing die capacitances measured on die sense Unes. This value is already present in d e denominator accumulator after subtracting die offset Or A finger is present if d e pressure exceeds a suitable threshold value. This direshold may be chosen experimentally and is a function of surface material and circuit timing. The threshold may be adjusted to suit the tastes of die individual user.
The pressure reported by die device is a simple function f(XD, YD) of the denominators for the X and Y directions as implemented in block 178 of FIG. 8. Possible functions include choosing one preferred denominator value, or summing die denominators. In a presently preferred embodiment, the smaUer of the two denominators is chosen. This choice has the desirable effect of causing the pressure to go below the threshold if die finger moves stightly off the edge of die pad, where die X sensors are producing vatid data, but the Y sensors are not, or vise versa. This acts as an electronic bezel which can take die place of a mechanical bezel at the periphery of the sensor area.
In the example of FIG. 8, die Y denominator is chosen for monitoring because it is the most sensitive. The chosen denominator is referred to as Z for die puφoses of die caUbration algoridim. The current saved offset value for tiiis denominator is referred to as C»z.
The goal of die caUbration algorithm is to track gradual variations in die resting Z level while making sure not to caUbrate to the finger, nor to catibrate to instantaneous spikes arising from noise. As will be apparent to those of ordinary skill in the art from die foUowing disclosure, the caUbration algoridim could be implemented in digital or analog hardware, or in software. In a current embodiment actuaUy tested by the inventors, it is implemented in software.
As Z values arrive in die caUbration unit, they are passed through filter 182. History buffer 184, which operates in conjunction witii filter 182, keeps a "running average" of recent Z values. When a new Z value arrives, the current running average Fz is updated according to die formula:
new Fz = a(old Fz) + (1- a)Z [Eq. 7]
where a is a constant factor between 0 and 1 and typically close to 1 and Z is the current Z value. In the preferred embodiment alpha is approximately 0.95. The intention is for Fz to change slowly enough to foUow gradual variations, without being greatly affected by short perturbations in Z. The filter 182 receives a signal ENABLE from control unit 186. The running average Fz is updated based on new Z values only when ENABLE is asserted. If ENABLE is deasserted, Fz remains constant and is unaffected by current Z.
The history buffer 184 records d e several most recent values of Fz. In the present embodiment, die history buffer records d e two previous Fz values. The history buffer might be implemented as a shift register, circular queue, or analog delay Une. When die history buffer receives a REWIND signal from control unit 186, it restores d e current running average Fz to the oldest saved value. It is as if the filter 182 were "retroactively" disabled for an amount of time corresponding to the depth of die history buffer. The puφose of die history buffer is to permit such retroactive disabling.
The current running average Fz is compared against die current Z value and die current offset O-i by absolute difference units 188 and 190, and comparator 192. Absolute difference unit
188 subtracts the values Z and Fz and outputs die absolute value of dieir difference. Absolute difference unit 190 subtracts die values C^ and Fz and outputs die absolute value of tiieir difference. Comparator 192 asserts the UPDATE signal if die output of absolute difference unit
188 is less tiian die output of absolute difference unit 190, i.e., if Fz is closer to Z tiian it is to
O^. The UPDATE signal wiU tend to be asserted when die mean value of Z shifts to a new resting level. It will tend not to be asserted when Z makes a brief excursion away from its normal resting level. The filter constant a determines the lengtii of an excursion which wiU be considered "brief for tiiis puφose.
Subtractor unit 194 is a simple subtractor that computes die signed difference between Z and Oz. This subtractor is actuaUy redundant with subtractor 172 in figure 8, and so may be merged witii it in die actual implementation. The output C^ of tiiis subtractor is die caUbrated Z value, an estimate of the finger pressure. This pressure value is compared against a positive and negative Z tiireshold by comparators 196 and 198. These thresholds are shown as ZJH and -2^ aldiough tiiey are not actuaUy required to be equal in magnitude.
If pressure signal Cz is greater tiian JΉ, the signal FINGER is asserted indicating the possible presence of a finger. The Z-ru threshold used by die caUbration unit is siπiilar to mat used by the rest of the system to detect die presence of the finger, or it may have a different "Value. In the present embodiment, die calibration ZJH is set somewhat lower than die main to ensure that the caUbration unit makes a conservative choice about the presence of a finger. If pressure signal Cz is less tiian - Z , the signal FORCE is asserted. Since Oz is meant to be equal to die resting value of Z with no finger present, and a finger can only increase the sensor capacitance and thus the value of Z, a largely negative Cz implies tiiat die device must have incorrecdy caUbrated itself to a finger, which has just been removed. Calibration logic 200 uses tiiis fact to force a recaUbration now that die finger is no longer present.
Control logic 186 is responsible for preventing running average Fz from being influenced by Z values tiiat occur when a finger is present. Output ENABLE is generally off when the FINGER signal is true, and on when the FINGER signal is false. However, when FINGER transitions from false to true, die control logic also pulses die REWIND signal. When FINGER transitions from true to false, die control logic waits a short amount of time
(comparable to the depth of the history buffer) before asserting ENABLE. Thus, the running average is prevented from foUowing Z whenever a finger is present, as weU as for a short time before and after die finger is present.
CaUbration logic 200 produces signal RECAL from die outputs of the three comparators 192, 196, and 198. When RECAL is asserted, die offset registers ON and Oo wUl be reloaded from the current accumulator values. RECAL is produced from die foUowing logic equation:
RECAL = FORCE or (UPDATE and not FLNGER). [Eq. 8]
In addition, caUbration logic 200 arranges to assert RECAL once when the system is first initialized, possibly after a brief period to wait for die charge integrators and odier circuits to stabilize.
From the descriptions of control logic 186 and caUbration logic 200, it will be apparent to those of ordinary skiU in the art tiiat these blocks can be readily configured using conventional logic as a matter of simple and routine logic design.
It should be obvious to any person of ordinary slriU in die art tiiat die caUbration algorithm described is not specific to die particular system of charge integrators and accumulators of die current invention. Rather, it could be employed in any touch sensor which produces proximity or pressure data in which it is desired to maintain a caUbration point reflecting the state of the sensor when no finger or spurious noise is present.
Referring now to FIG. 10, a bias voltage generating circuit 46 useful in the present invention is shown in schematic diagram form. According to a presendy preferred embodiment of die invention, aU of the bias transistors 108 (FIG. 4b) of charge integrator circuits 44-1 tiirough 44-n have their gates connected to a single source of bias voltage, aldiough persons of ordinary skiU in die art recognize tiiat other arrangements are possible. There are a number of ways in which to generate die bias voltage required by charge integrator circuits 44-1 through 4- n.
As may be seen from an examination of FIG. 10, die bias voltage generating circuit 46 is an overdamped servo system. A reference source which approximates the current source function of a typical one of the charge integrator circuits 44-1 through 44-n includes a capacitor 202 having one of its plates grounded. The otiier one of its plates is connected to die VDD power supply tiirough a first pass gate 204 and to a current source transistor 206 tiirough a second passgate 208. A filter circuit 210, identical to the filter circuits 48- 1 tiirough 48-n and controlled by the same signal as filter circuits 48-1 tiirough 48-n is connected to sample the voltage on capacitor 202 in die same manner tiiat die filter-and-sample/hold circuits 48-1 through 48-n sample die voltages on die sensor conductor capacitances in the sensor array 22.
The output of filter circuit 210 is fed to die non-inverting input of a weak transconductance amplifier 212, having a bias current in the range of from about 0. l-0.2μA. The inverting input of the transconductance amplifier 212 is connected to a fixed voltage of about 1 volt generated, for example, by diode 214 and resistor 216. The output of transconductance amplifier 212 is shunted by capacitor 218 and also by capacitor 220 tiirough passgate 222. Capacitor 220 is chosen to be much larger than capacitor 218. In a typical embodiment of die present invention, capacitor 218 may be about 0.2pF and capacitor 220 may be about lOpF.
Capacitor 220 is connected to the gate of N-Channel MOS transistor 224, which has its drain connected to the drain and gate of P-Channel MOS transistor 226 and its source connected to die drain and gate of N-Channel MOS transistor 228. The source of P-Channel MOS transistor 226 is connected to VDD and die source of N-Channel MOS transistor 228 is connected to ground. The common drain connection of transistors 224 and 228 is the bias voltage output node.
An optional passgate 230 may be connected between a fixed voltage source (e.g., about 2 volts) and capacitor 220. Passgate 230 may be used to initiaUze the bias generating circuit 46 on startup by charging capacitor 220 to the fixed voltage.
During each sample period, the filter circuit 210 takes a new sample. If die new sample
.differs from die previous sample, the output voltage of transconductance amplifier 212 wUl change and start to charge or discharge capacitor 218 to a new voltage. Passgate 222 is switched on for a short time (i.e., about lμsec) and the voltages on capacitors 218 and 220 try to average themselves. Due to die large size difference between capacitors 218 and 220, capacitor 218 cannot supply enough charge to equalize the voltage during die period when passgate 222 is open. This arrangement prevents large changes in bias voltage from cycle to cycle.
Capacitor 202 should look as much as possible like one of die sensor array channels and has a value equal to die background capacitance of a typical sensor line, (i.e., widi no object proximate or present capacitance component). Capacitor 202 may be formed in several ways. Capacitor 202 may comprise an extra sensor line in a part of the sensor array, configured to approximate one of die active sensor lines but shielded from fmger capacitance by a ground plane, etc. Alternately, capacitor 202 may be a capacitor formed in die integrated circuit or connected thereto and having a value selected to match at of a typical sensor line. In this respect, the signal source comprising capacitor 202 and filter circuit 210 is somewhat like the circuitry for generating the V.^. and V^ reference voltages, in tiiat it mimics a typical sensor line.
As another alternative, one of the actual sensor Unes may be employed to set die bias voltage. The measured voltage on die two end-point sensor Unes may be compared and die one having die lowest value may be selected on the dieory that, if a finger or other object is proximate to the sensor array, it wiU not be present at sensor Unes located at die opposite edges of the array.
According to anotiier aspect of die present invention, an "edge motion" feature may be implemented when die object position sensor of die present invention is used as a computer cursor control device in place of a mouse. A practical problem arises in the use of computer mice or other cursor control devices when an attempt is made to move an object over a large distance on a computer screen. This problem is encountered when a smaU mouse pad is used witii a computer mouse, or when an object position sensor of the kind described herein has a smaU touch sensor area.
In touch sensor appUcations, this problem is especiaUy acute during a "drag" gesture. If die user lifts die finger to begin a second stroke, die drag effect ends prematurely on the screen. The edge motion feature of the present invention helps to eliminate the need to use "rowing," or multiple strokes of the finger to move a large distance on the screen.
A prior solution to die long-distance drag problem has been to provide an acceleration feature, i.e., a "balUstic" curve, where the gain varies as a function of finger speed, aUowing die user to move long distances, albeit clumsily, using a repeated finger swishing motion. This technique can be used widi any variable-speed pointing device, for example, witii a mouse on a mouse pad of limited size. Typical mouse driver software includes an adjustable acceleration feature (sometimes under a misleading name like "mouse speed").
According to a presendy preferred embodiment of die invention, the edge motion feature of die object position sensor is implemented by motion unit 18 of FIG. 1 and works by defining two zones in the sensing plane 10 containing the touch sensor array 22. As shown in FIG. 11 , die sensing plane 10 is preferably divided into an inner zone 240 comprising most of the central portion of die surface of sensing plane 10 and an outer zone 242, typicaUy comprising a tiiin marginal area at die periphery of die sensor array. The center of die sensing plane 10 may be described as the origin
Figure imgf000038_0001
m a cartesian coordinate system. Those of ordinary skill in d e art wiU recognize however tiiat the inner and outer zones could be of any shape.
Thus in FIG. 11, inner zone 240 is defined by the upper dashed Une Y0, right-hand dashed Une XQ, lower dashed line -Y0 and left-hand dashed line -XQ. Outer zone 242 is die region between die outer edges of die sensing plane 10 defined by Yp^, -Yj,,,, XmaΛ and -Xmax and die outer borders of inner zone 240 defined by Y0, Xo, -Y0, and - X0.
According to tiiis aspect of the present invention, finger motions in the inner zone 240 are translated in die standard fashion into motion events to be sent to the host computer. As is weU understood in die art, the standard way to communicate mouse motion to a host computer may also be employed in die present invention to communicate finger motion to a host computer. After the finger position is established as disclosed herein, die information communicated to die host computer is:
ΔX = A(Xcur - Xold) [Eq. 9]
ΔY = A(Ycur - Yold) [Eq. 10]
where ΔX is the change in the X position of the finger, ΔY is die change in the Y position of the finger, Xcur is the current X position of the finger and Xold is die last reported X position of the finger, Ycur is the current Y position of the fmger and Yold is die last reported Y position of die finger, and A is a "gain factor" which is commonly encountered in mouse cursor control apptications.
Typically, the host computer takes (ΔX.ΔY) events and moves die cursor by die indicated amount in each axis, tiius reconstructing the finger position on the screen as the successive ΔX and ΔY values are accumulated. So far, this is standard cursor control behavior where edge motion is not considered.
According to die present invention, when the finger is reported as being in the outer zone 242, the edge motion feature of the present invention may be enabled. The determination of whedier die finger is in the outer zone is a simple determination:
[-Xo < Xcur < Xol is FALSE, OR [-Y0 < Ycur < Y0] is FALSE [Eq. 11]
Referring now to FIG. 12 A, a circuit 244 for making a determination of whether a finger is in the outer zone 242 is shown in schematic diagram form. FIG. 12 A illustrates a hardware embodiment for determining whedier a finger is in die outer zone 242, but tiiose of ordinary sktil in the art wtil readtiy recognize tiiat this determination could readUy be made by performing one of a number of equivalent software routines. Such software routines are obvious and straightforward from die functions described herein.
Circuit 244 includes digital comparators 246, 248, 250, and 252, which may be straightforwardly implemented by conventional logic. Comparator 246 puts out a true signal when die quantity Xcur at one of its inputs is greater tiian die fixed quantity XQ presented to its other input Comparator 248 puts out a tine signal when the quantity Xcur at one of its inputs is less than the fixed quantity -XQ presented to its otiier input. Comparator 250 puts out a true signal when d e quantity Ycιrr at one of its inputs is greater than the fixed quantity Y0 presented to its otiier input. Comparator 252 puts out a true signal when the quantity Ycur at one of its inputs is less tiian the fixed quantity -Y0 presented to its other input.
The outputs of comparators 246, 248, 250, and 252 are ORed together by OR gate 254. As will be appreciated by tiiose of ordinary skUl in the art, the FingerOuter signal output of OR gate 254 is tine only when the necessary conditions of Eq. 11 are satisfied.
It is presendy preferred that the edge motion aspect of the present invention may be selectively enabled or disabled by a user. When die edge motion feature is enabled and die finger is reported as being in die outer zone as set forth above, a second component is added to die (ΔX.ΔY) events reported:
ΔX =A (Xcur - Xold)+ S(Xcur - X^.) [Eq. 12]
ΔY = A(Ycur - Yold)+ S(Ycur - Y^) [Eq. 13] where Xcenter is the X coordinate of die center of the pad, Yce-,,,.,. is die Y coordinate of the center of the pad, and S is a multiplicative factor for speed. S should be chosen such that the movement of the cursor is at a comfortable speed on die display screen.
For example, if die finger is held a good distance to the right (so that Xcur > X0), then the cursor wiU tend to "glide" to die right at a constant speed set by multipUcative speed factor S in
Eqs. 12 and 13. This factor can be adjusted to individual taste of a user.
If the sensor array has different dimensions in X and Y, it is useful to set die multipUcative speed factor S parameters in die X and Y directions to differ by d e same ratio as the pad dimensions, so that a finger held at die left or right edge of the sensor array wiU produce die same cursor speed as a finger held at the top or bottom edge. In die presendy preferred embodiment of the sensor array, tiiere are 24 X traces and 18 Y traces. Therefore, since X is 4/3 wider tiian Y (24 traces vs. 18 traces), the X multipUcative speed factor Sx is set to be to be 3/4 as large as die multipUcative speed factor Sγ.
The gUde speed of the cursor during edge motion is clearly a direct function of the distance of die finger from die center of the pad, and the glide direction is equal to the direction of the finger from the center. If the outer zone has the preferred "edge margin" shape as shown in FIG. 11, tiien die finger wiU always be roughly the same distance from die center whenever edge motion is activated (witiiin a factor of die square root of 2 = 1.41 , assuming a square pad). Thus, die psychological effect is that edge motion involves a constant gUde speed where die direction is set by the position around die sensor array edge.
The square root of 2 variation may be canceled out by dividing die edge motion terms in equations (12 and 13) by a normalizing factor of the form:
(^cur ~ ^center) + ^cur ~ ^center) [E - 14]
but this is a computationaUy intensive step applied to fix a problem at is barely noticeable to the average user; thus, it may be omitted.
As discussed above, when a finger is in die outer zone, die FingerOuter signal, which is a global signal for botii die X and Y axis, is made une, and increments are added to the (ΔX, -ΔY) events pursuant to Eqs. 12 and 13. Because increments corresponding to SQ puj. - Xcenter) and S(Ycur - Y^ter) are added in die X and Y directions, respectively, for the (ΔX, ΔY) events, the direction of the cursor motion will be along a vector from die center of the pad to die finger position. In graphical environments, there are many vertical and horizontal objects and use of edge motion may incur some unintended results. For example, if a user in a graphical environment puUs down a taU pop-up menu, the user may need die assistance of die edge motion feature to reach the bottom of the menu. In this case, however, the direction of the cursor motion may cause the cursor to sUde off die pop-up menu, when die user actually wants die cursor to move in a vertical motion along the Y axis.
In another embodiment of the edge motion feature of the present invention, die direction of the cursor motion wiU be orthogonal to the edge motion boundary die finger has crossed in traveUng to die outer zone.
For example, when a finger crosses eitiier of the edge motion boundaries corresponding to die X axis (die right and left edges of die touchpad) and travels into die outer zone, the direction of cursor motion due to die orthogonal edge motion feature wUl be only along the X axis. Any cursor motion in the Y direction whUe the finger is in the outer zone corresponding to die X axis will occur in a normal fashion, i.e. not according to an edge motion feature.
Analogously, when a finger crosses either of die edge motion boundaries corresponding to die Y axis (the top and bottom edges of die touchpad) and travels into the outer zone, die direction of cursor motion due to die edge motion feature will be only along the Y axis. Any cursor motion in the X direction whUe the finger is in the outer zone corresponding to die Y axis wtil occur in a normal fashion, i.e. not according to an edge motion feature. It should be appreciated, however, that when the finger enters into any of die four co ers of die pad, thus crossing botii X and Y edge motion boundaries, edge motion will essentially be along a vector from the center of the pad to the finger in the comer.
Unlike the edge motion feature which uses a global FingerOuter signal to indicate tiiat die finger is in die outer zone, the orthogonal edge motion feature has two signals. One is X
FingerOuter and the other is Y FingerOuter. X FingerOuter is true when a finger crosses either of die boundaries corresponding to the X axis, which in the preferred embodiment are on the right and left edges of the touch pad, and Y FingerOuter is true when a finger crosses either of the boundaries corresponding to the Y axis, which in die preferred embodiment are on die top and bottom edges of the touch pad.
In FIG. 12B, a schematic is shown of the hardware used in making die determination of whedier a finger is in die outer zone according to die orthogonal edge motion feature. It will be appreciated by those of ordinary skUl in die art tiiat the circuit shown in FIG. 12B could be implemented with an equivalent software routine. Where it is appropriate, FIG. 12B uses die same reference numerals shown in FIG. 12A.
Referring now to FIG. 12B, circuit 256 includes digital comparators 246, 248, 250 and 252 which may be implemented by conventional logic. Comparator 246 puts out a tme signal when die quantity X^ at one of its inputs is greater than die fixed quantity XQ presented to its otiier input. Comparator 248 puts out a tme signal when the quantity X^ at one of its inputs is less than the fixed quantity -XQ presented to its otiier input. Comparator 250 puts out a tme signal when die quantity Y^ at one of its inputs is greater tiian die fixed quantity Y0 presented to its otiier input Comparator 252 puts out a t e signal when die quantity Ycur at one of its inputs is less than the fixed quantity -Y0 presented to its otiier input.
The outputs of comparators 246 and 248 are ORed together by OR gate 258. When die condition satisfied by:
-X0< Xcur< XQ is FALSE a TRUE signal, X FingerOuter, will be output from OR gate 258.
The outputs of comparators 250 and 252 are ORed togetiier by OR gate 260. When the condition satisfied by:
-Y0< Ycur< Y0 is FALSE a TRUE signal, Y FingerOuter, wUl be output from OR gate 260.
Accordingly, an X FingerOuter signal will result in a value being added to the ΔX event in an amount determined by S(Xcur - Xcenter) as sci out m Eq. 12. However, because the only time this component will be added is when an X axis edge motion boundary has been crossed, i.e. no additional component determined by S(Xcur - Xcenter) is added to the ΔX event when only a Y axis edge motion boundary has been crossed, die component added to die ΔX event wiU be approximately constant because Xcur - Xcenter s approximately constant.
AY FingerOuter signal will result in a value being added to the ΔY event in an amount determined by S(Ycur - Ycenter) as set out in Eq. 13. However, because the only time this component wUl be added is when a Y axis edge motion boundary has been crossed, i.e. no additional component determined by S(Ycur - Ycenter) is added to die ΔY event when only an X ixis edge motion boundary has been crossed, the component added to the ΔY event will be approximately constant because Ycur - Ycenter is approximately constant Accordingly, die orthogonal edge motion feature permits cursor motion in only the eight "compass" directions. For, example, if die finger is on the left edge of the touchpad, die orthogonal edge motion feature causes the cursor to glide left along the X axis, since X FingerOuter is TRUE and Y FingerOuter is FALSE. The same is tme for the right edge of the pad, except die cursor will gUde right along die X axis. Those of ordinary sktil in die art wtil recognize the corresponding movements for the upper and lower edges of the pad. When the finger is in any of the co ers of the pad, X FingerOuter and Y FingerOuter are both TRUE, and die motion will be along a 45 degree angle (assuming a square touchpad) from die comer of the pad to where the finger is placed.
The edge motion feature of the present invention can be confusing if the user does not expect it Since edge motion is most useful in connection with the drag gesture, it is presently preferred to arrange for it to occur only during a drag, i.e., only when the gesture logic is virtuaUy "holding die mouse button down." The drag gesture and otiier gestures are implemented by gesture unit 20 of FIG. 1.
At times when the edge-motion function is not desired, die outer zone 242 "goes away" (i.e., is ignored) and die inner zone 240 effectively expands to cover die entire sensing plane 10. It has been found that this is much less confusing in practice, probably because the user is more likely to be consciously aware of die cursor control device during a drag gesture than during simple cursor motions.
Assuming die preferred zone boundary shape of FIG. 11, the following algorithm may be employed to implement the edge motion feature of the present invention:
IF NOT (-XQ < Xcur < X0 AND - Y0 < Ycur < Y0)
AND (optionaUy) a drag gesture in progress, THEN Let eX = Sx (XCur - Xcenter) t eY = 8^^ - Ycenter)
ELSE
Let eX = eY = 0. END LF
Odierwise, For orthogonal edge motion, the algorithm is as follows:
iF NOT (-Xo < Xcur < X0) AND (optionally) a drag gesture in progress, THEN Let eX = Sχ (Xcur - Xcenter) ELSE
Let eX = O. END LF IF NOT (- Y0 < Ycur < Y0 AND (optionaUy) a drag gesture in progress, THEN Let eY = Sγ (Ycur - Ycenter)
ELSE
Let eY = O. END IF
Next, die dX and dY motion terms are computed from die regular algoridim: i.e., Let dX = A(Xcur - Xold)
Let dY = A(Ycur - Yold)
FinaUy, the resultant packet (ΔX = dX+eX, ΔY = dY+eY) is transmitted to die host computer. Those of ordinary skill in the art will recognize diat a linear proportionaUty is described by die above equation. As used herein,"proportionaUty" means that the signal generated is a monotonic function. Those of ordinary skiU in the art wiU recognize that other monotonic functions, including but not limited to inverse proportionaUty, and non-linear proportionaUty such as logaridimic or exponential functions, could be employed in the present invention without departing from the principles disclosed herein.
A hardware implementation of this algoridim is iUustrated in FIG. 13 in schematic diagram form. While circuit 262 is shown implemented in the X direction only, those of ordinary skiU in the art will recognize that an identical circuit will also be employed in the Y direction. Such skiUed persons wiU also immediately appreciate die complete equivalence of implementing the hardware solution of FIG. 13 as a software routine.
Edge-motion circuit 262 includes a subtractor circuit 264 in which the previous value of Xcur, stored in delay 266, is subtracted from the present value of Xcur. The output of subtractor circuit 264 is presented to multipUer 268, which multipties the result by the gain factor "A". The output of multipUer 268 is the term dX.
The term Xcur is also presented to subtractor circuit 270 in which the value of Xcenter is subtracted from die present value of X^. The output of subtractor circuit 270 is presented to multiplier 272, which multipties the result by die gain factor "S" to obtain die value of die eX jerm. It will be appreciated tiiat with orthogonal edge motion subtractor circuit 270 and multipUer 272 are not required and a constant value can be provided for die eX term, whose sign is positive if Xcur >Xcenter or negative if XCUI <Xcenter • A two-input AND gate 274 has its input terms die value FingerOuter from die circuit of FIG. 12 A and die value MotionEnable which is a toggled on/off enable signal for die edge motion feature of die present invention. If botii FingerOuter and MotionEnable are tme, switch 276 is configured to pass the output of multiplier 272 to adder circuit 278. If either FingerOuter or MotionEnable is false, then switch 276 is configured to pass die value zero to adder 278. The output of switch 276 is die eX term. The output of adder 278 is passed to die host computer as ΔX. The MotionEnable signal can be controlled by the user, e.g., by a control panel. Altematively, it may be controUed by die gesture unit as wiU be more fuUy disclosed.
It should be appreciated that when orthogonal edge motion instead of edge motion is being enabled, the two-input AND gate 274 has as its input terms the value X FingerOuter from die circuit of FIG. 12B (or the value Y FingerOuter from the circuit of FIG. 12B for die Y direction) and the value OrthoMotionEnable which is a toggled on/off enable signal for the edge motion feature of the present invention. If both X FingerOuter and OrthoMotionEnable are tme, switch 276 is configured to pass the output of multipUer 272 to adder circuit 278. If either X FingerOuter or OrthoMotionEnable is false, then switeh 276 is configured to pass d e value zero to adder 278. The output of switch 276 is die eX term. The output of adder 278 is passed to die host computer as ΔX. The OrthoMotionEnable signal can be controUed by die user, e.g., by a control panel. Altematively, it may be controlled by die gesture unit as will be more fuUy disclosed.
In an alternate form, the dX term may be replaced by the eX term, and likewise for dY and eY, when the finger is in die "outer" zone, ratiier than adding the two terms in that zone. This results in a more "pure" edge motion which is harder for die user to guide. User tests have shown tiiat die dX+eX form shown above feels better and is easier to use.
Anodier alternative which is functional but has been found to be less desirable employs a somewhat wider outer zone. The gUde speed is then varied in proportion to die distance of die finger into the outer zone rather tiian die distance from die center of die pad. Thus, as die finger enters the outer zone the gUde speed starts at zero and increases to some reasonable limit as die finger reaches the edge of the pad. The result is a smoother transition between edge-motion and normal behavior. It is not difficult to modify the above formulas to produce tiiis alternate behavior. This variant was tried by die inventors because die transition into edge-motion mode seemed too abmpt; tests showed tiiat tiiis abmptness is actuaUy a boon in typical use. The smooth transition is harder to "feel", and thus winds up being more, not less, likely to catch die user by siuprise. Those of ordinary skill in die art wUl appreciate tiiat a solution midway between die two described methods can also be employed to produce a less abmpt transition. Alternate solutions to the long-distance drag problem have been to provide a "locking" drag or drag "extension", as will be disclosed herein.
The edge motion feature of die present invention is used advantageously witii one or more finger gestures which may be performed by a user on die sensor array and are recognized by die system. Of particular interest are die basic tap and drag gestures. The tap gesture is analogous to die cUcking of die mouse button on a conventional mouse, and die concept of dragging objects is famiUar to all mouse users.
Pointing devices such as mice typicaUy include one or more mouse buttons. The user can point and cUck a button to select an object on die screen, or hold die button down and move die mouse to drag an object around die screen. Touch sensor pointing devices can offer "gestures," which are special finger motions that simulate mouse button actions without die need for physical switches. (Since gestures may be difficult for novices or users with disabUities, it is preferable to provide physical switches as weU.) In die foUowing discussion, the word "finger" should be inteφreted as including a stylus or other conductive object as previously described.
Referring back to figure 1 , according to another aspect of the present invention, gesture unit 20 examines die (X,Y,Z) data produced by aridimetic unit 16 to produce one or more "virtual mouse button" signals to be sent along with die (ΔX, ΔY) signals to die host
FIG. 14 is a more detailed block diagram of gesture unit 20 of FIG. 1. According to die present invention, gesture unit 20 of die present invention is capable of supporting a variety of gestures. Gesture unit 20 includes tap unit 280, zigzag unit 282, push unit 284, and button control unit 286.
Some number of physical switches may be supported by gesture unit 20. In die iUustrative example of FIG. 14, two inputs A and B to button control unit 286 come from physical switches. Such switches may be mounted on the touchpad module itself or provided extemaUy. Any number of switches may be provided, or none at all. The inputs A and B have two states, logic "0" and logic "1". Those of ordinary skill in die art wiU recognize tiiat, instead of mechanical switches, die switch signals could be implemented by special touch sensors, operated by charge integrators simtiar to units 44 which feed into threshold comparators to form digital signals.
Tap unit 280, zigzag unit 282, and push unit 284 examine die sequence of (X,Y,Z) samples to look for various types of gestures. The outputs of all diese units, plus the switch signals, are combined in button control unit 286 to produce the actual button-press signals sent to die host. In die iUustrative example disclosed herein, the touchpad simulates a three-button (Left, Middle, Right) pointing device. The system of FIG. 14 could clearly be extended to support otiier gestures than tiiose described"here, or to support fewer gestures in die interest of simphcity.
Button control unit 286 can use any of several weU-known methods for combining multiple signals. For example, a priority ordering can be estabUshed among me various sources, or each button output (Left, Middle, and Right) can be asserted ("clicked", "pressed" or "held down") whenever any of die sources indicate tiiat button. Any particular metiiod of combining these signals is a routine design detati dependent on a particular system configuration which may be easily implemented by persons of ordinary skill in die art.
In a presently preferred embodiment, the button control unit 286 maps both switches and gestures to die most commonly used virtual buttons, giving maximum flexibitity to die user. In an altemate embodiment, switches and gestures can be mapped to different virtual buttons so diat a larger number of virtual buttons can be covered without resort to exotic gestures. Or, the user can be offered a choice of mappings.
It is weU known in die art to allow extra button switches to be processed as speciaUzed commands, such as double-cUcking, selecting commonly used menu items, etc., instead of tiieir normal role as mouse buttons. Similarly, die button control unit 286 or host software could map some of die gestures described here to software commands instead of simulating mouse buttons. Such processing and mapping is weU widiin the realm of ordinary skill in die art.
The tap unit 280 decodes die most basic gestures, including taps, drags, hops, and tap zones. These gestures are Ulustrated as timing diagrams in FIGS. 15a tiirough 15e. In each of FIGS. 15a through 15e, two signals are shown graphed against time; one is the analog "Z" (finger pressure) signal, die otiier is die digital "Out" (virtual button press) signal. The various relevant time spans are shown widi labels ""tl" through "t21".
The basic "tap" gesture is a quick tap of die finger on die pad. Such a tap, of short duration and involving litde or no X or Y finger motion during the tap, is presented to die host as a brief cUck of die mouse button. If a multi-button mouse is simulated, die tap gesture may simulate a click of die "primary" mouse button, or die button to be simulated may be user- selectable using a shift key, control panel, or otiier known means. Two taps in rapid succession are presented to die host as a double click of die button. In general, multiple taps translate into multiple cUcks in the obvious and natural way. Because it is impossible to teU whether a finger stroke wiU be a valid tap (as opposed to a cursor motion) whtie the finger is still down, the device of the presently preferred embodiment does not report a button cUck until the finger is lifted. This delay is not generally noticeable to the user since taps by definition are very brief strokes.
A small amount of motion may occur during die tap stroke, due to such factors as die natural deformation of die fingertip under pressure. This can cause die virtual cUck created by the tap gesture to select the wrong item or location on the screen. To avoid this, eitiier the motion must be suppressed until the motion is great enough, or the duration long enough, to disqualify a tap, or the motion must be aUowed but tiien retroactively canceled out once die tap gesture is recognized. The latter solution is preferable, since even a small amount of suppressed motion is noticeable to the user.
According to die presendy preferred embodiment of die invention, motion events are sent to the host as usual, and also recorded in a register or queue. When die tap gesture is recognized, a corresponding negative amount of motion is quickly replayed in order to "undo" die already- reported motion and to restore the original cursor position as of the moment die finger' s presence was first detected. The motion during die stroke may have been sent to the host in die form of a sequence of several packets. For greatest precision, this sequence can be saved and replayed in reverse. However, if die host's motion processing is linear, it will suffice to accumulate the total amount of motion during the stroke and send a compensating motion in a single packet. Since the "acceleration" feature of a typical mouse driver activates only at high speeds, tiiis assumption of linearity is usuaUy safe in this context.
The inputs considered by tap unit 280 are CurPos, the current (X,Y) finger position from the arithmetic unit; Z, the current pressure value; and CurTϊme, the current time in some suitable units of time (such as mUliseconds or number of samples processed).
There are nine state variables used in tap unit 280. TapState is NONE if there is no gesture in progress, TAP if there is a tap or drag gesture in progress, and LOCKED if tiiere is a locking drag or drag extension in progress. TapOkay is TRUE if a high enough Z value has been seen in die current stroke for the stroke to qualify as a tap. DownPos is the (X,Y) position at which the finger last touched down on the pad. DownTime is die time at which the finger last touched down. UpPos and UpTime record die position and time at which the finger last lifted from the pad. TapButton is one of LEFT, MIDDLE, or RIGHT, identifying whether the current gesture is simulating an action on die left, middle, or right virtual mouse button, respectively. Suppress is TRUE if die virtual buttons are being suppressed for a double click. FinaUy, Out represents die output of the tap unit, and is one of NONE, LEFT, MIDDLE, or RIGHT.
Several parameters are used to control die tap unit. TapTime is the maximum duration of a stroke to qualify as a tap gesture. DragTime is die maximum interval between the initial tap and die return of die finger to form a drag gesture. ExtendTime is the maximum amount of time the finger can be off the touchpad during a drag extension gesture before the drag gesture wUl end. Hop Time is the maximum lift time preceding a tap to qualify as a hop. TapRadius is die maximum amount of motion tiiat can occur during a tap. DragRadius is die maximum distance between the initial tap and the return of the finger for a drag. DragExtendRadius is die miiiimum distance between finger lift-off and finger touchdown needed to qualify as a drag extension. HopDistance is die minimum distance moved to qualify for a hop. Zthresh is die minimum pressure (Z) to detect a finger. DragExtendSpeed is die minimum smoothed speed required during finger lift-off to qualify as a drag extension. In the claims herein, steps reciting "detecting die presence" of a finger or otiier object (or other words to tiiat effect) assume that a pressure greater tiian Zthresh has been detected. FinaUy, Ztap is the minimum Z to detect a tapping finger.
FIG. 15a shows die timing of a basic tap gesture. First, a successful tap is shown, followed by a finger stroke which is too long to quaUfy as a tap. In the first stroke, the finger is down for time "tl", which is less than TapTime. Also (not shown on FIG. 15a) the (X, Y) motion during time "tl" is less than TapRadius. Finally, the Z signal exceeds threshold Ztap for at least some part of the stroke. Thus, the stroke qualifies as a tap. The Out signal (die lower trace of FIG. 15a) becomes tine for a certain amount of time "t2", then becomes false. As will be discussed later, the amount of time "t2" is equal to DragTime. In the device described in die flowcharts to foUow, die TapState variable wUl equal TAP for the entire interval "t2". As presently preferred, TapTime is about 400 msec, TapRadius is about 2% of the width of the sensor pad, and Ztap is shghtly larger tiian Zthresh, whose value is adjustable by the user.
On the right half of FIG. 15a, die finger is held down for longer dian the parameter TapTime, shown on die figure as "t3". Thus, it wiU not qualify as a tap gesture and no Out signal is generated from this stroke.
In the basic drag gesture, die user taps once, quickly brings the finger back in contact with the pad, tiien moves die finger in a desired direction in the XY plane of the pad. The simulated mouse button is depressed at the beginning of the drag gesture and is released only when the finger is again lifted from the pad. Gesture logic arranges for the initial tap of the drag gesture to be merged into the extended drag ratiier than presenting the host with an additional distinct button click.
In a variation of the drag gesture, die above-described gesture begins a drag which continues even when the finger is lifted. The drag ends (i.e., die simulated mouse button is released) when die finger is again tapped on die sensor pad. This feature is known as "locking drag". Locking drag aUows dragging over longer distances tiian can be covered by a single finger motion on a smaU pad, but it can be highly confusing if it is activated by mistake. The locking drag becomes a hidden mode, a weU-known undesirable item in die study of user interfaces. Thus, in the preferred embodiment it is presented to die user as an option which is disabled by default
In another embodiment of the drag gesture, the above-described gesture wtil continue even tiiough die finger has been lifted, if die finger comes back down to die touch pad witiiin a specified period of time referred to as a drag timeout. This feature is referred to as drag "extension". The drag timeout period is presently preferred as 500 msec, but wiU be optimized, as will be appreciated by tiiose of ordinary skill in die art, witii user studies. Of course, a drag gesture wiU end if the finger is removed from the touchpad and not retumed witiiin the drag timeout
Accordingly, widi die drag extension feature enabled, when die finger is lifted off die pad for less tiian the drag timeout, the drag gesture wiU continue, but when die finger stays off die touchpad for a period greater tiian the timeout, the drag gesture ends. This gives die user die ability to "stroke" or "row" repeatedly to drag a long distance. Unlike locking drag, drag extension does not appear to the user as a hidden mode, since die end of die drag occurs after the drag timeout, a very short time period in human perception, if the finger does not return to die touch pad in time.
However, a problem can arise widi drag extension because die drag continues through the drag timeout, even though the drag ends. There may be occasions when the user wants the drag to end immediately, e.g. when the drag gesture is being used to hold down a scroU bar arrow. GeneraUy, these arrows auto-repeat until the user releases the mouse button. The continuation of die drag gesture during die drag timeout would cause die scrolling ÷ature to scroU past die desired stopping place.
Accordingly, the drag gesture may actually represent two different gestures. A tme drag, where die cursor is moved around while die virtual button is being held down, and a press, where the cursor remains stationary while die virtual button is being held down. The drag extension feature is only desired for a tine drag. There are several ways to distinguish between a tme drag and a press. A tme drag can be identified if the finger's speed of motion prior to lift-off is above a smaU tiireshold. A press- can be identified if the finger was stationary through the entire gesture, possibly ignoring smaU, inconsequential movements, or just at the time of finger Uft-off. In the preferred embodiment of die drag extension gesture of the present invention the distinction between a tme drag and a press is identified by the finger speed at lift-off being above a specified tiireshold. The finger speed at Uft-off is obtained as die output a running average filter. If the speed is below the specified tiireshold, die drag ends rather than being extended. In an alternative embodiment the distinction between a tine drag and a press may be identified by the position of the finger at lift-off. If the finger is within a selected distance from the edge of the pad at lift-off a true drag is identified.
A second potential problem may occur while using drag extension if die user begins a new unrelated finger action during die ExtendTime period. As discussed above, when drag extension is enabled, a drag wUl continue even though the finger has been lifted from die touch pad if die finger is brought back to the touch pad within the drag timeout. It may be that the user actuaUy wants the drag to end when die finger is tifted, and to begin a new gesture when bringing die finger back down to die touchpad. One way to determine whedier die drag gesture is continuing or is being ended and a new finger action begun is to compare the lift-off finger position and die touchdown finger position. UsuaUy, a subsequent stroke of an extended drag would not begin at die spot where die previous stroke had ended. Therefore, if die finger comes down witiiin a specified distance from die lift-off position (witiiin the specified drag timeout), men die drag extension feature aUows the drag to continue, otherwise the drag ends immediately. It will be appreciated, however, by those of ordinary skill in die art that die drag extension feature may be implemented, diough not preferably, witiiout comparing the finger position at touch down witii the finger position at Uft-off, and further, that the drag need not end immediately.
The "edge motion" feature described previously serves as an altemate way to accomplish long-distance drags.
The drag gesture is implemented as foUows. When a tap is recognized, the virtual mouse button is depressed as previously described. However, die virtual mouse button is not released until the finger has remained away from die pad for a sufficient amount of time to disqualify as a drag gesture. This amount of time DragTime should be chosen to be long enough to allow for a comfortable drag gesture, but short enough so that the cUck arising from a tap gesture is stiU reasonably brief. As presently preferred, a time of about 200 msec is used. As shown in FIG. 15b, the drag gesture begins with a tap as described above, of duration "t4" which is less than TapTime. The Out signal goes high in response to this tap. The finger remains away from die pad for a period "t5" which is less than DragTime, then it returns to the pad and remains for a time "t6" which is longer tiian TapTime. This qualifies the gesture as a drag. The Out signal remains high until die finger is finaUy released at time "t7". In the implementation of FIG. 15b, the time "t7" between the removal of the finger and die release of die virtual mouse button is zero; in otiier simtiar implementations this might be nonzero but smaU, e.g., equal to DragTime. Note that TapState will equal TAP for the entire interval from "t5" to "t7".
There are a number of alternatives which can be considered for die timing of DragTime.
FIG. 15a shows the interval "t2", which is also the upper limit on the interval "t6", as being exactly equal to the parameter DragTime. In one alternative, DragTime is measured relative to DownTime instead of UpTime, which is equivalent to saying that the intervals "tl" and "t2" ("t5" and "t6", respectively) must sum to DragTime. A consequence of this metiiod is diat in the basic tap gesture, a longer, slower tap causes a briefer virtual button cUck. This contradiction makes tiiis approach less satisfying to the user than tiie one shown in FIGS. 15a-b.
In an another alternative, DragTime is made proportional to the lengdi of interval "tl" ("t5" respectively), so tiiat a brief tap produces a brief virtual button cUck, and a longer tap (up to die limit TapTime) produces a longer cUck. This alternative gives die user more control over the simulated button cUck, but it makes the behavior depend on what die user may perceive as an insignificant feature of the tapping action.
There are several ways to make the duration of DragTime "proportional" to the length of interval "tl". In one case, the length of the virtual button cUck or DragTime is a direct function of the length of the tap by the user. As described in the previous paragraph a brief tap produces a brief virtual button cUck, and a longer tap produces a longer cUck. This approach seems to provide an advantage to novice users who usuaUy tap more slowly and also require a longer period of time Qonger DragTime) to bring the finger back down to begin a drag gesture. Unfortunately, die longer DragTime also results in a longer virtual button cUck (OUT signal) which may have undesirable side effects, including unintentional scroU bar auto-repeating or "stuttering".
A preferred approach when differentiating between novice and expert taps is to recognize taps of different lengtiis, but to make the virtual button cUck or OUT signal the same length for different tap lengths. However, when a novice tap is recognized, die timing of die OUT signal wiU be delayed, so that novice users will have a longer DragTime to begin a drag gesture. It will be appreciated by those of ordinary skill in die art that the length of taps used to differentiate between novice and expert users wiU be optimized after user studies. It should also be recognized tiiat there are other ways to differentiate between novice and expert users. For example, die pressure of a novice tap is often greater than die pressure of an expert tap. AdditionaUy, it may also be beneficial to use a history of tap lengtiis, for example, die average lengtii of several previous taps. Those of ordinary sktil in the art wiU also recognize tiiat decision between novice and expert could be made by die user at a control panel.
Referring now to FIG. 15C, the preferred embodiment of a variable DragTime as a function of tap lengdi is illustrated. On one hand, as presendy preferred, an expert tap is seen having a duration for die interval "tl" of less tiian 200 msec. The virtual button click or OUT signal of 200 msec in die interval "t2" begins as soon as die finger comes off die pad, tiius providing die expert witii die fastest possible response. To begin a drag gesture die finger would have to come back down on die touchpad before die 200 msec virtual button cUck time ended. Thus, the variable DragTime is chosen to be 200 msec in the preferred embodiment, thus reducing die chances of an expert's quick finger actions being incorrectly inteφreted as a drag gesture.
On the other hand, a novice tap is seen having a duration for die interval "tl" of between 200 msec and 500 msec (in die preferred embodiment, strokes longer than 500 msec would be disqualified as taps). The virtual button cUck or OUT signal of 200 msec in die interval "t2b" begins after a delay "t2a" of 300 msec, and as a result the user will have a longer DragTime of 500 msec in which to begin a drag gesture. Those of ordinary skUl in die art wiU recognize tiiat the length of the delay may be chosen in several different ways, including as a function of the tap duration. Similarly, die otiier time-related parameters of gesture recognition such as HopTime and ExtendTime can be adjusted when novice taps are involved. If die finger comes back down to begin a drag gesture before the delayed click has begun (i.e., during die "t2a" interval), tiien the virtual button cUck must begin immediately as d e finger comes down. Otherwise, if tiiis new finger stroke also turned out to be a tap, die first click of die resulting double-cUck could be subsumed in die "t2a" interval.
FIG. 15D shows the locking drag gesture. The locking drag begins with a standard drag gesture involving intervals "t8" through "tlO". However, when the finger is raised, the Out signal remains high. Gn die flowcharts, TapState wiU change from TAP to LOCKED at tiiis time.) The figure shows a second dragging stroke of a lengtii longer than TapTime (shown as "tl 1") which does not end die locking drag, foUowed by anotiier stroke of length "tl2" less than TapTime. Since this last stroke quaUfies as a tap, it ends die locking drag at time "tl3". In the flowcharts, TapState changes back to TAP at this time; a regular tap is then processed, which continues to hold Out high for a time "tl3" equal to DragTime as usual. A reasonable alternative implementation might end the drag after a different interval "tl3", such as zero.
FIG. 15E shows die drag extension gesture. The drag extension begins with a standard drag involving intervals "tl4" tiirough "tl6". The finger is raised during interval "tl7", but because die fmger is off die touchpad for a length of time shorter than the drag timeout parameter
ExtendTime, the OUT signal remains high. Also (not shown on FIG. 15E) the (X,Y) motion during "tl7" is greater than DragExtendRadius and d e smoothed average finger speed at the time of Uft-off from the pad at die beginning of interval "tl7" is greater than DragExtendSpeed. The figure shows the finger lifted for a second interval "tl8". Since die period of time which die finger is Ufted from die touchpad during interval "tl8" is greater tiian
ExtendTime, the OUT signal goes low a period of time equal to ExtendTime after the finger is Ufted from die pad. It may be preferable to adjust ExtendTime for novice or expert users, as described previously for DragTime.
FIG. 15F shows a double tap gesture. The double tap starts out indistinguishably from a drag gesture. However, die second stroke "t21" is shorter than TapTime, thus qualifying as a second tap instead of a drag. Regular tap processing causes Out to remain high for another interval "t23" of length DragTime; however, special double-tap handling shown in die flowcharts suppresses the virtual mouse button for a brief period "t22" after recognition of die tap. Thus, die host computer perceives two distinct cUcks ratiier than the one long, run-together cUck tiiat it would see without tiiis special handling.
Other gestures may be used to simulate a multi-button mouse. In one such approach, die basic gestures are augmented by a "hop" gesture, in which die finger is Ufted from its resting place in one location on the pad and tapped a substantial distance away from die resting place. If the distance is sufficiently great (HopDistance, typicaUy a fraction of the width of die sensor pad; presently preferred to be about 25%) and die duration between die lift and die subsequent tap is less than a suitable tiireshold (HopTime, typicaUy a fraction of a second; presently preferred to be about 0.5 sec.), tiien die click or drag gesture begun by die tap is simulated on a different mouse button. This different button may be a fixed "secondary" button, or it may be user- selectable by a control panel or other means, or it may be a function of the direction in which die finger hopped (e.g., to die left vs. to die right). According to a presently preferred embodiment of the invention, the hop gesture is available as an option which is off by default
Note that, whUe some users prefer to tap with a second finger in the hop gesture, this gesture never involves more than one fmger on the pad at any one time. A simtiar gesture, die "zigzag", is also described herein and does involve the use of two fingers at once. FIG. 15G shows a "hop" gesture. This gesture begins with the finger already on the pad. The finger is then lifted for interval "t24" which is less than HopTime; the finger tiien comes down for a regular tap "t25'\ Also, not shown on the figure, during interval "t24" die finger must have moved by at least a certain distance HopDistance away from its previous position. When this occurs, the gesture is processed as a "hop" instead of a regular tap, and the virtual button press "t26" occurs on the right button Out(R) instead of die usual left button Out(L). It is easy to see how die tap "t25" could be followed by further finger actions to form a drag or a double-tap on the right button.
Anotiier multi-button gesture uses "tap zones," in which die surface of die pad is divided into two or more zones. A tap or drag initiated in a given zone simulates an event on a button corresponding to tiiat zone. Even if die finger moves between zones during a drag, die entire drag is simulated on die button corresponding to die zone of die original tap tiiat initiated die drag gesture.
Figures 16a and 16b illustrate two tap zone shapes. In figure 16a, the pad is divided into three vertical stripes 288, 290, and 292, corresponding to the left, middle, and right mouse buttons, respectively. In figure 16b, the pad is divided into a main area 294 simulating die left mouse button, and a smaU co er area 296 simulating the right mouse button. The implementation of FIG. 16b is more appropriate if one button is much more heavtiy used in typical appUcations than the other button(s).
It is preferable for the zones to correspond to clearly marked regions on die pad surface.
It will be obvious to one skilled in the art that other zone shapes, such as multiple comers or horizontal stripes, are equaUy straightforward.
There is an interaction between tap zones and the edge motion feature that needs to be taken into account Particularly with the comer area 296 of FIG. 16b, tap zones encourage the user to tap near the edge of die pad. If edge motion is active during taps and drags or at aU times, then edge motion will tend to interfere widi die proper behavior of comer taps. To prevent this, the edge motion enable logic of FIG. 13 can be modified sUghtiy. In a given stroke, edge motion only operates if the finger has been in the inner zone at least once during that stroke. Thus, if die finger touches down in the outer zone, edge motion wtil not activate until the finger leaves d e edge of die pad and then returns.
AU of the above-described gestures are variations of basic tap and drag gestures. In the system described herein, all of these gestures are recognized by the tap unit 280. The operation of tap unit 280 is most easily described as an algorithm in the form of a flowchart. From this disclosure, persons of ordinary skiU in die art wUl recognize tiiat the tap unit described herein could actuaUy be implemented as known and obvious equivalents such as a software program, hardware state machine, or otherwise. AU such implementations are intended to faU witiiin die scope of die present invention.
FIGS. 17a tiirough 17f comprise a flowchart for die operation of tap unit 280. Tap unit
280 implements the tap, drag, locking drag, drag extension, comer-tap, and hop gestures described herein. In die gesture recognition operations described herein, the comertap is used to simulate die right virtual mouse button. Hops to die left and right are used to simulate die middle and right virtual mouse buttons. Simple taps simulate die left (primary) virtual mouse button.
Processing begins at step 300 as each (X,Y,Z) sample arrives from the aritiimetic unit 16 of FIG. 1. In a presendy preferred embodiment of die invention, such data arrive 40 times per second. The algoridim of FIGS. 17a tiirough 17f will mn from start (step 300) to finish (step 392) every time a sample arrives.
Step 302 determines whedier die finger is up or down by comparing Z (pressure) against Zthresh to determine whedier a finger is present ("down") or not ("up"). Instead of a simple tiireshold comparison, two thresholds may be used to provide hysteresis as is weU-known in the art. Hysteresis is not shown in FIG. 17a, but simtiar hysteresis will be illustrated later in FIG. 20 for the "push" gesture.
In step 304, the finger is known to be down. The previous Z is checked to see whedier die finger was previously down or is just now touching down on die pad.
In step 306, a finger-down transition has been detected. This may indicate die beginning of a drag gesture or a successive row in drag extension, etc. For a drag or drag extension gesture, die change in the finger position from the previous finger position on the touchpad during DragTime and ExtendTime, respectively, is checked.
In die drag gesture Ulustrated in figure 15b, it is beneficial to check tiiat die finger has not moved a great distance during time "t5", the interval between the initial tap and the return of the finger to the pad. If die distance calculated during "t5" indicates that the finger has retumed die pad in a different location, then a drag gesture was probably not intended.
In the drag extension gesture Ulustrated in FIG. 15E it is necessary to check that die finger has moved a great enough distance during interval "tl7", between subsequent rows of an extended drag gesture. If the distance is not great enough, the drag gesture ends. Since the TapState during a drag gesture is TAP and the TapState during a drag extension gesture is LOCKED, step 306 determines die TapState. If die TapState at step 306 is TAP, then step 308 computes the distance between the current position CurPos (the filtered and sraoodied X and Y position data) and the saved position of the previous tap, DownPos. If the distance is greater tiian some threshold DragRadius, then execution proceeds to step 310.
Otiierwise, it proceeds to step 312. The tiireshold DragRadius should be some fraction of the width of die pad, preferably larger (more generous) tiian the TapRadius used in basic tap detection.
At step 314, it is determined whether DragLock is enabled. If DragLock is enabled, die execution proceeds to step 312. Otiierwise the execution proceeds to step 316.
If die TapState of step 306 is LOCKED, and DragLock is not enabled, then a drag extension must be in progress. Step 316 computes the distance between die CurPos and the saved ending position of the previous stroke, UpPos. If the distance is greater than some threshold DragExtRadius, then execution proceeds to step 312. Otherwise it proceeds to step 310. The tiireshold DragExtRadius should be some fraction of the widtii of the pad, as determined by user testing. (Some users may prefer a DragExtRadius of zero, so that step 316 is effectively disabled.)
Persons of ordinary sktil in die art wUl recognize tiiat several possible distance measures are suitable for use in steps 308 and 314. A tine EucUdean distance measure is reasonable but expensive to compute; a simpler measure is die sum or maximum of die absolute values of die distances in X and Y. The sum or maximum wiU produce a "drag zone" around die original tap which is diamond- or square-shaped, respectively, instead of die circular zone produced by a Euclidean distance measure. Experiments suggest tiiat users are unable to perceive die difference between diese zone shapes, so whichever measure is easiest to compute is preferred. Also, the geometry of the finger and touchpad may cause the significant motion to Ue always in one direction, e.g., X, in which case a simple absolute difference of X coordinates may be preferred.
In die preferred embodiment, the user is able to change the level of gesture recognition using a control panel or other means. If the user elects to allow taps but not drags, then step 308 can be programmed to go directiy to step 310 so that ati taps are disqualified from becoming drags.
In step 310, a drag gesture has been disqualified. TapState is changed from TAP to NONE; the effect wtil be a simple tap gesture foUowed by cursor motion with no virtual button held down. Step 312 records die position and die time at which die finger touched down.
Step 318 initializes the TapOkay flag to FALSE. It also clears the Suppress flag which is used to delay the virtual button cticks resulting from "novice" taps. Step 318 ends die delay prematurely if the finger comes back down onto die touchpad. If the new finger stroke is the second tap of a double tap gesture, step 318 is responsible for ensuring tiiat the virtual cUck from the first tap is not accidentaUy suppressed entirely.
Step 320, which executes on all samples in which the finger is down, compares Z against the Ztap threshold; step 322 sets TapOkay to TRUE if Z is greater than the Ztap threshold. Thus, when the finger lifts, TapOkay will be TRUE if Z ever exceeded the tap threshold during die brief stroke tiiat is a candidate for a tap gesture.
Referring now to FIG. 17b, in step 324, die finger is known to be off die pad. The previous Z is checked to see whedier die finger was previously up or is just now being lifted
Figure imgf000058_0001
In step 326, a finger-up transition has been detected. Various tests are made of the most recent stroke (finger-down period) to see if it qualifies as a tap. To qualify, die stroke must have short duration (CurTime minus DownTime must be less than TapTime), little or no motion (the distance from CurPos to DownPos must be less than TapRadius), and sufficient peak finger pressure (TapOkay must be TRUE), in order to quaUfy as a tap.
In step 328, any finger motion which has occurred is retroactively canceled out by quickly replaying to die host a corresponding negative amount of motion from the register or queue in order to "undo" die already-reported motion and to restore die original cursor position as of the moment the finger's presence was first detected. If die motion during the stroke was sent to the host in the form of a sequence of several packets, this sequence can be saved and replayed in reverse. If die host's motion processing is Unear, it wUl suffice to accumulate the total amount of motion during die stroke and send a compensating motion in a single packet Since die
"acceleration" feature of a typical mouse driver activates only at high speeds, this assumption of linearity is usuaUy safe in this context.
Step 330 takes one of several actions based on d e current TapState. First, if TapState is NONE (no gestures in progress), execution simply proceeds to step 332. In step 332, the duration of die tapping stroke, CurTime minus DownTime, is computed to distinguish short, expert taps and long, novice taps. For expert taps, execution simply proceeds to step 338 of figure 17c. For novice taps, execution proceeds to step 334, which arranges to use a longer value for DragTime for the current gesture. These steps may simply compare the tap duration to a fixed tiireshold to choose between two fixed DragTime values, or diey may use the tap duration to smoodily modulate die DragTime.
Step 334 also sets the Suppress flag to Tme to cause the virtual button signal to stay low for a short period. In die preferred embodiment, this period is chosen to be the difference between die novice and expert DragTime values, so that the resulting non-suppressed portion of the virtual cUck has the same duration in aU cases, as shown in figure 15C.
Second, if TapState is TAP (a recent tap is stiU in progress), tiien a double-tap has been detected. Step 334 sets die Suppress flag to TRUE to cause the virtual button signal to go low for one sample. This corresponds to time "t22" of figure 15F. In an altemate approach, one or more extra packets indicating a release of the virtual buttons can be inserted into the regular packet stream, rather than using a Suppress flag as shown herein. In an altemate approach, distinct Suppress flags could be used for die two puφoses of delaying novice clicks and processing double taps; for example, a 300 msec suppression may be desirable for delaying novice cticks, but for double-taps it may suffice to end the suppression after at least one packet reflecting the supression of virtual button has been sent to the host
FinaUy, if TapState is LOCKED, this is the tap that ends a locking drag. Step 336 sets TapState back to TAP, tiien skips directly to step 370 of figure 17e, bypassing the steps which decide which of the three mouse buttons to simulate. Thus, the locking drag changes back into a tap on die same virtual mouse button. After the usual short duration ("tl3" of figure 15D), the virtual button wiU be released.
It is significant that the button choice (FIG. 17c) is omitted in die LOCKED case. If a right-button locking drag is initiated by, for example, a tap in the comer of the pad, then it should be possible to terminate die drag by tapping anywhere on die pad, not just in the co er. It is also significant that the button choice is included in the double tap case. Otherwise, it would be impossible, for example, to perform left- and right-button cticks in rapid alternation by tapping alternately in two different locations on the pad.
In an altemate embodiment, if TapState is LOCKED, TapState is set to NONE and step 386 is performed next. This makes "tl3" of FIG. 15D equal to zero. Since TapState may also be LOCKED during drag extension, die implementation shown here also aUows the user to tap to cut short the drag extension period DragExtTime. In an altemate embodiment, taps could be ignored during the drag extension period. However, die significance of tiiis is lessened if DragExtTime is short. Referring now to FIG. 17c, step 338 checks whedier die current tap quaUfies as a "hop" gesture. This check involves several tests. First, the hop gesture must be enabled by the user. Second, die finger must have been raised for only a short amount of time between die current tap and die last time it was on the pad (DownTime minus UpTime must be less than HopTime). FinaUy, the position of this tap must be significantly far away from the previous position (the distance from DownPos to UpPos must be greater than HopDistance). Once again, a variety of distance measures are possible. The operations shown in FIGS. 17a through 17f support leftward and rightward hops; tiius, a reasonable distance measure is absolute difference in X coordinate between DownPos and UpPos.
In a variant which is easUy seen to be nearly equivalent, CurTime and CurPos are used in place of DownTime and DownPos in step 338.
If the tap qualifies as a hop, execution proceeds to step 340. Since the system of tiiis example supports two different hop gestures, the direction of the hop is checked to determine die type of gesture. If the X coordinate of DownPos (or CurPos) is less tiian the X coordinate of UpPos, a leftward hop has occurred (assuming X increases to the right). If the X coordinate of
DownPos (or CurPos) is greater than the X coordinate of UpPos, a rightward hop has occurred. Note tiiat, due to die checks of step 336, DownPos will be either significantly to the left or significantly to the right of UpPos at this point.
In step 342, a leftward hop causes TapButton to be set to die symbol MIDDLE, so that die tap gesture wtil generate a virtual middle mouse button click.
In step 344, a rightward hop causes TapButton to be set to RIGHT, initiating a virtual right button click.
Step 346 executes if no hop was detected. It proceeds to check for the otiier supported altemate gesture, die comer tap. A comer tap is a tap occurring in a smaU comer zone as shown in FIG. 16b. A comer tap occurs if comer taps have been enabled by die user; the X coordinate of DownPos (or CurPos) is greater tiian some coordinate CornerX; and die Y coordinate is greater tiian some coordinate Corner Y. CornerX and Corner Y are shown on FIG. 16b.
It should be obvious to one of ordinary skiU in die art tiiat other tap zones, such as those of FIG. 16a, or multiple comer zones, can be decoded in a completely analogous way by examining die X and Y coordinates of die tap location. In the presently preferred embodiment, the user is given the choice of hop gestures, comer taps, or neither, as a mechanism for simulating altemate button clicks. There is nothing stopping an implementation from offering both hops and comer taps at once, except tiiat to do so would likely be more confusing than beneficial to the user.
In step 348, no comer tap was detected, so TapButton is set to LEFT to simulate a click of die left virtual mouse button.
In step 350, a comer tap was detected, so TapButton is set to RIGHT to simulate a right virtual mouse button click.
Step 352 records die current position as the new UpPos, the lift location used for later hop decoding. In general, UpPos is updated each time the finger is seen to lift from the pad. However, there are two exceptions to this mle. First, if the finger lift is itself part of a hopping tap gesture, UpPos is not updated. This is seen in die left branch of the flowchart of FIG. 17c. This exception is needed to support, for example, a double-cUck of he right virtual button. The finger is Ufted, moved substantiaUy to the right, then tapped twice. The two taps wUl occur in roughly die same place. If UpPos were updated by die first tap, the second tap would be decoded as a left-button ctick.
Second, in the flowcharts of FIGS. 17a through 17f, UpPos is not updated on a tap that ends a locking drag. User tests show that die last-lift location perceived by die user is usuaUy the last lift during die locking drag, with the terminating tap being a subconscious action whose location is not perceived as relevant. Therefore, it makes more sense to omit die update of UpPos for die terminating tap of a locking drag.
Step 354 sets TapState to TAP after any tap, comer tap, or hop gesture, tiius recording tiiat a gesture is in progress.
Referring now to FIG. 17d, step 356 executes when die finger lifts from the pad in a way that does not quaUfy as a tap. This step checks if TapState is TAP; if so, die finger must have
Ufted from the long stroke of a drag gesture, e.g., time "t7" of FIG. 15b. Depending on user preference, the drag gesture is eitiier terminated by the lift of the finger, or locked to become a locking drag.
Step 358 checks whether locking drags have been enabled by the user. This decision may be made at design time, for a system in which drags are always locking or always not or it may be based on a run-time option such as a control panel. If locking drags have not been enabled, then step 360 checks whedier drag extension has been enabled. This decision may be made at design time, for a system in which drags are always extended or not, or it may be based-on a n time option such as a control panel.
At step 362, if drag extension is enabled, tiien the speed of the finger at Uft-off is checked to see whether it is above DragExtSpeed. This permits making the distinction between tine drags and presses described above.
In step 364, the TAPSTATE of a drag is converted to LOCKED.
In step 366, a drag is terminated by die lift of die finger.
In step 368, which executes whenever the finger is Ufted and does not qualify as a tap, UpPos is updated to die current position as described above.
Referring now to FIG. 17e, step 370 executes whenever the finger lifts from the pad. The variable UpTime is updated to record die time at which the finger Ufted from die pad.
Step 372 determines the TapState for each sample in which the finger remains off die pad.
If the TapState is TAP, then step 374 compares CurTime minus UpTime against
DragTime, to see if die finger has stayed off the pad too long after a tap for die tap to be the beginning of a drag. It should be appreciated tiiat if variable DragTime is in use, the DragTime used for comparison wUl be a function of whether a short, expert tap has been made or a long, novice tap has been made. If die time limit is exceeded, and TapState equals TAP, tiien execution proceeds to step 376. Otiierwise, execution proceeds to step 378.
If die TapState is LOCKED, step 380 determines whether the DragLock mode has been enabled. If DragLock has not been enabled, tiien execution proceeds to step 382. If DragLock is enabled, then execution proceeds to step 378 and die drag continues.
Step 382 determines whedier die finger has been off die touchpad for a period exceeding ExtendTime. If not, the drag continues and execution proceeds to step 378. Otiierwise execution proceeds to step 376 where the TapState becomes NONE because the finger has been off the touchpad for too long to continue the drag. Step 378 checks whedier die finger has been off the pad long enough to end the suppression period begun by step 334. If so, execution proceeds to step 384, where die Suppress flag is set to False.
Step 376 changes TapState from TAP to NONE, ending die tap and tiius preventing the tap from extending to a drag, or die existing drag from being extended further.
Referring now to FIG. 17f, all paths converge on step 386, which executes on every sample regardless of die state of die finger. This step begins a series of checks to determine the output of the tap unit 280 for this sample. First, if the Suppress flag is TRUE in step 386, virtual buttons are suppressed so the output is set to NONE in step 388.
If the Suppress flag is FALSE and there is no button suppression, TapState is examined in step 390. If TapState is TAP or LOCKED, then the button indicated by TapButton is output in step 392.
If TapState is NONE, no tap, drag, or hop gesture is in progress, step 394 sets die output to NONE in this case.
Processing ends at step 396 (END). The tap unit wtil start over at step 300 (START) when die next (X, Y,Z) sample arrives from die arithmetic unit
The edge-motion feature of FIG. 13 is most useful during a drag gesture. Thus, it is preferable to aUow the MotionEnable input of motion unit 18 to be derived from the state of gesture unit 20. In particular, the "MotionEnable" signal into AND gate 268 of FIG. 13 is obtained by MotionEnable = (TapState = TAP) OR (TapState = LOCKED).
The "zigzag" unit 282 of FIG. 14 decodes a two-finger gesture in which one finger remains resting on the pad whtie anotiier finger taps to one side of the primary finger. In terms of the (X,Y,Z) information produced by die basic device, tiiis gesture will effectively increase the Z value whtie quickly shifting the X and/or Y value by a significant distance. (When two fingers are on die pad, the apparent position reported is midway between die two fingers.) If such a change is detected, and is followed by a rapid return to die original X, Y, and Z values, tiien a tap of a second finger is recognized.
Because a second finger tap cannot be reUably recognized until the second finger is lifted, sudden cursor motions first to one side and tiien back again are unavoidably sent to die host The name "zigzag" refers to these characteristic cursor motions. A motion-reversal mechanism similar to that used in the tap unit 280 can be employed to ensure tiiat the virtual button cUck occurs at the original, un-zigzagged location. The only difficulty in tiiis case is that the motions involved may be large enough to trigger the host's acceleration feature, which means that either the reversal motion must be stored and replayed packet by packet, or die zigzag unit and host software must cooperate to ensure that the cursor does in fact return to the desired place.
It is possible to recognize second-finger taps using only die (X,Y,Z) information from the standard aritiimetic unit 16, as described herein. However, it is clear tiiat the arithmetic unit 16 could be modified to produce additional information, such as the widdi or shape of the sensor trace profile, which would aid in the accurate recognition of this gesture.
FIGS. 18a through 18c are a flowchart describing die algoridim for die zigzag unit 282.
As was the case for the tap unit 280, die zigzag unit 282 is best described as a flowchart. However, a hardware state machine is a known equivalent and would also be a reasonable implementation of die zigzag unit 282. Unlike the tap unit 280 flowchart of FIGS. 17a through 17f, the zigzag unit 282 flowchart executes once per stroke. When the finger's presence is detected (Z > Zthresh), execution begins at step 386. If the finger leaves the pad before execution ends, die zigzag unit 282 abandons its computation and starts over at step 386 on die next stroke.
FIGS. 18a through 18c Ulustrate the additional feature that leftward zigzags simulate a left button cUck, whtie rightward zigzags simulate a right button cUck.
The zigzag unit 282 requires die same position, Z, and time inputs as die tap unit 280. It also requires a speed measure S, which is computed as die distance from the previous to the current finger position at any given time. If any filtering or smoothing is done on die normal (X,Y) outputs of die arithmetic unit 16 as previously disclosed, it is best to compute die speed S from e unfiltered (X,Y) values.
State variables of die zigzag unit 282 include ZigZ and ZigZ', which record die two most recent values of Z; ZigPos, and ZigPos', which record die two most recent positions; ZigTime, which records the time at which the presence of the second finger was detected; ZigLeft and ZigRight, which are TRUE if a leftward or rightward zigzag has been detected, respectively; and Out, which represents the output of the zigzag unit 282, and is one of LEFT, RIGHT, or NONE.
The zigzag unit 282 uses several parameters. ZigDistance, die minimum distance die finger position can move to qualify for this gesture. ZigMaxTime is die maximum amount of time the second finger can be present to qualify. Szig is die instantaneous finger speed required to begin die detection of the gesture and is determined experimentaUy, depending on d e sample rate, sensor dimensions, and amount of analog filtering in the charge integrators. ZigRadius and ZigLimit specify how close the position and Z values, respectively, must return to their original pre-zigzag values after the second finger is lifted. ZigRadius is comparable to
TapRadius, and ZigLimit is about 30% of Zthresh in the presently preferred embodiment.
Referring now to FIG. 18a, execution begins, when the finger's presence is detected, at step 400.
In step 402, die zigzag unit 282 waits for approximately three (X,Y,Z) samples to arrive from the arithmetic unit 16. In die preferred embodiment these samples arrive at a rate of 40 per second. This initial delay is to prevent Z fluctuations at the beginning of the stroke from being mistaken for a second finger.
In step 404, ZigZ and ZigZ' are initiaUzed to a reserved value denoted as NONE.
In step 406, die zigzag unit 282 waits for the next (X,Y,Z) sample to arrive.
Step 408 checks for die beginning of a "zig", die first half of the zigzag gesture in which the apparent finger grows and jumps to one side. The speed S of die current sample is compared against the threshold Szig. If S is greater, and ZigZ contains vaUd data (not the reserved value NONE), tiien execution proceeds to further vaUdation of the gesture in figure 18b.
In step 410, no incipient "zig" has been seen, so ZigPos' is updated to reflect die most recent finger position, and ZigPos is updated to reflect the second-most-recent finger position. If smoothing or filtering is appUed to die output of die arithmetic unit 16 of FIGS. 1 and 8, then, unlike die S computation described eartier, ZigPos should be updated from die filtered or smoodied position data. In other words, it should be updated from die processed position data which is used to update the cursor position on the host
In step 412, ZigZ' and ZigZ are similarly updated to reflect the two most recent Z values. In typical usage pattems, a second-finger tap wtil typicaUy occur to die left or right, i.e., different in X but not necessarily in Y. Thus, the X denominator (output of subtractor 168 of figure 8) will tend to increase by a clear factor of two when a second finger is present, whereas die Y denominator (output of subtractor 172) may or may not increase correspondingly, depending on the linearity of the charge integrators 44. Thus, it is preferable to use the X denominator output directly as Z for die purposes of die zigzag unit 282, rather than d e combined and processed value normaUy obtained from block 178 of figure 8.
After step 412, execution returns to step 406 where the next sample is awaited.
Referring now to FIG. 18b, step 414 records die time at which die incipient "zig" was detected.
Step 416 then initializes the ZigLeft and ZigRight flags. These flags wtil become TRUE if the finger is seen to move significantly far to the left or right, respectively, of its starting position.
When a second finger comes down on die pad, die (X,Y,Z) values typicaUy take two or tiiree samples to converge to their new values which reflect the presence of two fingers.
Step 418 waits for one or two more samples to arrive, after which time the (X,Y,Z) values should be settied. The choice of one, two, or more samples depends on factors such as die basic sample rate and die amount of filtering that occurs in the analog input section of the device.
After step 418, CurPos reflects the zigged apparent finger position, and ZigPos reflects the position from two samples before the speed passed die Szig tiireshold. The two-sample history is important because a small amount of motion may have occurred due to die approaching second finger, before die finger touched down and produced die large motion that exceeded Szig. After step 418, ZigPos contains d e current position saved at a time before the second finger is likely to have had an effect. Likewise, ZigZ contains the Z value from before the second finger arrived.
Step 420 checks to see if Z has increased substantiaUy beyond the resting Z value ZigZ. In the presently preferred embodiment, Z is compared against a threshold 30% larger than ZigZ. If Z is too smaU, the "zig" is disquaUfied and execution returns to step 404.
Step 422 checks to see if the current position is far to the left of the resting position ZigPos. Since the zigzag unit 282 is looking for an abmpt, "unnatural" change in position, it is preferable tiiat step 422 use position data direcdy from dividers 174 and/or 17f » of die arithmetic unit 16, before any filtering or smoothing that may normaUy be appUed to position data. This data is referred to herein as RawPos to distinguish it from the filtered and smoothed value CurPos. The value CurPos may be used, however, if desired, witii less than optimum results. In this implementation, step 422 compares the X coordinate of RawPos widi the X coordinate of ZigPos minus ZigDistance. The parameter ZigDistance can be chosen experimentally based on die observed spacing on die pad between two fingers when one finger is held down and the other tapped in a natural manner.
If a suitable leftward zig is detected, step 424 sets ZigLeft to TRUE.
Step 426 similarly checks if the current position is far to die right of die resting position; if so, step 428 sets ZigRight to TRUE.
Step 430 then waits for the next (X,Y,Z) sample to arrive.
Step 432 checks if the second finger has Ufted from the pad, by comparing Z against a second "zag" threshold somewhat less man the "zig" tiireshold of step 420. (In die current system, tiiis threshold is roughly 20% larger tiian ZigZ.) The "zag" threshold is set below the "zig" threshold in order to provide simple hysteresis.
If die second finger has not yet lifted, execution returns to step 422 to continue waiting. If the second finger has Ufted, execution proceeds to step 434 on figure 18c.
Referring now to FIG. 18c, step 434 waits one or two samples for the (X,Y,Z) data to stabilize as die second finger lifts; this step is analogous to step 418.
Step 436 does a final check for a complete zigzag gesture. So far, a sudden motion accompanied by an increase in Z has been seen, foUowed by sudden decrease in Z. Step 436 additionally checks that die position has returned to its prezigzag value (die distance from RawPos to ZigPos is less than ZigRadius); the Z value has simUarly retumed to normal (die absolute value of Z minus ZigZ is less than ZigLimit); and either ZigLeft or ZigRight but not both, is TRUE. In addition, the second-finger tap must be of short duration, i.e. CurTime minus ZigTime is less than ZigMaxTime.
If the motion does not quaUfy as a zigzag, execution returns to step 404 to await detection of a zigzag gesture. If the motion has qualified as a zigzag, step 438 provides reverse motion to restore the cursor to the exact position corresponding to ZigPos, if necessary. This step is analogous to step 328 of FIG. 17b.
In step 440, a complete zigzag has been detected. If ZigLeft is TRUE, the motion is a leftward zigzag. Otherwise, ZigRight must be TRUE and die motion is a rightward zigzag. Accordingly, eitiier step 442 simulates a left button press for a leftward zigzag, or step 444 simulates a right button press for a rightward zigzag.
Step 446 pauses for a certain amount of time. For example, this step might wait for one or several more samples to arrive, or it might wait for one or several data packets to be sent to the host (Normally there is a one-to-one correspondence between samples and data packets.)
Finally, step 448 ends the simulated button press by setting Out to NONE. In this example, the zigzag gesture only works to simulate cticks, not drags. The zigzag does not extend neatly to a drag in die same way as the normal one-finger tap, since this would imply that the entire drag motion occurs with two fingers held awkwardly on die pad. One alternative is to simulate a locking button, as is often done widi trackbaU buttons in die art, where consecutive zigzags alternately press and release die virtual button. Anotiier alternative is to have the zigzag gesture press the virtual button, and to release die virtual button only when the primary finger is also removed from die pad.
After step 448, execution returns to step 404 to await detection of further zigzag gestures.
Another gesture which is useful in specialized appUcations is a "push" gesture, which simply compares the Z (pressure) information against a second Z tiireshold ZpushDown, considerably higher tiian the basic finger-detection tiireshold, and simulates a mouse button action whenever Z exceeds tiiis threshold. This "push" gesture is similar to die way pen-based pointing devices normaUy operate; however, it is too imprecise and too tiring on the finger to use as the primary cUck or drag gesture. The "push" gesture is most useful in special contexts such as freehand drawing programs.
FIG. 19 is a timing diagram illustrating a "push" gesture. To perform tiiis gesture, die finger is first brought near enough to cause cursor motion without causing a virtual button press. Next, the finger pressure increases past threshold ZpushDown, causing die virtual button to be pressed. Later, die pressure reduces below a threshold ZpushUp, causing die virtual button to be released. If ZpushUp is somewhat lower man ZpushDown, the resulting hysteresis wiU prevent unwanted osciUation on die virtual button if die finger pressure varies stightly around die "push" threshold.
In one variant tiiat may be preferable, ZpushUp is set equal to Zthresh, so that once a push has begun the finger must be fully Ufted from die pad in order to release die simulated button. Other users may prefer ZpushUp to be much closer to ZpushDown than to Zthresh, resulting in a more delicate feel. The push unit 284 of FIG. 14 recognizes the push gesture. FIG. 20 is a flowchart iUustrating the implementation of this gesture. The corresponding diagram for an equivalent hardware circuit to recognize this gesture would be quite straightforward.
Execution begins at step 450 every time a new (X,Y,Z) sample arrives from the arithmetic unit 16. Note that the push unit 284 examines only the Z value of each sample.
Step 452 checks whether or not a "push" gesture is already in progress.
Step 454 executes if no "push" gesture is in progress. This step checks if a "push" should begin. First, "push" gestures must be enabled by die user. Second, die current Z value must be greater tiian the threshold ZpushDown.
If Z is sufficient to begin a push gesture, step 456 sets Out to LEFT to indicate that the left button is now pressed.
Step 458 checks if die current push gesture should end. This check simply involves comparing Z against ZpushUp. If Z is less man ZpushUp, the push gesture is terminated in step 460.
Execution ends at step 462. If neither step 456 nor step 460 was executed tiien Out remains die same, mus providing die hysteresis referred to above. The state variable Out should be initiaUzed to NONE at startup time.
Those of ordinary sktil in die art wiU note that the tap unit 280 is suitable for use with any touchpad tiiat provides (X,Y) and finger-presence information, and push unit 284 is suitable for use widi any touchpad that produces Z (pressure) information. Only the zigzag unit 282 depends on special characteristics of die particular touchpad technology disclosed herein, namely die fact that two fingers reUably report an averaged finger position.
Two more algorithms that are not direcdy part of gesture processing may be used to address minor problems at occur when the user taps on the pad. Specifically, die finger position sometimes shears shaφly in one direction just as the finger lifts away. This is due to natural sUppage of the finger during tiiis action, and is aggravated when the finger is held at a shallow angle. A "reverse motion" algorithm can deal widi some of dtis problem, but if the apparent finger position jumps so far that the TapRadius test fails, reverse motion cannot help. If Z is seen to be changing rapidly between the current and previous samples (i.e., if the absolute difference between the current and previous Z values is less tiian some empiricaUy determined threshold), tiien the time" constant of the (X,Y) filtering of the output of the arithmetic unit 16 can be increased. Normally, die old filter value and new quotient are averaged witii roughly equal weighting to produce the new filter value. If Z is rapidly changing, the old filter value is instead weighted considerably (e.g., an order of magnitude) more man the new quotient. The result is that any motion occurring during this instant of high Z change is heavtiy damped.
Often the spurious motion that arises from a finger-Uft occurs aU in the very last sample before Z decreases below die finger-down tiireshold Zthresh. Anotiier solution to the problem of spurious finger-Uft motion is the "lift-jump suppression" mechanism, which attempts to suppress tiiis final spurious motion event. FIG. 21 shows an iUustrative circuit for performing the tift-jump suppression function.
The circuit shown in FIG. 21 performs lift jump suppression. It examines the sequence of (X,Y) position samples arriving from dividers 174 and 176 of FIG. 8 to produce a speed S which is further processed to obtain a motion-suppression signal. As described previously, it is best to use the quotient values directly, before any smoothing or filtering stage, when computing the speed S.
Referring to FIG. 21, X coordinates are stored in delay 470. Subtractor 472 computes die absolute value of die difference between die current X value and die previous value stored in delay 470. Likewise, delay 474 and subtractor 476 compute the absolute change in Y. Adder
478 forms the sum of these absolute differences to produce speed S, the distance between the current and previous samples. As previously described, it is clear tiiat other distance measures may be used for tiiis computation. Note that, in addition to die circuitry of FIG. 21, the zigzag unit 282 also makes use of the speed value S as previously disclosed.
Delay units 480 and 482 record the previous and second-previous values of S, known as
S' and S", respectively. Divider 484 computes die quantity one-half of S, denoted S/2. The lift-jump suppression unit looks for a characteristic relationship among die values S, S', S", and S/2 in an attempt to recognize spurious lift-jump events. One practiced in die art wtil recognize tiiat S" is not vatid until the fourth sample of a given finger stroke; thus, the lift-jump suppression unit is disabled for die first three samples of each stroke. The lift- jump suppression unit also employs a parameter Liftjump, a speed threshold which is determined experimentaUy and is affected by the sample rate and die sensitivity of the sensor pad. Comparator 486 checks if the speed S is greater than the threshold Liftjump. Comparator 488 checks to see if die previous speed S' is less than Liftjump, and comparator 490 checks if S' is less than S/2. Similarly, comparator 492 checks to see if the second- previous speed S" is less tiian Liftjump, and comparator 494 checks if S" is less than S/2. If aU five conditions are satisfied, AND gate 496 outputs a "suppress-motion" signal which suppresses the action of motion unit 18 for this sample. When motion unit 18 is suppressed, its output (ΔX.ΔY) is not generated for the current sample, and its delay unit 260 is not clocked.
The profile detected by die lift-jump suppression unit usuaUy occurs during a last spurious motion sample before the finger lifts. Since Z wiU faU below Zthresh on the very next sample, the current sample will never contribute to any motion events sent to the host. The algorithm is guaranteed by design not to suppress more than one sample in a row. Thus, if the algorithm "guesses wrong" and Z does not faU below Zthresh, die skipped finger motion wtil be taken up into die (ΔX,ΔY) packet produced by the next sample with only a tiny hesitation in the perceived cursor motion.
The increased sensitivity of the touch sensor system of the present invention aUows for a lighter input finger touch which makes it easy for human use. Increased sensitivity also makes it easier to use other input objects, like pen styU, etc. Additionally, this sensitivity aUows for a tradeoff against a thicker protective layer, or different materials, which both can aUow for lower manufacturing costs.
Greater noise rejection allows for greater flexibility in use and reduced sensitivity to spurious noise problems. Two techniques are employed which allow derivation of the most noise-rejection benefit.
Due to the drive and sense techniques employed in the present invention, the data acquisition rate has been increased by about a factor of 30 over die prior art This offers several obvious side effects. First, for the same level of signal processing, the circuitry can be turned off most of die time and reduce power consumption by roughly a factor of 30 in the analog section of the design. Second, since more data is available, more signal processing, such as filtering and gesture recognition, can be performed.
The sensor electronic circuit employed in die present invention is very robust and catibrates out process and systematic errors. It wUl process the capacitive information from die sensor and provide digital information to an external device, for example, a microprocessor. Because of die unique physical features of die present invention, there are several ergonomicaUy interesting appUcations that were not previously possible. Presently a mouse or trackbaU is not physicaUy convenient to use on portable computers. The present invention provides a very convenient and easy-to-use cursor position solution that replaces those devices.
In mouse-type applications, the sensor of the present invention may be placed in a convenient location, e.g., below the "space bar" key in a portable computer. When placed in this location, the thumb of the user may be used as die position pointer on die sensor to control die cursor position on the computer screen. The cursor may then be moved witiiout the need for die user's fingers to leave the keyboard. Ergonomically, tiiis is simtiar to the concept of the Macintosh Power Book with its trackbaU, however the present invention provides a significant advantage in size over die trackball. Extensions of this basic idea are possible in that two sensors could be placed below die "space bar" key for even more feature control.
The computer display witii its cursor feedback is one smaU example of a very general area of application where a display could be a field of Ughts or LEDs, an LCD display, or a CRT. Examples include touch controls on laboratory equipment where present equipment uses a knob/button touch screen combination. Because of tiie articulating abitity of this interface, one or more of those inputs could be combined into one of die inputs described witii respect to the present invention.
Consumer Electronic Equipment (stereos, graphic equaUzers, mixers) appUcations often utilize significant front panel surface area for sUde potentiometers because variable control is needed. The present invention can provide such control in one smaU touch pad location. As Electronic Home Systems become more common, denser and more powerful human interface is needed. The sensor technology of the present invention permits a very dense control panel. Hand-held TN/NCR/Stereo controls could be ergonomically formed and aUow for more powerful features if tiiis sensor technology is used.
The sensor of die present invention can be conformed to any surface and can be made to detect multiple touching points, making possible a more powerful joystick. The unique pressure detection ability of the sensor technology of the present invention is also key to tiiis apphcation. Computer games, "remote" controls (hobby electronics, planes) , and machine tool controls are a few examples of appUcations which would benefit from die sensor technology of tiie present invention.
Musical keyboards (syntiiesizers, electric pianos) require velocity sensitive keys which can be provided by the pressure sensing ability of this sensor. There are also pitch bending controls, and other sUde switches tiiat could be replaced widi this technology. An even more unique apphcation comprises a musical instrument that creates notes as a function of the position and pressure of the hands and fingers in a very articulate 3-d interface.
The sensor technology of die present invention can best detect any conducting material pressing against it. By adding a compressible insulating layer covered by a layer of conductive material on top of the sensor the sensor of the present invention may also indirectly detect pressure from any object being handled, regardless of its electrical conductivity.
Because of the amount of information avadable from this sensor it will serve very weU as an input device to virtual reatity machines. It is easy to envision a constmction that aUows position-monitoring in tiiree dimensions and some degree of response (pressure) to actions.
WhUe embodiments and appUcations of this invention have been shown and described, it would be apparent to tiiose skilled in die art tiiat many more modifications tiian mentioned above are possible without departing from the inventive concepts herein. The invention, therefore, is not to be restricted except in die spirit of the appended claims.

Claims

What is Claimed is:
1. A method for recognizing an extended drag gesture made on a touch-sensor pad in a touch-sensing system providing X and Y position information to a host including the steps of: detecting a first presence of a conductive object on the touch-sensor pad of a first duration between a start and a finish of said first presence; comparing said first duration with a first reference amount of time; initiating a gesture signal to the host indicating die occurrence of a gesture if said first duration is less tiian said first reference amount of time; detecting a second presence of a conductive object on the touch-sensor pad of a second duration between a start and a finish of said second presence; comparing a first elapsed time between said finish of said first presence and said start of said second presence witii a second reference amount of time; mamtaining said gesture signal and repeatedly sending X and Y position information to said host for said second duration if said first elapsed time is less than said second reference amount of time; detecting a diird presence of a conductive object on the touch-sensor pad of a tiiird duration between a start and a finish of said tiiird presence; comparing a second elapsed time between said finish of said second presence and said start of said third presence widi a third reference amount of time; and maintaining said gesture signal and repeatedly sending X and Y position information to said host for said second elapsed time and said third duration if said second elapsed time is less than said tiiird reference amount of time.
2. A method for recognizing an extended drag gesture made on a touch-sensor pad in a touch-sensing system providing X and Y position information to a host, including die steps of: detecting a first presence of a conductive object on die touch-sensor pad of a first duration between a start and a finish of said first presence; comparing said first duration with a first reference amount of time; initiating a gesture signal to the host indicating die occurrence of a gesture if said first duration is less tiian said first reference amount of time; detecting a second presence of a conductive object on the touch-sensor pad of a second duration between a start and a finish of said second presence; comparing a first elapsed time between said finish of said first presence and said start of said second presence witii a second reference amount of time; detecting an average speed of said conductive object at said finish of said second presence; comparing said average speed of said conductive object at said finish of said second presence widi a first reference speed; maintaining said gesture signal and repeatedly sending X and Y position information to said host for said second duration if said first elapsed time is less than said second reference amount of time; detecting a tiiird presence of a conductive object on the touch-sensor pad of a third duration between a start and a finish of said third presence; comparing a second elapsed time between said finish of said second presence and said start of said tiiird presence with a third reference amount of time; and maintaining said gesture signal and repeatedly sending X and Y position information to said host for said second elapsed time and said third duration if said second elapsed time is less than said third reference amount of time and said average speed of said conductive object at said finish of said second presence is greater tiian said first reference speed.
3. A metiiod for recognizing an extended drag gesture made on a touch-sensor pad in a touch-sensing system providing X and Y position information to a host including the steps of: detecting a first presence of a conductive object on die touch-sensor pad of a first duration between a start and a finish of said first presence; comparing said first duration witii a first reference amount of time; initiating a gesture signal to the host indicating the occurrence of a gesture if said first duration is less than said first reference amount of time; detecting a second presence of a conductive object on the touch-sensor pad of a second duration between a start and a finish of said second presence; comparing a first elapsed time between said finish of said first presence and said start of said second presence witii a second reference amount of time; detecting a position of said finish of said second presence on said touch-sensor pad; maintaining said gesture signal and repeatedly sending X and Y position information to said host for said first elapsed time if said first elapsed time is less than said second reference amount of time; detecting a tiiird presence of a conductive object on die touch-sensor pad of a tiiird duration between a start and a finish of said tiiird presence; comparing a second elapsed time between said finish of said second presence and said start of said tiiird presence with a tiiird reference amount of time; detecting a position of said start of said third presence on said touch-sensor pad; comparing a distance between said position of said finish of said second presence and said position of said start of said tiiird presence with a first reference distance; and maintaining said gesture signal and repeatedly sending X and Y position information to said host for said second elapsed time and said third duration if said second elapsed time is less tiian said tiiird reference amount of time and said distance between said position of said finish of said second presence and said position of said start of said tiiird presence is greater tiian said first reference distance.
4. A metiiod for recognizing a variable drag gesture made on a touch-sensor pad in a touch-sensing system providing X and Y position information to a host, including die steps of: detecting a first presence of a conductive object on die touch-sensor pad of a first duration between a start and a finish of said first presence; comparing said first duration with first and second reference amounts of time, said second reference amount of time being less than said first reference amount of time; initiating a gesture signal to the host indicating die occurrence of a gesture if said first duration is less than said first reference amount of time; detecting a second presence of a conductive object on the touch-sensor pad of a second duration between a start and a finish of said second presence; comparing an elapsed time between said finish of said first presence and said start of said second presence with a third reference amount of time if said first duration is less than said second reference amount of time; maintaining said gesture signal and repeatedly sending X and Y position information to said host for said second duration if said elapsed time compared to said third reference amount of time is less than said third reference amount of time comparing said elapsed time widi a fourth reference amount of time if said first duration is greater than said second reference amount of time and less tiian said first reference amount of time; and maintaining said gesture signal and repeatedly sending X and Y position information to said host for said second duration if said elapsed time compared to said fourth reference amount of time is less than said fourth reference amount of time.
5. A method for recognizing an variable drag gesture made on a touch-sensor pad in a touch-sensing system providing X and Y position information to a host including die steps of: detecting a first presence of a conductive object on the touch-sensor pad of a first duration between a start and a finish of said first presence; comparing said first duration with first and second reference amounts of time, said second reference amount of time being less than said first reference amount of time; initiating a gesture signal to the host indicating die occurrence of a gesture if said first duration is less tiian said second reference amount of time; initiating a gesture signal to the host after a delay indicating the occurrence of a gesture if said first duration is greater than said second reference amount of time but less than said first reference amount of time ; detecting a second presence of a conductive object on die touch-sensor pad of a second duration between a start and a finish of said second presence; comparing an elapsed time between said finish of said first presence and said start of said second presence with a third reference amount of time if said first duration is less than said second reference time; maintaining said gesture signal and repeatedly sending X and Y position information to said host for said second duration if said elapsed time compared to said tiiird reference amount of time is less than said tiiird reference amount of time comparing said elapsed time with a fourth reference amount of time if said first duration is greater than said second reference amount of time and less tiian said first reference amount of time; and maintaining said gesture signal and repeatedly sending X and Y position infoπnation to said host for said second duration if said elapsed time compared to said fourth reference amount of time is less than said fourth reference amount of time.
6. A metiiod for providing an electrical signal for moving a cursor on a display screen associated witii a computer in response to electrical signals representing the position of an object in a two dimensional sensing plane, including die steps of: providing a sensing plane including a matrix of conductors arranged as a plurality of spaced apart row conductive lines and column conductive lines, said sensing plane characterized by an inherent capacitance on the various ones of said row conductive lines and column conductive Unes, said capacitance varying with the proximity of an object to said row and column conductive Unes, said sensing plane including an inner region bounded by an outer region, said outer region extending inward from outer edges of said sensing plane and said outer region having a first portion in an X plane and a second portion in a Y plane; sensing the capacitance on at least selected ones of said row and column conductive lines; generating present-position signals from the sensed capacitance representing the present position of said object in botii X and Y directions on said sensing plane; sensing whedier said object is in said outer region of said sensing plane; generating first relative position X and Y signals representing the difference between X and Y coordinates of said present position of said object and X and Y coordinates of a previous position of said object, and sending said first relative position X and Y signals to said computer if said object is not in said outer region of said sensing plane; generating a second relative position X signal representing the difference between said X coordinate of said present position of said object and an X coordinate of a fixed position on said sensing plane if said object is in said second portion of said outer region of said sensing plane, and sending said second relative position X signal to said computer so long as said object is in said second portion of said outer region of said sensing plane; generating a second-relative position Y signal representing the difference between said Y coordinate of said present position of said object and a Y coordinate of a fixed position on said sensing plane if said object is in said first portion of said outer region of said sensing plane, and sending said second relative position Y signal to said computer so long as said object is in said first portion of said outer region of said sensing plane.
7. The method of claim 6 wherein said fixed position on said sensing plane is die geometric center of said sensing plane.
8. The metiiod of claim 6 wherein said present-position signals, said first relative position X and Y signals, and said second relative position X and Y signals are digital signals.
9. A metiiod for providing an electrical signal for moving a cursor on a display screen associated witii a computer in response to electrical signals representing the position of an object in a two dimensional sensing plane, including die steps of: providing a sensing plane including a matrix of conductors arranged as a plurality of spaced apart row conductive lines and column conductive lines, said sensing plane characterized by an inherent capacitance on die various ones of said row conductive lines and column conductive Unes, said capacitance varying with the proximity of an object to said row and column conductive lines, said sensing plane including an inner region bounded by an outer region, said outer region extending inward from outer edges of said sensing plane and said outer region having a first portion in an X plane and a second portion in a Y plane; sensing the capacitance on at least selected ones of said row and column conductive lines; generating present-position signals from the sensed capacitance representing the present position of said object in both X and Y directions on said sensing plane; sensing whedier said object is in said outer region of said sensing plane; generating first relative position X and Y signals representing die difference between X and Y coordinates of said present position of said object and X and Y coordinates of a previous position of said object, and sending said first relative position X and Y signals to said computer if said object is not in said outer region of said sensing plane; generating a second relative position X signal if said object is in said second portion of said outer region of said sensing plane, said second relative position X signal comprising said first X signal incremented by an amount proportional to the difference in said X direction between said present position in said X direction of said object and a fixed X position on said sensing plane, and sending said second relative position digital X signals to said computer so long as said object is in said second portion of said outer region of said sensing plane, generating a second-relative position Y signal if said object is in said first portion of said outer region of said sensing plane, said second relative position Y signal comprising said first Y signal incremented by an amount proportional to the difference in said Y direction between said present position in said Y direction of said object and a fixed Y position on said sensing plane, and sending said second relative position digital Y signals to said computer so long as said object is in said first portion of said outer region of said sensing plane.
10. The metiiod of claim 9 wherein said fixed X position and said fixed Y position on said sensing plane define die geometric center of said sensing plane.
11. The metiiod of claim 9 wherein said present-position signals, said first relative position X and Y signals, and said second relative position X and Y signals are digital signals.
12. The metiiod of claim 9 wherein: said amount proportional to the difference in said X direction between said present position in said X direction of said object and a fixed X position on said sensing plane is m times the difference in said X direction between said present position in said X direction of said object and a center X position on said sensing plane; and said amount proportional to the difference in said Y direction between said present position in said Y direction of said object and a fixed Y position on said sensing plane is n times die difference in said Y direction between said present position in said Y direction of said object and a center Y position on said sensing plane; wherein m and n are numbers chosen to impart a desired speed to the motion of said cursor on said display.
13. The method of claim 12 wherein die ratio of m to n is equal to die ratio of the widtii of said sensing plane to the height of said sensing plane.
14. A metiiod for providing an electrical signal for moving a cursor on a display screen associated witii a computer in response to electrical signals representing the position of an object in a two dimensional sensing plane, including die steps of: providing a sensing plane including a matrix of conductors arranged as a pluraUty of spaced apart row conductive Unes and column conductive Unes, said sensing plane characterized by an inherent capacitance on the various ones of said row conductive Unes and column conductive Unes, said capacitance varying witii the proximity of an object to said row and column conductive Unes, said sensing plane including an inner region bounded by an outer region, said outer region extending inward from outer edges of said sensing plane and said outer region having a first portion in an X plane and a second portion in a Y plane; simultaneously developing a first set of signals proportional to die value of said capacitance for each of said row conductive Unes when no object is located proximate to said sensing plane; simultaneously developing a second set of signals proportional to the value of said capacitance for each of said column conductive Unes when no object is located proximate to said sensing plane; simultaneously developing a tiiird set of signals proportional to the value of said capacitance for each of said row conductive lines when an object is located proximate to said sensing plane; simultaneously developing a fourth set of signals proportional to the value of said capacitance for each of said column conductive Unes when said object is located proximate to said sensing plane; computing a first weighted average of die difference between said first set of signals and said third set of signals to generate a present-position signal in the X direction of said sensing plane; and computing a second weighted average of die difference between said second set of signals and said fourth set of signals generate a present-position signal in the Y direction of said sensing plane; generating first relative position X and Y signals representing the difference between said present-position signals in both X and Y directions and a previous set of present- position signals in both X and Y directions, and sending said first relative position X and Y signals to said computer if said object is not in said outer region of said sensing plane, and; generating a second relative position X signal representing the difference between said X coordinate of said present position of said object and an X coordinate of a fixed position on said sensing plane if said object is in said second portion of said outer region of said sensing plane, and sending said second relative position X signal to said computer so long as said object is in said second portion of said outer region of said sensing plane; generating a second relative position Y signal representing die difference between said X coordinate of said present position of said object and a Y coordinate of a fixed position on said sensing plane if said object is in said first portion of said outer region of said sensing plane, and sending said second relative position Y signal to said computer so long as said object is in said first portion of said outer region of said sensing plane.
15. The metiiod of claim 14 wherein said fixed position on said sensing plane is the geometric center of said sensing plane.
16. The metiiod of claim 14, wherein the steps of simultaneously developing said first, second, tiiird, and fourth sets of signals includes die steps of: placing a first known voltage on said row conductive lines; discharging said row conductive lines for a fixed time at a fixed current; measuring and storing a first set of row conductive Une resultant voltages across said row conductive Unes; placing a second known voltage on said row conductive Unes; charging said row conductive lines for said fixed time at said fixed current; measuring and storing a second set of row conductive line resultant voltages across said row conductive Unes; averaging corresponding ones of said first and second sets of row conductive Une resultant voltages; placing a first known voltage on said column conductive lines; discharging said column conductive lines for a fixed time at a fixed current; measuring and storing a first set of column conductive Une resultant voltages across said column conductive Unes; placing a second known voltage on said column conductive Unes; charging said column conductive lines for said fixed time at said fixed current; measuring and storing a second set of column conductive line resultant voltages across said column conductive lines; and averaging corresponding ones of said first and second sets of column conductive Une resultant voltages.
17. The metiiod of claim 14 wherein the steps of computing said first and second weighted averages comprises die steps of: computing a sum and a weighted sum of said first set of signals; computing a sum and a weighted sum of said second set of signals; computing a sum and a weighted sum of said tiiird set of signals; computing a sum and a weighted sum of said fourth set of signals; computing a row numerator by subtracting said weighted sum of said first set of signals from said weighted sum of said tiiird set of signals; computing a row denominator by subtracting said sum of said second set of signals from said sum of said fourth set of signals; dividing said row numerator by said row denominator to derive a row position signal representing die position of said object in a row dimension; computing a column numerator by subtracting said weighted sum of said second set of signals from said weighted sum of said second set of signals; computing a column denominator by subtracting said sum of said second set of signals from said sum of said second set of signals; and dividing said column numerator by said column denominator to derive a column position signal representing the position of said object in a column dimension.
18. The method of claim 17 including die further steps of: storing said sum and said weighted sum of said first and tiiird set of signals as a stored sum and a stored weighted sum of said second and fourth sets of signals; and using said stored sum and said stored weighted sum in computing subsequent ones of said row numerators and denominators and said column numerators and denominators using said stored sum and a stored weighted sum for providing an electrical signal representative of a subsequent position of said object in said two dimensional plane.
PCT/US1997/005333 1996-03-28 1997-03-26 Object position detector with edge motion feature and gesture recognition WO1997036225A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1019970705125A KR100277147B1 (en) 1996-03-28 1997-03-26 Object position detector with edge motion feature and gesture recognition
EP97920008A EP0829043A1 (en) 1996-03-28 1997-03-26 Object position detector with edge motion feature and gesture recognition
JP53467797A JP3764171B2 (en) 1996-03-28 1997-03-26 Object position detector using edge motion function and gesture recognition
HK98112933A HK1017934A1 (en) 1996-03-28 1998-12-08 Object position detector with edge motion feature and gesture recognition.

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/623,483 US5880411A (en) 1992-06-08 1996-03-28 Object position detector with edge motion feature and gesture recognition
US08/623,483 1996-03-28

Publications (1)

Publication Number Publication Date
WO1997036225A1 true WO1997036225A1 (en) 1997-10-02

Family

ID=24498252

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1997/005333 WO1997036225A1 (en) 1996-03-28 1997-03-26 Object position detector with edge motion feature and gesture recognition

Country Status (7)

Country Link
US (9) US5880411A (en)
EP (1) EP0829043A1 (en)
JP (3) JP3764171B2 (en)
KR (1) KR100277147B1 (en)
CN (1) CN1155876C (en)
HK (1) HK1017934A1 (en)
WO (1) WO1997036225A1 (en)

Cited By (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0996052A2 (en) * 1998-10-19 2000-04-26 Fujitsu Limited Input processing method and input control apparatus
JP2000340072A (en) * 1999-05-25 2000-12-08 Sony Corp Operation unit giving operational touch and method of producing operational touch
WO2001015067A1 (en) * 1999-08-23 2001-03-01 Siemens Aktiengesellschaft Method and device for inputting control signals
WO2003038585A2 (en) * 2001-10-30 2003-05-08 Eleksen Limited Detecting a degree of manual interaction with a manually operable key
EP1507192A2 (en) * 2003-06-09 2005-02-16 Microsoft Corporation Detection of a dwell gesture by examining parameters associated with pen motion
EP1717684A2 (en) 1998-01-26 2006-11-02 Wayne Westerman Method and apparatus for integrating manual input
CN100349103C (en) * 2003-08-05 2007-11-14 捷讯研究有限公司 Mobile device with on-screen optical navigation
GB2445198A (en) * 2006-12-29 2008-07-02 Inventec Appliances Corp Touch control input system
US7450114B2 (en) 2000-04-14 2008-11-11 Picsel (Research) Limited User interface systems and methods for manipulating and viewing digital documents
JP2009032294A (en) * 2008-11-10 2009-02-12 Sony Corp Information processor and method, program, and recording medium
EP1205836A3 (en) * 2000-11-10 2009-07-22 Microsoft Corporation Method and system for inputting gestures
US7576730B2 (en) 2000-04-14 2009-08-18 Picsel (Research) Limited User interface systems and methods for viewing and manipulating digital documents
WO2009115871A1 (en) * 2008-03-19 2009-09-24 Sony Ericsson Mobile Communications Ab Two way touch-sensitive display
EP2187300A1 (en) * 2008-11-17 2010-05-19 S.C. Mighty Prod S.R.L. Procedure and system of operator interaction with tactile surface computers
EP2341419A1 (en) * 2009-12-31 2011-07-06 Sony Computer Entertainment Europe Limited Device and method of control
EP2256607A3 (en) * 1998-01-26 2011-12-14 Apple Inc. Method and apparatus for integrating manual input
EP2511804A1 (en) * 2009-10-09 2012-10-17 Egalax_Empia Technology Inc. Method and device of position detection
WO2012166280A1 (en) * 2011-06-01 2012-12-06 Motorola Mobility Llc Using pressure differences with a touch-sensitive display screen
EP2609492A2 (en) * 2010-08-27 2013-07-03 Apple Inc. Touch and hover switching
US8581874B2 (en) 2008-12-19 2013-11-12 Motorola Mobility Llc Touch screen device and methods thereof configured for a plurality of resolutions
US8686964B2 (en) 2006-07-13 2014-04-01 N-Trig Ltd. User specific recognition of intended user interaction with a digitizer
US8976128B2 (en) 2011-09-12 2015-03-10 Google Technology Holdings LLC Using pressure differences with a touch-sensitive display screen
US9069417B2 (en) 2006-07-12 2015-06-30 N-Trig Ltd. Hover and touch detection for digitizer
US9069460B2 (en) 2011-09-12 2015-06-30 Google Technology Holdings LLC Using pressure differences with a touch-sensitive display screen
US9239677B2 (en) 2004-05-06 2016-01-19 Apple Inc. Operation of a computer with touch screen interface
US9239673B2 (en) 1998-01-26 2016-01-19 Apple Inc. Gesturing with a multipoint sensing device
US9285940B2 (en) 2009-10-09 2016-03-15 Egalax—Empia Technology Inc. Method and device for position detection
US9292111B2 (en) 1998-01-26 2016-03-22 Apple Inc. Gesturing with a multipoint sensing device
US9348458B2 (en) 2004-07-30 2016-05-24 Apple Inc. Gestures for touch sensitive input devices
EP2171565B1 (en) * 2007-07-27 2017-05-17 Samsung Electronics Co., Ltd. Pressure sensor array apparatus and method for tactile sensing
RU2643654C2 (en) * 2012-02-24 2018-02-02 Самсунг Электроникс Ко., Лтд. Method and device for moving content in terminal
US10042418B2 (en) 2004-07-30 2018-08-07 Apple Inc. Proximity detector in handheld device
WO2020083567A1 (en) * 2018-10-22 2020-04-30 Endress+Hauser SE+Co. KG User input module for an automation engineering field device, and same field device
US10908729B2 (en) 2004-05-06 2021-02-02 Apple Inc. Multipoint touchscreen
US10976846B2 (en) 2006-06-09 2021-04-13 Apple Inc. Touch screen liquid crystal display

Families Citing this family (1846)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8352400B2 (en) 1991-12-23 2013-01-08 Hoffberg Steven M Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
US6343991B1 (en) * 1997-10-01 2002-02-05 Brad A. Armstrong Game control with analog pressure sensor
US6222525B1 (en) * 1992-03-05 2001-04-24 Brad A. Armstrong Image controllers with sheet connected sensors
US5880411A (en) * 1992-06-08 1999-03-09 Synaptics, Incorporated Object position detector with edge motion feature and gesture recognition
US6239389B1 (en) 1992-06-08 2001-05-29 Synaptics, Inc. Object position detection system and method
US7126583B1 (en) 1999-12-15 2006-10-24 Automotive Technologies International, Inc. Interactive vehicle display system
US9513744B2 (en) * 1994-08-15 2016-12-06 Apple Inc. Control systems employing novel physical controls and touch screens
US8228305B2 (en) * 1995-06-29 2012-07-24 Apple Inc. Method for providing human input to a computer
US8482534B2 (en) 1995-06-29 2013-07-09 Timothy R. Pryor Programmable tactile touch screen displays and man-machine interfaces for improved vehicle instrumentation and telematics
US8674932B2 (en) * 1996-07-05 2014-03-18 Anascape, Ltd. Image controller
US6380929B1 (en) 1996-09-20 2002-04-30 Synaptics, Incorporated Pen drawing computer input device
JPH10240424A (en) * 1997-02-21 1998-09-11 Alps Electric Co Ltd Coordinate input device
US6204839B1 (en) * 1997-06-27 2001-03-20 Compaq Computer Corporation Capacitive sensing keyboard and pointing device
US20030107557A1 (en) * 1997-07-30 2003-06-12 Gateway, Inc. Control of unintended single-tap actuation of a computer touch pad pointing device
JP3963033B2 (en) * 1997-07-31 2007-08-22 ソニー株式会社 Time-series data generation apparatus and method, curve editing apparatus and method, and recording medium recording program
US6490235B1 (en) * 1997-08-07 2002-12-03 Sony Corporation Storage and reproduction apparatus with rotary control element for controlling operations
US6292174B1 (en) * 1997-08-23 2001-09-18 Immersion Corporation Enhanced cursor control using limited-workspace force feedback devices
GB9722766D0 (en) 1997-10-28 1997-12-24 British Telecomm Portable computers
CN1139037C (en) * 1997-11-11 2004-02-18 叶富国 High analytic finger control input device with any definite range
US7834855B2 (en) * 2004-08-25 2010-11-16 Apple Inc. Wide touchpad on a portable computer
US7840912B2 (en) * 2006-01-30 2010-11-23 Apple Inc. Multi-touch gesture dictionary
US7808479B1 (en) 2003-09-02 2010-10-05 Apple Inc. Ambidextrous mouse
US7844914B2 (en) * 2004-07-30 2010-11-30 Apple Inc. Activating virtual keys of a touch-screen virtual keyboard
US7683888B1 (en) * 2004-02-27 2010-03-23 Apple Inc. Shape detecting input device
US20070177804A1 (en) * 2006-01-30 2007-08-02 Apple Computer, Inc. Multi-touch gesture dictionary
US7760187B2 (en) * 2004-07-30 2010-07-20 Apple Inc. Visual expander
US7800592B2 (en) * 2005-03-04 2010-09-21 Apple Inc. Hand held electronic device with multiple touch sensing devices
US6249606B1 (en) * 1998-02-19 2001-06-19 Mindmaker, Inc. Method and system for gesture category recognition and training using a feature vector
US6104317A (en) * 1998-02-27 2000-08-15 Motorola, Inc. Data entry device and method
US6610917B2 (en) * 1998-05-15 2003-08-26 Lester F. Ludwig Activity indication, external source, and processing loop provisions for driven vibrating-element environments
JPH11355617A (en) * 1998-06-05 1999-12-24 Fuji Photo Film Co Ltd Camera with image display device
US6241527B1 (en) * 1998-06-19 2001-06-05 Rastar Corporation Interactive educational display board
US6429846B2 (en) 1998-06-23 2002-08-06 Immersion Corporation Haptic feedback for touchpads and other touch controls
US6573883B1 (en) * 1998-06-24 2003-06-03 Hewlett Packard Development Company, L.P. Method and apparatus for controlling a computing device with gestures
US20010008561A1 (en) * 1999-08-10 2001-07-19 Paul George V. Real-time object tracking system
US6950534B2 (en) * 1998-08-10 2005-09-27 Cybernet Systems Corporation Gesture-controlled interfaces for self-service machines and other applications
US6681031B2 (en) 1998-08-10 2004-01-20 Cybernet Systems Corporation Gesture-controlled interfaces for self-service machines and other applications
US7036094B1 (en) 1998-08-10 2006-04-25 Cybernet Systems Corporation Behavior recognition system
GB9823356D0 (en) * 1998-10-27 1998-12-23 Philips Electronics Nv Data transfer
US7469381B2 (en) 2007-01-07 2008-12-23 Apple Inc. List scrolling and document translation, scaling, and rotation on a touch-screen display
EP1737054B1 (en) * 1999-01-29 2012-04-11 Seiko Epson Corporation Piezoelectric transducer
US7904187B2 (en) 1999-02-01 2011-03-08 Hoffberg Steven M Internet appliance system and method
US7821503B2 (en) * 2003-04-09 2010-10-26 Tegic Communications, Inc. Touch screen and graphical user interface
US7750891B2 (en) * 2003-04-09 2010-07-06 Tegic Communications, Inc. Selective input system based on tracking of motion parameters of an input device
US7030863B2 (en) 2000-05-26 2006-04-18 America Online, Incorporated Virtual keyboard system with automatic correction
US7610194B2 (en) * 2002-07-18 2009-10-27 Tegic Communications, Inc. Dynamic database reordering system
US7286115B2 (en) * 2000-05-26 2007-10-23 Tegic Communications, Inc. Directional input system with automatic correction
JP4519381B2 (en) * 1999-05-27 2010-08-04 テジック コミュニケーションズ インク Keyboard system with automatic correction
US6730863B1 (en) * 1999-06-22 2004-05-04 Cirque Corporation Touchpad having increased noise rejection, decreased moisture sensitivity, and improved tracking
US6337678B1 (en) 1999-07-21 2002-01-08 Tactiva Incorporated Force feedback computer input and output device with coordinated haptic elements
US6396523B1 (en) 1999-07-29 2002-05-28 Interlink Electronics, Inc. Home entertainment device remote control
US7030860B1 (en) * 1999-10-08 2006-04-18 Synaptics Incorporated Flexible transparent touch sensing system for electronic devices
CA2342168A1 (en) * 1999-10-12 2001-04-19 Invacare Corporation Wheelchair having speed and direction control touchpad
JP4052498B2 (en) 1999-10-29 2008-02-27 株式会社リコー Coordinate input apparatus and method
US6587093B1 (en) * 1999-11-04 2003-07-01 Synaptics Incorporated Capacitive mouse
JP2001134382A (en) * 1999-11-04 2001-05-18 Sony Corp Graphic processor
US8482535B2 (en) * 1999-11-08 2013-07-09 Apple Inc. Programmable tactile touch screen displays and man-machine interfaces for improved vehicle instrumentation and telematics
JP2001184161A (en) 1999-12-27 2001-07-06 Ricoh Co Ltd Method and device for inputting information, writing input device, method for managing written data, method for controlling display, portable electronic writing device, and recording medium
US6822635B2 (en) 2000-01-19 2004-11-23 Immersion Corporation Haptic interface for laptop computers and other portable devices
US8576199B1 (en) 2000-02-22 2013-11-05 Apple Inc. Computer control systems
US6833825B1 (en) * 2000-03-10 2004-12-21 Apple Computer, Inc. Apparatus for remotely controlling a digital processing system
US8645137B2 (en) 2000-03-16 2014-02-04 Apple Inc. Fast, language-independent method for user authentication by voice
US6765557B1 (en) 2000-04-10 2004-07-20 Interlink Electronics, Inc. Remote control having touch pad to screen mapping
US6803906B1 (en) * 2000-07-05 2004-10-12 Smart Technologies, Inc. Passive touch system and method of detecting user input
CA2412878C (en) * 2000-07-05 2015-02-03 Smart Technologies Inc. Camera-based touch system
US9134760B2 (en) 2000-07-17 2015-09-15 Microsoft Technology Licensing, Llc Changing power mode based on sensors in a device
EP1191430A1 (en) * 2000-09-22 2002-03-27 Hewlett-Packard Company, A Delaware Corporation Graphical user interface for devices having small tactile displays
US6753853B1 (en) * 2000-09-29 2004-06-22 Rockwell Automation Technologies, Inc. Low power dissipation touch plane interface circuit
US6765558B1 (en) * 2000-09-29 2004-07-20 Rockwell Automation Technologies, Inc. Multiple touch plane compatible interface circuit and method
US6611257B1 (en) 2000-09-29 2003-08-26 Rockwell Automation Technologies, Inc. Automatic detection of touch plane type
US6980201B1 (en) 2000-09-29 2005-12-27 Rockwell Automation Technologies, Inc. Minimum move touch plane scanning method and device
DE10048881A1 (en) * 2000-09-29 2002-03-07 Infineon Technologies Ag Device for planar joining of two wafers e.g. for thin grinding and separation of product-wafer, has product wafer arranged surface-congruently over carrier wafer
US7058204B2 (en) 2000-10-03 2006-06-06 Gesturetek, Inc. Multiple camera control system
US6724220B1 (en) 2000-10-26 2004-04-20 Cyress Semiconductor Corporation Programmable microcontroller architecture (mixed analog/digital)
US8149048B1 (en) 2000-10-26 2012-04-03 Cypress Semiconductor Corporation Apparatus and method for programmable power management in a programmable analog circuit block
US7765095B1 (en) 2000-10-26 2010-07-27 Cypress Semiconductor Corporation Conditional branching in an in-circuit emulation system
US8160864B1 (en) 2000-10-26 2012-04-17 Cypress Semiconductor Corporation In-circuit emulator and pod synchronized boot
US8176296B2 (en) 2000-10-26 2012-05-08 Cypress Semiconductor Corporation Programmable microcontroller architecture
US8103496B1 (en) 2000-10-26 2012-01-24 Cypress Semicondutor Corporation Breakpoint control in an in-circuit emulation system
US6791536B2 (en) * 2000-11-10 2004-09-14 Microsoft Corporation Simulating gestures of a pointing device using a stylus and providing feedback thereto
US7002559B2 (en) * 2000-11-13 2006-02-21 Anoto Ab Method, system and product for information management
US6590568B1 (en) * 2000-11-20 2003-07-08 Nokia Corporation Touch screen drag and drop input technique
US6750801B2 (en) 2000-12-29 2004-06-15 Bellsouth Intellectual Property Corporation Remote control device with directional mode indicator
US20020084986A1 (en) * 2001-01-04 2002-07-04 Armstrong Brad A. Computer mouse with specialized button(s)
US8458754B2 (en) 2001-01-22 2013-06-04 Sony Computer Entertainment Inc. Method and system for providing instant start multimedia content
EP1364362A1 (en) * 2001-01-24 2003-11-26 Interlink Electronics, Inc. Game and home entertainment device remote control
US6677932B1 (en) 2001-01-28 2004-01-13 Finger Works, Inc. System and method for recognizing touch typing under limited tactile feedback conditions
US7030861B1 (en) 2001-02-10 2006-04-18 Wayne Carl Westerman System and method for packing multi-touch gestures onto a hand
US20080088587A1 (en) * 2001-02-22 2008-04-17 Timothy Pryor Compact rtd instrument panels and computer interfaces
US20080024463A1 (en) * 2001-02-22 2008-01-31 Timothy Pryor Reconfigurable tactile control display applications
US7184026B2 (en) * 2001-03-19 2007-02-27 Avago Technologies Ecbu Ip (Singapore) Pte. Ltd. Impedance sensing screen pointing device
JP4768143B2 (en) * 2001-03-26 2011-09-07 株式会社リコー Information input / output device, information input / output control method, and program
US7012595B2 (en) * 2001-03-30 2006-03-14 Koninklijke Philips Electronics N.V. Handheld electronic device with touch pad
US6879930B2 (en) * 2001-03-30 2005-04-12 Microsoft Corporation Capacitance touch slider
US6801191B2 (en) * 2001-04-27 2004-10-05 Matsushita Electric Industrial Co., Ltd. Input device and inputting method with input device
US6388183B1 (en) * 2001-05-07 2002-05-14 Leh Labs, L.L.C. Virtual musical instruments with user selectable and controllable mapping of position input to sound output
US20050024341A1 (en) * 2001-05-16 2005-02-03 Synaptics, Inc. Touch screen with user interface enhancement
US7730401B2 (en) * 2001-05-16 2010-06-01 Synaptics Incorporated Touch screen with user interface enhancement
EP1391807A4 (en) 2001-05-21 2008-01-02 Sony Corp User input apparatus, computer connected to user input apparatus, method of controlling computer connected to user input apparatus, and storage medium
US6924752B2 (en) * 2001-05-30 2005-08-02 Palmone, Inc. Three-dimensional contact-sensitive feature for electronic devices
US6919880B2 (en) * 2001-06-01 2005-07-19 Smart Technologies Inc. Calibrating camera offsets to facilitate object position determination using triangulation
US6926148B2 (en) * 2001-07-13 2005-08-09 Donaldson Company, Inc. Filter carrier tray
US7034814B2 (en) 2001-07-13 2006-04-25 Apple Computer, Inc. Methods and apparatuses using control indicators for data processing systems
US6690365B2 (en) * 2001-08-29 2004-02-10 Microsoft Corporation Automatic scrolling
JP3909230B2 (en) * 2001-09-04 2007-04-25 アルプス電気株式会社 Coordinate input device
US7254775B2 (en) * 2001-10-03 2007-08-07 3M Innovative Properties Company Touch panel system and method for distinguishing multiple touch inputs
US7345671B2 (en) 2001-10-22 2008-03-18 Apple Inc. Method and apparatus for use of rotational user inputs
US7312785B2 (en) 2001-10-22 2007-12-25 Apple Inc. Method and apparatus for accelerated scrolling
US8301108B2 (en) 2002-11-04 2012-10-30 Naboulsi Mouhamad A Safety control system for vehicles
US7406674B1 (en) 2001-10-24 2008-07-29 Cypress Semiconductor Corporation Method and apparatus for generating microcontroller configuration information
US6995752B2 (en) * 2001-11-08 2006-02-07 Koninklijke Philips Electronics N.V. Multi-point touch pad
US8078970B1 (en) 2001-11-09 2011-12-13 Cypress Semiconductor Corporation Graphical user interface with user-selectable list-box
US8042093B1 (en) 2001-11-15 2011-10-18 Cypress Semiconductor Corporation System providing automatic source code generation for personalization and parameterization of user modules
US7774190B1 (en) 2001-11-19 2010-08-10 Cypress Semiconductor Corporation Sleep and stall in an in-circuit emulation system
US8069405B1 (en) 2001-11-19 2011-11-29 Cypress Semiconductor Corporation User interface for efficiently browsing an electronic document using data-driven tabs
US7770113B1 (en) 2001-11-19 2010-08-03 Cypress Semiconductor Corporation System and method for dynamically generating a configuration datasheet
US6971004B1 (en) 2001-11-19 2005-11-29 Cypress Semiconductor Corp. System and method of dynamically reconfiguring a programmable integrated circuit
US7844437B1 (en) 2001-11-19 2010-11-30 Cypress Semiconductor Corporation System and method for performing next placements and pruning of disallowed placements for programming an integrated circuit
US7242393B2 (en) * 2001-11-20 2007-07-10 Touchsensor Technologies Llc Touch sensor with integrated decoration
US6977646B1 (en) * 2001-11-30 2005-12-20 3M Innovative Properties Co. Touch screen calibration system and method
US6690387B2 (en) * 2001-12-28 2004-02-10 Koninklijke Philips Electronics N.V. Touch-screen image scrolling system and method
US6703599B1 (en) * 2002-01-30 2004-03-09 Microsoft Corporation Proximity sensor with adaptive threshold
US6938222B2 (en) * 2002-02-08 2005-08-30 Microsoft Corporation Ink gestures
WO2003073159A1 (en) 2002-02-20 2003-09-04 Planar Systems, Inc. Light sensitive display
US7333092B2 (en) 2002-02-25 2008-02-19 Apple Computer, Inc. Touch pad for handheld device
AU2003248369A1 (en) * 2002-02-26 2003-09-09 Cirque Corporation Touchpad having fine and coarse input resolution
JP4061094B2 (en) * 2002-03-15 2008-03-12 インターナショナル・ビジネス・マシーンズ・コーポレーション Speech recognition apparatus, speech recognition method and program thereof
US7487444B2 (en) 2002-03-19 2009-02-03 Aol Llc Reformatting columns of content for display
US8103497B1 (en) 2002-03-28 2012-01-24 Cypress Semiconductor Corporation External interface for event architecture
TWI234115B (en) * 2002-04-03 2005-06-11 Htc Corp Method and device of setting threshold pressure for touch panel
US7038659B2 (en) * 2002-04-06 2006-05-02 Janusz Wiktor Rajkowski Symbol encoding apparatus and method
US7308608B1 (en) 2002-05-01 2007-12-11 Cypress Semiconductor Corporation Reconfigurable testing system and method
US20050035955A1 (en) * 2002-06-06 2005-02-17 Carter Dale J. Method of determining orientation and manner of holding a mobile telephone
US7952570B2 (en) 2002-06-08 2011-05-31 Power2B, Inc. Computer navigation
US7184009B2 (en) * 2002-06-21 2007-02-27 Nokia Corporation Display circuit with optical sensor
US20040001144A1 (en) * 2002-06-27 2004-01-01 Mccharles Randy Synchronization of camera images in camera-based touch system to enhance position determination of fast moving objects
US7656393B2 (en) 2005-03-04 2010-02-02 Apple Inc. Electronic device having display and surrounding touch sensitive bezel for user interface and control
US11275405B2 (en) * 2005-03-04 2022-03-15 Apple Inc. Multi-functional hand-held device
US7343566B1 (en) 2002-07-10 2008-03-11 Apple Inc. Method and apparatus for displaying a window for a user interface
US7821425B2 (en) * 2002-07-12 2010-10-26 Atmel Corporation Capacitive keyboard with non-locking reduced keying ambiguity
US6998545B2 (en) * 2002-07-19 2006-02-14 E.G.O. North America, Inc. Touch and proximity sensor control systems and methods with improved signal and noise differentiation
US7958455B2 (en) * 2002-08-01 2011-06-07 Apple Inc. Mode activated scrolling
EP1573706A3 (en) * 2002-08-02 2005-09-28 Cirque Corporation Single-layer touchpad having touch zones
US8125459B2 (en) 2007-10-01 2012-02-28 Igt Multi-user input systems and processing techniques for serving multiple users
EP3547599A1 (en) 2002-08-06 2019-10-02 Apple Inc. Methods for secure enrollment and backup of personal identity credentials into electronic devices
JP2004086735A (en) * 2002-08-28 2004-03-18 Toshiba Corp Electronic device and operating mode switching method
US7358963B2 (en) 2002-09-09 2008-04-15 Apple Inc. Mouse having an optically-based scrolling feature
US7761845B1 (en) 2002-09-09 2010-07-20 Cypress Semiconductor Corporation Method for parameterizing a user module
JP4383730B2 (en) * 2002-10-22 2009-12-16 アルプス電気株式会社 Electronic device having touch sensor
US6954197B2 (en) 2002-11-15 2005-10-11 Smart Technologies Inc. Size/scale and orientation determination of a pointer in a camera-based touch system
US7388571B2 (en) * 2002-11-21 2008-06-17 Research In Motion Limited System and method of integrating a touchscreen within an LCD
US6768958B2 (en) * 2002-11-26 2004-07-27 Lsi Logic Corporation Automatic calibration of a masking process simulator
JP2004185258A (en) * 2002-12-03 2004-07-02 Hitachi Ltd Information processor
US8830161B2 (en) 2002-12-08 2014-09-09 Immersion Corporation Methods and systems for providing a virtual touch haptic effect to handheld communication devices
GB2413416B8 (en) 2002-12-08 2006-09-07 Immersion Corp Haptic massaging in handheld communication devices
US8059088B2 (en) 2002-12-08 2011-11-15 Immersion Corporation Methods and systems for providing haptic messaging to handheld communication devices
US7689914B2 (en) 2002-12-12 2010-03-30 Apple Inc. Sticky functionality
US7991920B2 (en) * 2002-12-18 2011-08-02 Xerox Corporation System and method for controlling information output devices
US6970160B2 (en) * 2002-12-19 2005-11-29 3M Innovative Properties Company Lattice touch-sensing system
US7362313B2 (en) * 2003-01-17 2008-04-22 3M Innovative Properties Company Touch simulation system and method
US6972401B2 (en) * 2003-01-30 2005-12-06 Smart Technologies Inc. Illuminated bezel and touch system incorporating the same
US7685538B2 (en) * 2003-01-31 2010-03-23 Wacom Co., Ltd. Method of triggering functions in a computer application using a digitizer having a stylus and a digitizer system
US7078911B2 (en) * 2003-02-06 2006-07-18 Cehelnik Thomas G Patent application for a computer motional command interface
US8009045B2 (en) * 2005-06-06 2011-08-30 Cehelnik Thomas G Method for alerting physical approach
US8508508B2 (en) 2003-02-14 2013-08-13 Next Holdings Limited Touch screen signal processing with single-point calibration
US8456447B2 (en) 2003-02-14 2013-06-04 Next Holdings Limited Touch screen signal processing
US7629967B2 (en) 2003-02-14 2009-12-08 Next Holdings Limited Touch screen signal processing
US20080084374A1 (en) 2003-02-20 2008-04-10 Planar Systems, Inc. Light sensitive display
US7426329B2 (en) 2003-03-06 2008-09-16 Microsoft Corporation Systems and methods for receiving, storing, and rendering digital video, music, and pictures on a personal media player
US20040173978A1 (en) * 2003-03-06 2004-09-09 Christopher Bowen PTFE membranes and gaskets made therefrom
US7532206B2 (en) * 2003-03-11 2009-05-12 Smart Technologies Ulc System and method for differentiating between pointers used to contact touch surface
US6947032B2 (en) * 2003-03-11 2005-09-20 Smart Technologies Inc. Touch system and method for determining pointer contacts on a touch surface
TWI226583B (en) * 2003-03-14 2005-01-11 Higher Way Electronic Co Ltd Coordinates detection method and system for a touch panel
EP1462917A1 (en) * 2003-03-26 2004-09-29 High Tech Computer Corp. Touch panel threshold pressure setup method and apparatus
US20040239624A1 (en) * 2003-04-02 2004-12-02 Artoun Ramian Freehand symbolic input apparatus and method
JP2004311196A (en) * 2003-04-07 2004-11-04 Alps Electric Co Ltd Input device
US7256772B2 (en) * 2003-04-08 2007-08-14 Smart Technologies, Inc. Auto-aligning touch system and method
US7187185B2 (en) * 2004-09-29 2007-03-06 Loadstar Sensors Inc Area-change sensing through capacitive techniques
US7451659B2 (en) * 2004-09-29 2008-11-18 Loadstar Sensors, Inc. Gap-change sensing through capacitive techniques
US7353713B2 (en) * 2003-04-09 2008-04-08 Loadstar Sensors, Inc. Flexible apparatus and method to enhance capacitive force sensing
CA2724292C (en) 2003-05-30 2014-09-30 Privaris, Inc. An in-circuit security system and methods for controlling access to and use of sensitive data
WO2004112448A2 (en) * 2003-06-13 2004-12-23 Semtech Corporation Sensor for capacitive touch pad pointing device
US7474772B2 (en) 2003-06-25 2009-01-06 Atrua Technologies, Inc. System and method for a miniature user input device
WO2005043451A2 (en) * 2003-08-05 2005-05-12 Pedersen Steinar System for identification of a person
US20070152977A1 (en) 2005-12-30 2007-07-05 Apple Computer, Inc. Illuminated touchpad
US7499040B2 (en) 2003-08-18 2009-03-03 Apple Inc. Movable touch pad with added functionality
US7587072B2 (en) 2003-08-22 2009-09-08 Authentec, Inc. System for and method of generating rotational inputs
JP4295280B2 (en) * 2003-08-29 2009-07-15 ノキア コーポレイション Method and apparatus for recognizing two-point user input with a touch-based user input device
US9024884B2 (en) * 2003-09-02 2015-05-05 Apple Inc. Touch-sensitive electronic apparatus for media applications, and methods therefor
US20050052426A1 (en) * 2003-09-08 2005-03-10 Hagermoser E. Scott Vehicle touch input device and methods of making same
US7411575B2 (en) * 2003-09-16 2008-08-12 Smart Technologies Ulc Gesture recognition method and touch system incorporating the same
US7088861B2 (en) * 2003-09-16 2006-08-08 America Online, Inc. System and method for chinese input using a joystick
US7109977B2 (en) * 2003-10-05 2006-09-19 T2D, Inc. Slipcover touch input apparatus for displays of computing devices
US7274356B2 (en) 2003-10-09 2007-09-25 Smart Technologies Inc. Apparatus for determining the location of a pointer within a region of interest
JP4269883B2 (en) * 2003-10-20 2009-05-27 ソニー株式会社 Microphone device, playback device, and imaging device
JP4528514B2 (en) * 2003-10-22 2010-08-18 クラリオン株式会社 Electronic device and control method thereof
TWI237200B (en) * 2003-10-24 2005-08-01 High Tech Comp Corp Coordinate positioning equipment for thin film positioning equipment and its method
NZ529518A (en) * 2003-11-13 2005-03-24 Andy Zheng Song Input method, system and device
US7495659B2 (en) 2003-11-25 2009-02-24 Apple Inc. Touch pad for handheld device
US8059099B2 (en) 2006-06-02 2011-11-15 Apple Inc. Techniques for interactive input to portable electronic devices
US8164573B2 (en) 2003-11-26 2012-04-24 Immersion Corporation Systems and methods for adaptive interpretation of input from a touch-sensitive input device
CN1308796C (en) * 2003-12-04 2007-04-04 陞达科技股份有限公司 Method of identifying double-clap gesture and controller
US7355593B2 (en) 2004-01-02 2008-04-08 Smart Technologies, Inc. Pointer tracking across multiple overlapping coordinate input sub-regions defining a generally contiguous input region
CN100416482C (en) * 2004-01-07 2008-09-03 仁宝电脑工业股份有限公司 Signal treating method for resistance touch controlled panel
US7707039B2 (en) 2004-02-15 2010-04-27 Exbiblio B.V. Automatic modification of web pages
US8442331B2 (en) 2004-02-15 2013-05-14 Google Inc. Capturing text from rendered documents using supplemental information
US20050162402A1 (en) * 2004-01-27 2005-07-28 Watanachote Susornpol J. Methods of interacting with a computer using a finger(s) touch sensing input device with visual feedback
US7697729B2 (en) * 2004-01-29 2010-04-13 Authentec, Inc. System for and method of finger initiated actions
US7190356B2 (en) * 2004-02-12 2007-03-13 Sentelic Corporation Method and controller for identifying double tap gestures
US20050179657A1 (en) * 2004-02-12 2005-08-18 Atrua Technologies, Inc. System and method of emulating mouse operations using finger image sensors
US7620915B2 (en) 2004-02-13 2009-11-17 Ludwig Lester F Electronic document editing employing multiple cursors
US7812860B2 (en) 2004-04-01 2010-10-12 Exbiblio B.V. Handheld device for capturing text from both a document printed on paper and a document displayed on a dynamic display device
US10635723B2 (en) 2004-02-15 2020-04-28 Google Llc Search engines and systems with handheld document data capture devices
US7232986B2 (en) * 2004-02-17 2007-06-19 Smart Technologies Inc. Apparatus for detecting a pointer within a region of interest
TWI240208B (en) * 2004-02-17 2005-09-21 Elan Microelectronics Corp Capacitance touch panel with simplified scanning lines and the detection method thereof
US7196696B2 (en) * 2004-03-19 2007-03-27 Tsung-Ying Li Position touch screen panel and method of arranging a resistive sensing circuit thereof
US7295049B1 (en) 2004-03-25 2007-11-13 Cypress Semiconductor Corporation Method and circuit for rapid alignment of signals
CN100346275C (en) * 2004-03-25 2007-10-31 升达科技股份有限公司 Towing touching method and control module thereof
US9143638B2 (en) 2004-04-01 2015-09-22 Google Inc. Data capture from rendered documents using handheld device
US9008447B2 (en) 2004-04-01 2015-04-14 Google Inc. Method and system for character recognition
GB2424269A (en) 2004-04-01 2006-09-20 Robert Michael Lipman Control apparatus
US20060098900A1 (en) 2004-09-27 2006-05-11 King Martin T Secure data gathering from rendered documents
US8146156B2 (en) 2004-04-01 2012-03-27 Google Inc. Archive of text captures from rendered documents
US7990556B2 (en) 2004-12-03 2011-08-02 Google Inc. Association of a portable scanner with input/output and storage devices
US20080313172A1 (en) * 2004-12-03 2008-12-18 King Martin T Determining actions involving captured information and electronic content associated with rendered documents
US20070300142A1 (en) * 2005-04-01 2007-12-27 King Martin T Contextual dynamic advertising based upon captured rendered text
US20060081714A1 (en) 2004-08-23 2006-04-20 King Martin T Portable scanning device
US8081849B2 (en) 2004-12-03 2011-12-20 Google Inc. Portable scanning and memory device
US7894670B2 (en) 2004-04-01 2011-02-22 Exbiblio B.V. Triggering actions in response to optically or acoustically capturing keywords from a rendered document
US9116890B2 (en) 2004-04-01 2015-08-25 Google Inc. Triggering actions in response to optically or acoustically capturing keywords from a rendered document
US8713418B2 (en) 2004-04-12 2014-04-29 Google Inc. Adding value to a rendered document
US8874504B2 (en) 2004-12-03 2014-10-28 Google Inc. Processing techniques for visual capture data from a rendered document
US8489624B2 (en) 2004-05-17 2013-07-16 Google, Inc. Processing techniques for text capture from a rendered document
US8620083B2 (en) 2004-12-03 2013-12-31 Google Inc. Method and system for character recognition
EP1745456A2 (en) * 2004-04-23 2007-01-24 Cirque Corporation An improved method for scrolling and edge motion on a touchpad
US7460110B2 (en) 2004-04-29 2008-12-02 Smart Technologies Ulc Dual mode touch system
US7492357B2 (en) 2004-05-05 2009-02-17 Smart Technologies Ulc Apparatus and method for detecting a pointer relative to a touch surface
US7538759B2 (en) * 2004-05-07 2009-05-26 Next Holdings Limited Touch panel display system with illumination and detection provided from a single edge
US8120596B2 (en) 2004-05-21 2012-02-21 Smart Technologies Ulc Tiled touch system
US7382139B2 (en) * 2004-06-03 2008-06-03 Synaptics Incorporated One layer capacitive sensing apparatus having varying width sensing elements
JP2005346583A (en) 2004-06-04 2005-12-15 Canon Inc Image display apparatus, multi-display system, coordinate information output method, and control program thereof
US7492358B2 (en) * 2004-06-15 2009-02-17 International Business Machines Corporation Resistive scanning grid touch panel
WO2006001070A1 (en) * 2004-06-25 2006-01-05 Matsushita Electric Industrial Co., Ltd. Command input device using touch panel display
WO2006003588A2 (en) * 2004-06-29 2006-01-12 Koninklijke Philips Electronics N.V. Multi-layered display of a graphical user interface
US20060001646A1 (en) * 2004-07-02 2006-01-05 Wei Hai Finger worn and operated input device
TWI248576B (en) * 2004-07-05 2006-02-01 Elan Microelectronics Corp Method for controlling rolling of scroll bar on a touch panel
US7184031B2 (en) * 2004-07-06 2007-02-27 Sentelic Corporation Method and controller for identifying a drag gesture
US20060007174A1 (en) * 2004-07-06 2006-01-12 Chung-Yi Shen Touch control method for a drag gesture and control module thereof
US20060007176A1 (en) * 2004-07-06 2006-01-12 Chung-Yi Shen Input method and control module defined with an initial position and moving directions and electronic product thereof
US20060007175A1 (en) * 2004-07-06 2006-01-12 Chung-Yi Shen Touch control method of single tap and control module thereof
US8346620B2 (en) 2004-07-19 2013-01-01 Google Inc. Automatic modification of web pages
US20060017702A1 (en) * 2004-07-23 2006-01-26 Chung-Yi Shen Touch control type character input method and control module thereof
JP3734819B1 (en) * 2004-07-26 2006-01-11 任天堂株式会社 GAME PROGRAM, GAME DEVICE, AND INPUT DEVICE
JP4471761B2 (en) * 2004-07-26 2010-06-02 任天堂株式会社 GAME PROGRAM, GAME DEVICE, AND INPUT DEVICE
US20080129707A1 (en) * 2004-07-27 2008-06-05 Pryor Timothy R Method and apparatus employing multi-functional controls and displays
US7653883B2 (en) 2004-07-30 2010-01-26 Apple Inc. Proximity detector in handheld device
KR20060012200A (en) * 2004-08-02 2006-02-07 삼성전자주식회사 Display device and driving method thereof
US20070046643A1 (en) * 2004-08-06 2007-03-01 Hillis W Daniel State-Based Approach to Gesture Identification
US7719523B2 (en) * 2004-08-06 2010-05-18 Touchtable, Inc. Bounding box gesture recognition on a touch detecting interactive display
US7724242B2 (en) * 2004-08-06 2010-05-25 Touchtable, Inc. Touch driven method and apparatus to integrate and display multiple image layers forming alternate depictions of same subject matter
US7728821B2 (en) 2004-08-06 2010-06-01 Touchtable, Inc. Touch detecting interactive display
US8286125B2 (en) 2004-08-13 2012-10-09 Cypress Semiconductor Corporation Model for a hardware device-independent method of defining embedded firmware for programmable systems
US8069436B2 (en) 2004-08-13 2011-11-29 Cypress Semiconductor Corporation Providing hardware independence to automate code generation of processing device firmware
CN100555200C (en) 2004-08-16 2009-10-28 苹果公司 The method of the spatial resolution of touch sensitive devices and raising touch sensitive devices
US7737953B2 (en) * 2004-08-19 2010-06-15 Synaptics Incorporated Capacitive sensing apparatus having varying depth sensing elements
US7561146B1 (en) 2004-08-25 2009-07-14 Apple Inc. Method and apparatus to reject accidental contact on a touchpad
US7714846B1 (en) * 2004-08-26 2010-05-11 Wacom Co., Ltd. Digital signal processed touchscreen system
JP2006064551A (en) * 2004-08-27 2006-03-09 Oht Inc Inspection apparatus, inspection method and sensor for inspection apparatus
US20100231506A1 (en) * 2004-09-07 2010-09-16 Timothy Pryor Control of appliances, kitchen and home
TWI255417B (en) * 2004-09-09 2006-05-21 Mitac Technology Corp Integrated device comprising the touch screen input device of a laptop and a portable media player and a control method of the integrated device
US7761814B2 (en) * 2004-09-13 2010-07-20 Microsoft Corporation Flick gesture
US7728823B2 (en) * 2004-09-24 2010-06-01 Apple Inc. System and method for processing raw data of track pad device
US7719522B2 (en) * 2004-09-24 2010-05-18 Apple Inc. Raw data track pad device and system
US20060066590A1 (en) * 2004-09-29 2006-03-30 Masanori Ozawa Input device
JP4789232B2 (en) * 2004-10-05 2011-10-12 ソニー株式会社 Information processing apparatus and input operation mode control method
US8232969B2 (en) 2004-10-08 2012-07-31 Immersion Corporation Haptic feedback for button and scrolling action simulation in touch input devices
EP1800287A4 (en) * 2004-10-12 2009-05-20 Genoa Color Technologies Ltd Method, device and system of response time compensation
KR100636184B1 (en) * 2004-10-13 2006-10-19 삼성전자주식회사 Location control method and apparatus therefor of display window displayed in display screen of information processing device
US8026897B2 (en) * 2004-11-22 2011-09-27 Avago Technologies Ecbu Ip (Singapore) Pte. Ltd. Cursor motion control of a pointing device
KR100602353B1 (en) * 2004-11-23 2006-07-18 삼성에스디아이 주식회사 Current range control circuit, data driver and light emitting display
TWI288345B (en) * 2004-11-29 2007-10-11 Holtek Semiconductor Inc Determination method of touch sensing device
GB0426807D0 (en) * 2004-12-07 2005-01-12 Conroy Patrick Flow control apparatus and method
US7031886B1 (en) * 2004-12-14 2006-04-18 Synaptics Incorporated Methods and systems for detecting noise in a position sensor using minor shifts in sensing frequency
US7536565B2 (en) 2005-01-07 2009-05-19 Apple Inc. Techniques for improved playlist processing on media devices
DE202005001032U1 (en) * 2005-01-22 2005-05-12 Wessling, Herbert Gaming or gambling machine, has an operating unit in the form of a dielectric operating plate that has operating fields and matching capacitive sensors on its reverse side
US7332976B1 (en) 2005-02-04 2008-02-19 Cypress Semiconductor Corporation Poly-phase frequency synthesis oscillator
JP2008533559A (en) * 2005-02-09 2008-08-21 サーク・コーポレーション Touchpad integrated into keyboard keycaps to improve user interaction
US7831070B1 (en) 2005-02-18 2010-11-09 Authentec, Inc. Dynamic finger detection mechanism for a fingerprint sensor
US9760214B2 (en) * 2005-02-23 2017-09-12 Zienon, Llc Method and apparatus for data entry input
US8837528B2 (en) * 2005-02-25 2014-09-16 Sony Computer Entertainment America Llc Data distribution by proxy
CN100374998C (en) * 2005-03-01 2008-03-12 联想(北京)有限公司 Touch control type information input device and method
TWI274529B (en) * 2005-03-11 2007-02-21 Elan Microelectronics Corp Touch board with single-layer PCB structure
JP4166229B2 (en) * 2005-03-14 2008-10-15 株式会社日立製作所 Display device with touch panel
US20060227114A1 (en) * 2005-03-30 2006-10-12 Geaghan Bernard O Touch location determination with error correction for sensor movement
US7504833B1 (en) 2005-04-01 2009-03-17 Cypress Semiconductor Corporation Automatically balanced sensing device and method for multiple capacitive sensors
US8231056B2 (en) * 2005-04-08 2012-07-31 Authentec, Inc. System for and method of protecting an integrated circuit from over currents
US9727082B2 (en) * 2005-04-26 2017-08-08 Apple Inc. Back-side interface for hand-held devices
US7400183B1 (en) 2005-05-05 2008-07-15 Cypress Semiconductor Corporation Voltage controlled oscillator delay cell and method
US7825903B2 (en) * 2005-05-12 2010-11-02 Immersion Corporation Method and apparatus for providing haptic effects to a touch panel
US8610675B2 (en) 2007-03-14 2013-12-17 Power2B, Inc. Interactive devices
US10452207B2 (en) 2005-05-18 2019-10-22 Power2B, Inc. Displays and information input devices
JP2006323664A (en) * 2005-05-19 2006-11-30 Sony Corp Electronic equipment
US9785329B2 (en) * 2005-05-23 2017-10-10 Nokia Technologies Oy Pocket computer and associated methods
US20070024646A1 (en) * 2005-05-23 2007-02-01 Kalle Saarinen Portable electronic apparatus and associated method
US7567240B2 (en) 2005-05-31 2009-07-28 3M Innovative Properties Company Detection of and compensation for stray capacitance in capacitive touch sensors
KR100811160B1 (en) * 2005-06-02 2008-03-07 삼성전자주식회사 Electronic device for inputting command 3-dimensionally
US7710397B2 (en) * 2005-06-03 2010-05-04 Apple Inc. Mouse with improved input mechanisms using touch sensors
JP5395429B2 (en) 2005-06-03 2014-01-22 シナプティクス インコーポレイテッド Method and system for detecting capacitance using sigma delta measurement
EP1894025A1 (en) 2005-06-03 2008-03-05 Synaptics Incorporated Methods and systems for detecting a capacitance using sigma-delta measurement techniques
TWI269997B (en) * 2005-06-08 2007-01-01 Elan Microelectronics Corp Multi-object detection method of capacitive touch pad
TWI269214B (en) * 2005-06-08 2006-12-21 Elan Microelectronics Corp Object-detecting method of capacitive touch panel
US7337085B2 (en) * 2005-06-10 2008-02-26 Qsi Corporation Sensor baseline compensation in a force-based touch device
US20060284856A1 (en) * 2005-06-10 2006-12-21 Soss David A Sensor signal conditioning in a force-based touch device
US20080170043A1 (en) * 2005-06-10 2008-07-17 Soss David A Force-based input device
US7903090B2 (en) * 2005-06-10 2011-03-08 Qsi Corporation Force-based input device
KR100683249B1 (en) * 2005-06-16 2007-02-15 주식회사 애트랩 Touch Sensor and Signal Generation Method thereof
US9298311B2 (en) 2005-06-23 2016-03-29 Apple Inc. Trackpad sensitivity compensation
US8089461B2 (en) 2005-06-23 2012-01-03 Cypress Semiconductor Corporation Touch wake for electronic devices
TW200703079A (en) * 2005-07-08 2007-01-16 Elan Microelectronics Corp Hand gestures detection method for touch panel
US7505613B2 (en) * 2005-07-12 2009-03-17 Atrua Technologies, Inc. System for and method of securing fingerprint biometric systems against fake-finger spoofing
TWI269998B (en) * 2005-07-12 2007-01-01 Elan Microelectronics Corp Method for detecting hand gesture on touch pad
TW200703081A (en) * 2005-07-12 2007-01-16 Elan Microelectronics Corp Method for detecting hand gestures on touch panel
CA2614740A1 (en) * 2005-07-12 2007-01-18 Cirque Corporation Rectangular sensor grid for touchpad sensor and scrolling region
CN100339805C (en) * 2005-07-15 2007-09-26 中国海洋大学 Interactive input device for computer
US8050876B2 (en) * 2005-07-18 2011-11-01 Analog Devices, Inc. Automatic environmental compensation of capacitance based proximity sensors
CN100388175C (en) * 2005-07-21 2008-05-14 义隆电子股份有限公司 Gesture detecting method for touch control panel
CN100454223C (en) * 2005-07-21 2009-01-21 义隆电子股份有限公司 Gesture detecting method for touch control panel
US20070034423A1 (en) * 2005-08-12 2007-02-15 Rebeschi Thomas J Touch screen having reduced susceptibility to radio frequency interference
US7294089B2 (en) * 2005-08-15 2007-11-13 Ford Global Technologies, Llc Multiple-speed automatic transmission
US20070063876A1 (en) * 2005-08-24 2007-03-22 Wong Alex K Multiple sensing element touch sensor
US20070061126A1 (en) * 2005-09-01 2007-03-15 Anthony Russo System for and method of emulating electronic input devices
EP1938306B1 (en) 2005-09-08 2013-07-31 Power2B, Inc. Displays and information input devices
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US7427866B2 (en) * 2005-09-12 2008-09-23 Analog Devices, Inc. Calibration method and system that generates an error signal for adjusting the time constant of circuit to be calibrated
US7375535B1 (en) 2005-09-19 2008-05-20 Cypress Semiconductor Corporation Scan method and topology for capacitive sensing
CN100410858C (en) * 2005-09-23 2008-08-13 联想(北京)有限公司 Screan cursor movement control method and cursor movement controller
KR100664963B1 (en) * 2005-09-29 2007-01-04 삼성전자주식회사 Input device of sliding mode, portable device comprising the same and input method the same
US7633076B2 (en) 2005-09-30 2009-12-15 Apple Inc. Automated response to and sensing of user activity in portable devices
TWI284827B (en) * 2005-10-04 2007-08-01 Elan Microelectronics Corp Multi-functional touch panel and control method thereof
US9389702B2 (en) * 2005-10-06 2016-07-12 Hewlett-Packard Development Company, L.P. Input association
US7966577B2 (en) 2005-10-11 2011-06-21 Apple Inc. Multimedia control center
US7880729B2 (en) 2005-10-11 2011-02-01 Apple Inc. Center button isolation ring
TW200717293A (en) * 2005-10-25 2007-05-01 Elan Microelectronics Corp Method to detect an object on a touch pad
JP2007122475A (en) * 2005-10-28 2007-05-17 Hitachi Ltd Coordinate instruction input device
US7940249B2 (en) * 2005-11-01 2011-05-10 Authentec, Inc. Devices using a metal layer with an array of vias to reduce degradation
CN100416481C (en) * 2005-11-11 2008-09-03 义隆电子股份有限公司 Method for checking object of touch control panel
US7307485B1 (en) 2005-11-14 2007-12-11 Cypress Semiconductor Corporation Capacitance sensor using relaxation oscillators
US7868874B2 (en) 2005-11-15 2011-01-11 Synaptics Incorporated Methods and systems for detecting a position-based attribute of an object using digital codes
US7656168B2 (en) * 2005-11-28 2010-02-02 Avago Technologies General Ip (Singapore) Pte. Ltd. Neutralizing electromagnetic noise for a capacitive input device
US9182837B2 (en) * 2005-11-28 2015-11-10 Synaptics Incorporated Methods and systems for implementing modal changes in a device in response to proximity and force indications
JP2007148927A (en) * 2005-11-29 2007-06-14 Alps Electric Co Ltd Input device and scrolling control method using the same
TWI291116B (en) * 2005-12-05 2007-12-11 Elan Microelectronics Corp Method for gesture detection on a touch control bar with button and scroll bar functions
US7958456B2 (en) 2005-12-23 2011-06-07 Apple Inc. Scrolling list with floating adjacent index symbols
TW200723077A (en) * 2005-12-14 2007-06-16 Elan Microelectronics Corp Movement detection method for multiple objects on a capacitive touchpad
JP2007164470A (en) * 2005-12-14 2007-06-28 Alps Electric Co Ltd Input device and electronic appliance using the input device
US8085067B1 (en) 2005-12-21 2011-12-27 Cypress Semiconductor Corporation Differential-to-single ended signal converter circuit and method
US7683891B2 (en) * 2005-12-22 2010-03-23 Synaptics Incorporated Equalizing reference surface capacitance with uneven thickness
US8077147B2 (en) * 2005-12-30 2011-12-13 Apple Inc. Mouse with optical sensing surface
US20070152983A1 (en) 2005-12-30 2007-07-05 Apple Computer, Inc. Touch pad with symbols based on mode
US20070162857A1 (en) * 2006-01-06 2007-07-12 Ralf Weber Automated multimedia authoring
KR101287497B1 (en) * 2006-01-06 2013-07-18 삼성전자주식회사 Apparatus and method for transmitting control command in home network system
US7312616B2 (en) 2006-01-20 2007-12-25 Cypress Semiconductor Corporation Successive approximate capacitance measurement circuit
US20070176903A1 (en) * 2006-01-31 2007-08-02 Dahlin Jeffrey J Capacitive touch sensor button activation
US8139028B2 (en) * 2006-02-01 2012-03-20 Synaptics Incorporated Proximity sensor and method for indicating extended interface results
US20070200823A1 (en) * 2006-02-09 2007-08-30 Bytheway Jared G Cursor velocity being made proportional to displacement in a capacitance-sensitive input device
US7684953B2 (en) * 2006-02-10 2010-03-23 Authentec, Inc. Systems using variable resistance zones and stops for generating inputs to an electronic device
US7903087B2 (en) * 2006-02-13 2011-03-08 Research In Motion Limited Method for facilitating navigation and selection functionalities of a trackball incorporated upon a wireless handheld communication device
US7656392B2 (en) * 2006-03-24 2010-02-02 Synaptics Incorporated Touch sensor effective area enhancement
US8067948B2 (en) * 2006-03-27 2011-11-29 Cypress Semiconductor Corporation Input/output multiplexer bus
US7591165B2 (en) * 2006-03-29 2009-09-22 Tekscan Incorporated Control circuit for sensor array and related methods
US7511702B2 (en) * 2006-03-30 2009-03-31 Apple Inc. Force and location sensitive display
KR100767686B1 (en) * 2006-03-30 2007-10-17 엘지전자 주식회사 Terminal device having touch wheel and method for inputting instructions therefor
US7538760B2 (en) * 2006-03-30 2009-05-26 Apple Inc. Force imaging input device and system
US8144125B2 (en) 2006-03-30 2012-03-27 Cypress Semiconductor Corporation Apparatus and method for reducing average scan rate to detect a conductive object on a sensing device
US8111243B2 (en) 2006-03-30 2012-02-07 Cypress Semiconductor Corporation Apparatus and method for recognizing a tap gesture on a touch sensing device
US7721609B2 (en) 2006-03-31 2010-05-25 Cypress Semiconductor Corporation Method and apparatus for sensing the force with which a button is pressed
US8040142B1 (en) 2006-03-31 2011-10-18 Cypress Semiconductor Corporation Touch detection techniques for capacitive touch sense systems
US9395905B2 (en) * 2006-04-05 2016-07-19 Synaptics Incorporated Graphical scroll wheel
US8077153B2 (en) 2006-04-19 2011-12-13 Microsoft Corporation Precise selection techniques for multi-touch screens
US7978181B2 (en) * 2006-04-25 2011-07-12 Apple Inc. Keystroke tactility arrangement on a smooth touch surface
US8279180B2 (en) 2006-05-02 2012-10-02 Apple Inc. Multipoint touch surface controller
US8803813B2 (en) * 2006-05-10 2014-08-12 Cypress Semiconductor Corporation Sensing device
KR101254695B1 (en) * 2006-05-10 2013-04-23 삼성디스플레이 주식회사 Liquid crystal display panel with a built-in touch screen and liquid crystal display having the same
US20070262963A1 (en) * 2006-05-11 2007-11-15 Cypress Semiconductor Corporation Apparatus and method for recognizing a button operation on a sensing device
KR100866484B1 (en) * 2006-05-17 2008-11-03 삼성전자주식회사 Apparatus and method for sensing movement of fingers using multi-touch sensor arrays
US8121283B2 (en) * 2006-05-18 2012-02-21 Cypress Semiconductor Corporation Tapered capacitive sensing structure
US7876309B2 (en) 2006-05-18 2011-01-25 Cypress Semiconductor Corporation Toothed slider
US8004497B2 (en) 2006-05-18 2011-08-23 Cypress Semiconductor Corporation Two-pin buttons
US8059015B2 (en) * 2006-05-25 2011-11-15 Cypress Semiconductor Corporation Capacitance sensing matrix for keyboard architecture
US8537121B2 (en) * 2006-05-26 2013-09-17 Cypress Semiconductor Corporation Multi-function slider in touchpad
US8089472B2 (en) 2006-05-26 2012-01-03 Cypress Semiconductor Corporation Bidirectional slider with delete function
CN104965621B (en) 2006-06-09 2018-06-12 苹果公司 Touch screen LCD and its operating method
US20070283832A1 (en) * 2006-06-09 2007-12-13 Apple Computer, Inc. Imprint circuit patterning
US8552989B2 (en) 2006-06-09 2013-10-08 Apple Inc. Integrated display and touch screen
JP5122560B2 (en) * 2006-06-13 2013-01-16 エヌ−トリグ リミテッド Fingertip touch recognition for digitizers
US8059102B2 (en) * 2006-06-13 2011-11-15 N-Trig Ltd. Fingertip touch recognition for a digitizer
US8169421B2 (en) * 2006-06-19 2012-05-01 Cypress Semiconductor Corporation Apparatus and method for detecting a touch-sensor pad gesture
KR20090057360A (en) * 2006-06-20 2009-06-05 큐알쥐 리미티드 Capacitive position sensor
US20070291016A1 (en) * 2006-06-20 2007-12-20 Harald Philipp Capacitive Position Sensor
US20070296712A1 (en) * 2006-06-27 2007-12-27 Cypress Semiconductor Corporation Multifunction slider
US8068097B2 (en) * 2006-06-27 2011-11-29 Cypress Semiconductor Corporation Apparatus for detecting conductive material of a pad layer of a sensing device
US8015547B2 (en) * 2006-06-29 2011-09-06 Augusta Systems, Inc. Reconfigurable, hierarchical component-based architecture and framework and methods for rapidly developing sensor device-enabling software applications
US20080001926A1 (en) * 2006-06-29 2008-01-03 Xiaoping Jiang Bidirectional slider
US20080005721A1 (en) * 2006-06-29 2008-01-03 Augusta Systems, Inc. Method and System for Rapidly Developing Sensor-Enabled Software Applications
US7735060B2 (en) * 2006-06-29 2010-06-08 Augusta Systems, Inc. Method and system for rapidly developing and deploying sensor-enabled software applications
US8095923B2 (en) * 2006-06-29 2012-01-10 Augusta Systems, Inc. System and method for deploying and managing intelligent nodes in a distributed network
US8717302B1 (en) 2006-06-30 2014-05-06 Cypress Semiconductor Corporation Apparatus and method for recognizing a gesture on a sensing device
US20080001925A1 (en) * 2006-06-30 2008-01-03 Cypress Semiconductor Corporation Navigation panel
US8743060B2 (en) 2006-07-06 2014-06-03 Apple Inc. Mutual capacitance touch sensing device
US9360967B2 (en) * 2006-07-06 2016-06-07 Apple Inc. Mutual capacitance touch sensing device
US8022935B2 (en) 2006-07-06 2011-09-20 Apple Inc. Capacitance sensing electrode with integrated I/O mechanism
US8040321B2 (en) 2006-07-10 2011-10-18 Cypress Semiconductor Corporation Touch-sensor with shared capacitive sensors
US20080012832A1 (en) * 2006-07-13 2008-01-17 Guanghai Li Multi-function touchpad
US7253643B1 (en) 2006-07-19 2007-08-07 Cypress Semiconductor Corporation Uninterrupted radial capacitive sense interface
US9507465B2 (en) 2006-07-25 2016-11-29 Cypress Semiconductor Corporation Technique for increasing the sensitivity of capacitive sensor arrays
EP2049978A2 (en) * 2006-07-31 2009-04-22 QSI Corporation Force-based input device having an elevated contacting surface
US8065601B2 (en) 2006-08-03 2011-11-22 Apple Inc. System and method for tagging data
EP2069889A2 (en) * 2006-08-03 2009-06-17 France Telecom Image capture and haptic input device
US20080036473A1 (en) * 2006-08-09 2008-02-14 Jansson Hakan K Dual-slope charging relaxation oscillator for measuring capacitance
JP4794392B2 (en) * 2006-08-21 2011-10-19 富士通コンポーネント株式会社 Touch panel with curved surface and method for manufacturing the same
KR100866485B1 (en) * 2006-08-22 2008-11-03 삼성전자주식회사 Apparatus and method for sensing movement of multi-touch points and mobile device using the same
US9766738B1 (en) 2006-08-23 2017-09-19 Cypress Semiconductor Corporation Position and usage based prioritization for capacitance sense interface
KR20080021906A (en) * 2006-09-05 2008-03-10 삼성전자주식회사 Apparatus and method for analog operation in portable terminal
US8564544B2 (en) 2006-09-06 2013-10-22 Apple Inc. Touch screen device, method, and graphical user interface for customizing display of content category icons
CN101356493A (en) * 2006-09-06 2009-01-28 苹果公司 Portable electronic device for photo management
US8471822B2 (en) 2006-09-06 2013-06-25 Apple Inc. Dual-sided track pad
EP2067119A2 (en) 2006-09-08 2009-06-10 Exbiblio B.V. Optical scanners, such as hand-held optical scanners
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US7795553B2 (en) 2006-09-11 2010-09-14 Apple Inc. Hybrid button
US7930650B2 (en) 2006-09-11 2011-04-19 Apple Inc. User interface with menu abstractions and content abstractions
US20080074398A1 (en) * 2006-09-26 2008-03-27 David Gordon Wright Single-layer capacitive sensing device
US8902173B2 (en) * 2006-09-29 2014-12-02 Cypress Semiconductor Corporation Pointing device using capacitance sensor
US7965281B2 (en) * 2006-10-03 2011-06-21 Synaptics, Inc. Unambiguous capacitance sensing using shared inputs
GB2443010B (en) * 2006-10-10 2009-09-02 Promethean Technologies Group Interactive display system
US8274479B2 (en) 2006-10-11 2012-09-25 Apple Inc. Gimballed scroll wheel
US20080088594A1 (en) * 2006-10-12 2008-04-17 Hua Liu Two-substrate layer touchpad capacitive sensing device
US20080088595A1 (en) * 2006-10-12 2008-04-17 Hua Liu Interconnected two-substrate layer touchpad capacitive sensing device
US8284165B2 (en) 2006-10-13 2012-10-09 Sony Corporation Information display apparatus with proximity detection performance and information display method using the same
US8570278B2 (en) 2006-10-26 2013-10-29 Apple Inc. Portable multifunction device, method, and graphical user interface for adjusting an insertion point marker
US7856605B2 (en) * 2006-10-26 2010-12-21 Apple Inc. Method, system, and graphical user interface for positioning an insertion marker in a touch screen display
US7942570B2 (en) * 2006-10-31 2011-05-17 Hamilton Beach Brands, Inc. Blender for blending foodstuff
US20080106523A1 (en) * 2006-11-07 2008-05-08 Conrad Richard H Ergonomic lift-clicking method and apparatus for actuating home switches on computer input devices
US9201556B2 (en) * 2006-11-08 2015-12-01 3M Innovative Properties Company Touch location sensing system and method employing sensor data fitting to a predefined curve
US20080110739A1 (en) * 2006-11-13 2008-05-15 Cypress Semiconductor Corporation Touch-sensor device having electronic component situated at least partially within sensor element perimeter
US8482530B2 (en) 2006-11-13 2013-07-09 Apple Inc. Method of capacitively sensing finger position
US8547114B2 (en) 2006-11-14 2013-10-01 Cypress Semiconductor Corporation Capacitance to code converter with sigma-delta modulator
JP4909996B2 (en) * 2006-11-15 2012-04-04 アルプス電気株式会社 Operation direction detector
US8089288B1 (en) 2006-11-16 2012-01-03 Cypress Semiconductor Corporation Charge accumulation capacitance sensor with linear transfer characteristic
US8125441B2 (en) * 2006-11-20 2012-02-28 Cypress Semiconductor Corporation Discriminating among activation of multiple buttons
CN101191915B (en) * 2006-11-24 2010-05-19 群康科技(深圳)有限公司 Liquid crystal display panel
WO2008070054A2 (en) 2006-12-04 2008-06-12 Deka Product Limited Partnership Medical device including a slider assembly
US9442607B2 (en) 2006-12-04 2016-09-13 Smart Technologies Inc. Interactive input system and method
US8902172B2 (en) * 2006-12-07 2014-12-02 Cypress Semiconductor Corporation Preventing unintentional activation of a touch-sensor button caused by a presence of conductive liquid on the touch-sensor button
US7948477B2 (en) * 2006-12-15 2011-05-24 Apple Inc. PET-based touchpad
US20080143681A1 (en) * 2006-12-18 2008-06-19 Xiaoping Jiang Circular slider with center button
US8373664B2 (en) * 2006-12-18 2013-02-12 Cypress Semiconductor Corporation Two circuit board touch-sensor device
US8207944B2 (en) * 2006-12-19 2012-06-26 3M Innovative Properties Company Capacitance measuring circuit and method
US8134542B2 (en) * 2006-12-20 2012-03-13 3M Innovative Properties Company Untethered stylus employing separate communication and power channels
US8040329B2 (en) 2006-12-20 2011-10-18 3M Innovative Properties Company Frequency control circuit for tuning a resonant circuit of an untethered device
US7956851B2 (en) * 2006-12-20 2011-06-07 3M Innovative Properties Company Self-tuning drive source employing input impedance phase detection
US8243049B2 (en) 2006-12-20 2012-08-14 3M Innovative Properties Company Untethered stylus employing low current power converter
US8072429B2 (en) * 2006-12-22 2011-12-06 Cypress Semiconductor Corporation Multi-axial touch-sensor device with multi-touch resolution
US8040330B2 (en) 2006-12-28 2011-10-18 3M Innovative Properties Company Untethered stylus empolying multiple reference frequency communication
US7787259B2 (en) * 2006-12-28 2010-08-31 3M Innovative Properties Company Magnetic shield for use in a location sensing system
US8089474B2 (en) 2006-12-28 2012-01-03 3M Innovative Properties Company Location sensing system and method employing adaptive drive signal adjustment
US7920129B2 (en) 2007-01-03 2011-04-05 Apple Inc. Double-sided touch-sensitive panel with shield and drive combined layer
US8031174B2 (en) * 2007-01-03 2011-10-04 Apple Inc. Multi-touch surface stackup arrangement
US8489783B2 (en) * 2007-01-03 2013-07-16 Apple Inc. Multi buffer asynchronous scheme for processing incoming information
US7986313B2 (en) * 2007-01-03 2011-07-26 Apple Inc. Analog boundary scanning based on stray capacitance
US8970501B2 (en) * 2007-01-03 2015-03-03 Apple Inc. Proximity and multi-touch sensor detection and demodulation
US8405617B2 (en) 2007-01-03 2013-03-26 Apple Inc. Gated power management over a system bus
US7812827B2 (en) * 2007-01-03 2010-10-12 Apple Inc. Simultaneous sensing arrangement
US8232970B2 (en) 2007-01-03 2012-07-31 Apple Inc. Scan sequence generator
US8049732B2 (en) 2007-01-03 2011-11-01 Apple Inc. Front-end signal compensation
US7855718B2 (en) * 2007-01-03 2010-12-21 Apple Inc. Multi-touch input discrimination
US8493330B2 (en) 2007-01-03 2013-07-23 Apple Inc. Individual channel phase delay scheme
US8510481B2 (en) * 2007-01-03 2013-08-13 Apple Inc. Memory access without internal microprocessor intervention
US7861073B2 (en) * 2007-01-03 2010-12-28 Apple Inc. On-chip decompression engine
US8269727B2 (en) 2007-01-03 2012-09-18 Apple Inc. Irregular input identification
US8054296B2 (en) 2007-01-03 2011-11-08 Apple Inc. Storing baseline information in EEPROM
US7719367B2 (en) * 2007-01-03 2010-05-18 Apple Inc. Automatic frequency calibration
US8130203B2 (en) 2007-01-03 2012-03-06 Apple Inc. Multi-touch input discrimination
US7986193B2 (en) * 2007-01-03 2011-07-26 Apple Inc. Noise reduction within an electronic device using automatic frequency modulation
US8026904B2 (en) * 2007-01-03 2011-09-27 Apple Inc. Periodic sensor panel baseline adjustment
US8094128B2 (en) 2007-01-03 2012-01-10 Apple Inc. Channel scan logic
US7876310B2 (en) 2007-01-03 2011-01-25 Apple Inc. Far-field input identification
US8125456B2 (en) 2007-01-03 2012-02-28 Apple Inc. Multi-touch auto scanning
US9311528B2 (en) * 2007-01-03 2016-04-12 Apple Inc. Gesture learning
US8542211B2 (en) * 2007-01-03 2013-09-24 Apple Inc. Projection scan multi-touch sensor array
US8068125B2 (en) 2007-01-05 2011-11-29 Apple Inc. Luminescence shock avoidance in display devices
US8026903B2 (en) 2007-01-03 2011-09-27 Apple Inc. Double-sided touch sensitive panel and flex circuit bonding
US8125455B2 (en) * 2007-01-03 2012-02-28 Apple Inc. Full scale calibration measurement for multi-touch surfaces
US7848825B2 (en) 2007-01-03 2010-12-07 Apple Inc. Master/slave mode for sensor processing devices
US8711129B2 (en) * 2007-01-03 2014-04-29 Apple Inc. Minimizing mismatch during compensation
US20080297487A1 (en) * 2007-01-03 2008-12-04 Apple Inc. Display integrated photodiode matrix
US7643010B2 (en) * 2007-01-03 2010-01-05 Apple Inc. Peripheral pixel noise reduction
US7692638B2 (en) 2007-01-03 2010-04-06 Apple Inc. Error compensation for multi-touch surfaces
US8085247B2 (en) * 2007-01-03 2011-12-27 Apple Inc. Advanced frequency calibration
US20080164329A1 (en) * 2007-01-04 2008-07-10 Victor Piorun Voting Apparatus and System
US7956847B2 (en) * 2007-01-05 2011-06-07 Apple Inc. Gestures for controlling, manipulating, and editing of media files using touch sensitive devices
US7852325B2 (en) * 2007-01-05 2010-12-14 Apple Inc. RF pulse synchronization for data acquisition operations
US9710095B2 (en) * 2007-01-05 2017-07-18 Apple Inc. Touch screen stack-ups
US20080165139A1 (en) 2007-01-05 2008-07-10 Apple Inc. Touch screen stack-up processing
US8970503B2 (en) 2007-01-05 2015-03-03 Apple Inc. Gestures for devices having one or more touch sensitive surfaces
US8144129B2 (en) * 2007-01-05 2012-03-27 Apple Inc. Flexible touch sensing circuits
US8656295B2 (en) * 2007-01-05 2014-02-18 Apple Inc. Selecting and manipulating web content
US7924271B2 (en) * 2007-01-05 2011-04-12 Apple Inc. Detecting gestures on multi-event sensitive devices
US7877707B2 (en) * 2007-01-06 2011-01-25 Apple Inc. Detecting and interpreting real-world and security gestures on touch and hover sensitive devices
US10437459B2 (en) 2007-01-07 2019-10-08 Apple Inc. Multitouch data fusion
US8665225B2 (en) * 2007-01-07 2014-03-04 Apple Inc. Portable multifunction device, method, and graphical user interface for interpreting a finger gesture
US7844915B2 (en) * 2007-01-07 2010-11-30 Apple Inc. Application programming interfaces for scrolling operations
US8607167B2 (en) * 2007-01-07 2013-12-10 Apple Inc. Portable multifunction device, method, and graphical user interface for providing maps and directions
US20080168478A1 (en) * 2007-01-07 2008-07-10 Andrew Platzer Application Programming Interfaces for Scrolling
US20080168402A1 (en) 2007-01-07 2008-07-10 Christopher Blumenberg Application Programming Interfaces for Gesture Operations
US8054299B2 (en) * 2007-01-08 2011-11-08 Apple Inc. Digital controller for a true multi-point touch surface useable in a computer system
KR20080067885A (en) * 2007-01-17 2008-07-22 삼성전자주식회사 Touch signal recognition apparatus and method for the same
US8058937B2 (en) 2007-01-30 2011-11-15 Cypress Semiconductor Corporation Setting a discharge rate and a charge rate of a relaxation oscillator circuit
US20080185193A1 (en) * 2007-01-30 2008-08-07 Jao-Ching Lin Touch pad structure
WO2008093683A1 (en) * 2007-01-31 2008-08-07 Alps Electric Co., Ltd. Electrostatic capacitance type motion detection device and input device using the same
WO2008093682A1 (en) * 2007-01-31 2008-08-07 Alps Electric Co., Ltd. Capacitance type motion detecting apparatus and input apparatus using the same
US8225203B2 (en) 2007-02-01 2012-07-17 Nuance Communications, Inc. Spell-check for a keyboard system with automatic correction
US8201087B2 (en) 2007-02-01 2012-06-12 Tegic Communications, Inc. Spell-check for a keyboard system with automatic correction
GB2446702A (en) * 2007-02-13 2008-08-20 Qrg Ltd Touch Control Panel with Pressure Sensor
US20080218487A1 (en) * 2007-03-07 2008-09-11 Chun-Chung Huang Capacitive-type touch pad having special arrangement of capacitance sensor
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US8860683B2 (en) * 2007-04-05 2014-10-14 Cypress Semiconductor Corporation Integrated button activation sensing and proximity sensing
JP2008262326A (en) * 2007-04-11 2008-10-30 Matsushita Electric Ind Co Ltd Touch panel
US8115753B2 (en) 2007-04-11 2012-02-14 Next Holdings Limited Touch screen system with hover and click input methods
US8516025B2 (en) 2007-04-17 2013-08-20 Cypress Semiconductor Corporation Clock driven dynamic datapath chaining
US8130025B2 (en) 2007-04-17 2012-03-06 Cypress Semiconductor Corporation Numerical band gap
US8092083B2 (en) 2007-04-17 2012-01-10 Cypress Semiconductor Corporation Temperature sensor with digital bandgap
US8040266B2 (en) 2007-04-17 2011-10-18 Cypress Semiconductor Corporation Programmable sigma-delta analog-to-digital converter
US8026739B2 (en) 2007-04-17 2011-09-27 Cypress Semiconductor Corporation System level interconnect with programmable switching
US9564902B2 (en) 2007-04-17 2017-02-07 Cypress Semiconductor Corporation Dynamically configurable and re-configurable data path
US7737724B2 (en) 2007-04-17 2010-06-15 Cypress Semiconductor Corporation Universal digital block interconnection and channel routing
US8525799B1 (en) 2007-04-24 2013-09-03 Cypress Semiconductor Conductor Detecting multiple simultaneous touches on a touch-sensor device
GB2448821A (en) * 2007-04-24 2008-10-29 Seiko Instr Inc Differential capacitive proximity detector
US8355009B2 (en) * 2007-04-25 2013-01-15 Mcdermid William J Method and apparatus for determining coordinates of simultaneous touches on a touch sensor pad
US8065653B1 (en) 2007-04-25 2011-11-22 Cypress Semiconductor Corporation Configuration of programmable IC design elements
US9720805B1 (en) 2007-04-25 2017-08-01 Cypress Semiconductor Corporation System and method for controlling a target device
US8266575B1 (en) 2007-04-25 2012-09-11 Cypress Semiconductor Corporation Systems and methods for dynamically reconfiguring a programmable system on a chip
CN201078769Y (en) 2007-04-27 2008-06-25 宸鸿光电科技股份有限公司 Touch control drawing structure of capacitance type touch control plate
TW200842681A (en) 2007-04-27 2008-11-01 Tpk Touch Solutions Inc Touch pattern structure of a capacitive touch panel
US8144126B2 (en) 2007-05-07 2012-03-27 Cypress Semiconductor Corporation Reducing sleep current in a capacitance sensing system
US8120586B2 (en) * 2007-05-15 2012-02-21 Htc Corporation Electronic devices with touch-sensitive navigational mechanisms, and associated methods
US20080289885A1 (en) * 2007-05-22 2008-11-27 Elwell James K Force-Based Input Device Having a Dynamic User Interface
US20080297174A1 (en) * 2007-05-31 2008-12-04 Sarangan Narasimhan Capacitive sensing devices
US8432396B2 (en) 2007-06-08 2013-04-30 Apple Inc. Reflections in a multidimensional user interface environment
US8839142B2 (en) * 2007-06-08 2014-09-16 Apple Inc. Desktop system object removal
US9791994B2 (en) 2007-06-08 2017-10-17 Apple Inc. User interface for application interface manipulation
US8127239B2 (en) 2007-06-08 2012-02-28 Apple Inc. Object transitions
US9772667B2 (en) 2007-06-13 2017-09-26 Apple Inc. Integrated multi-touch surface having varying sensor granularity
US8040326B2 (en) 2007-06-13 2011-10-18 Apple Inc. Integrated in-plane switching display and touch sensor
US8681104B2 (en) 2007-06-13 2014-03-25 Apple Inc. Pinch-throw and translation gestures
US8400408B2 (en) * 2007-06-13 2013-03-19 Apple Inc. Touch screens with transparent conductive material resistors
US9052817B2 (en) * 2007-06-13 2015-06-09 Apple Inc. Mode sensitive processing of touch data
US20090009483A1 (en) * 2007-06-13 2009-01-08 Apple Inc. Single-chip touch controller with integrated drive system
US7876311B2 (en) * 2007-06-13 2011-01-25 Apple Inc. Detection of low noise frequencies for multiple frequency sensor panel stimulation
US7932896B2 (en) * 2007-06-13 2011-04-26 Apple Inc. Techniques for reducing jitter for taps
US9740386B2 (en) 2007-06-13 2017-08-22 Apple Inc. Speed/positional mode translations
US20080309633A1 (en) * 2007-06-13 2008-12-18 Apple Inc. Touch-sensitive display
US7920134B2 (en) * 2007-06-13 2011-04-05 Apple Inc. Periodic sensor autocalibration and emulation by varying stimulus level
US8493331B2 (en) 2007-06-13 2013-07-23 Apple Inc. Touch detection using multiple simultaneous frequencies
US7916126B2 (en) * 2007-06-13 2011-03-29 Apple Inc. Bottom-up watershed dataflow method and region-specific segmentation based on historic data to identify patches on a touch sensor panel
US8171432B2 (en) * 2008-01-06 2012-05-01 Apple Inc. Touch screen device, method, and graphical user interface for displaying and selecting application options
US8302033B2 (en) * 2007-06-22 2012-10-30 Apple Inc. Touch screen device, method, and graphical user interface for providing maps, directions, and location-based information
US8059101B2 (en) * 2007-06-22 2011-11-15 Apple Inc. Swipe gestures for touch screen keyboards
US8456450B2 (en) 2007-06-28 2013-06-04 Apple Inc. Systems and methods for impedance stabilization
US7874021B2 (en) * 2007-06-28 2011-01-25 Apple Inc. High tactility glove system
US7804307B1 (en) 2007-06-29 2010-09-28 Cypress Semiconductor Corporation Capacitance measurement systems and methods
US20090002386A1 (en) * 2007-06-29 2009-01-01 Apple Inc. Graphical Representation Creation Mechanism
DE102007030390B4 (en) * 2007-06-29 2010-05-12 Vistec Semiconductor Systems Gmbh Coordinate measuring machine and method for calibrating the coordinate measuring machine
US9500686B1 (en) 2007-06-29 2016-11-22 Cypress Semiconductor Corporation Capacitance measurement system and methods
US8089289B1 (en) 2007-07-03 2012-01-03 Cypress Semiconductor Corporation Capacitive field sensor with sigma-delta modulator
US8169238B1 (en) * 2007-07-03 2012-05-01 Cypress Semiconductor Corporation Capacitance to frequency converter
WO2009006556A1 (en) 2007-07-03 2009-01-08 Cypress Semiconductor Corporation Normalizing capacitive sensor array signals
US8258986B2 (en) 2007-07-03 2012-09-04 Cypress Semiconductor Corporation Capacitive-matrix keyboard with multiple touch detection
US8570053B1 (en) 2007-07-03 2013-10-29 Cypress Semiconductor Corporation Capacitive field sensor with sigma-delta modulator
US8766910B2 (en) 2007-07-04 2014-07-01 Cypress Semiconductor Corporation Capacitive sensing control knob
US20090008161A1 (en) * 2007-07-04 2009-01-08 Jones Christopher W Capacitive sensor array and gesture recognition
JP2010533329A (en) * 2007-07-12 2010-10-21 アトメル・コーポレイション 2D touch panel
US9654104B2 (en) * 2007-07-17 2017-05-16 Apple Inc. Resistive force sensor with capacitive discrimination
US8094137B2 (en) 2007-07-23 2012-01-10 Smart Technologies Ulc System and method of detecting contact on a display
US9041659B2 (en) * 2007-07-26 2015-05-26 N-Trig Ltd. System and method for diagnostics of a grid based digitizer
TW200915162A (en) * 2007-07-31 2009-04-01 Qrg Ltd Sensor and method of sensing
US7797115B2 (en) * 2007-08-13 2010-09-14 Nuvoton Technology Corporation Time interval measurement for capacitive detection
US20090045823A1 (en) * 2007-08-13 2009-02-19 Winbond Electronics Corporation Power efficient capacitive detection
US20090045822A1 (en) * 2007-08-13 2009-02-19 Windbond Electronics Corporation Capacitive detection systems, modules and methods
US20090046110A1 (en) * 2007-08-16 2009-02-19 Motorola, Inc. Method and apparatus for manipulating a displayed image
US8947364B2 (en) * 2007-08-20 2015-02-03 Synaptics Incorporated Proximity sensor device and method with activation confirmation
US8605050B2 (en) 2007-08-21 2013-12-10 Tpk Touch Solutions (Xiamen) Inc. Conductor pattern structure of capacitive touch panel
WO2009029767A1 (en) 2007-08-30 2009-03-05 Next Holdings, Inc. Optical touchscreen with improved illumination
CA2697856A1 (en) 2007-08-30 2009-03-05 Next Holdings, Inc. Low profile touch panel systems
US8510485B2 (en) * 2007-08-31 2013-08-13 Apple Inc. Low power digital interface
US7907020B2 (en) * 2007-08-31 2011-03-15 Apple Inc. Constant calibration
WO2009032898A2 (en) 2007-09-04 2009-03-12 Apple Inc. Compact input device
US9477395B2 (en) 2007-09-04 2016-10-25 Apple Inc. Audio file interface
US8683378B2 (en) 2007-09-04 2014-03-25 Apple Inc. Scrolling techniques for user interfaces
US8049569B1 (en) 2007-09-05 2011-11-01 Cypress Semiconductor Corporation Circuit and method for improving the accuracy of a crystal-less oscillator having dual-frequency modes
KR100936046B1 (en) * 2007-09-14 2010-01-08 한국표준과학연구원 Method for materialization of touchpad using touch sensor
FI20085475A0 (en) * 2008-05-19 2008-05-19 Senseg Oy Touch Device Interface
CN103513764B (en) 2007-09-18 2017-04-26 森赛格公司 Method and apparatus for sensory stimulation
KR100919212B1 (en) * 2007-09-19 2009-09-28 주식회사 포인칩스 Capacitance measuring circuit for touch sensor
US9483405B2 (en) * 2007-09-20 2016-11-01 Sony Interactive Entertainment Inc. Simplified run-time program translation for emulating complex processor pipelines
US11441919B2 (en) * 2007-09-26 2022-09-13 Apple Inc. Intelligent restriction of device operations
TW201233414A (en) * 2007-09-28 2012-08-16 Konami Digital Entertainment Game device, communication system and information recording medium
TWI343017B (en) * 2007-09-28 2011-06-01 Au Optronics Corp Capacitive touch panel with low coupling capacitance and display device using the same
TWI350474B (en) * 2007-09-29 2011-10-11 Au Optronics Corp Capacitive touch panel with low impedance and method of manufacturing capacitive touch panels with low impedance
US9335869B2 (en) 2007-10-01 2016-05-10 Igt Method and apparatus for detecting lift off on a touchscreen
US8153016B2 (en) * 2007-10-03 2012-04-10 Apple Inc. Shaping a cover glass
US8633915B2 (en) * 2007-10-04 2014-01-21 Apple Inc. Single-layer touch-sensitive display
US8674946B2 (en) * 2007-10-04 2014-03-18 Alpine Electronics, Inc. Method and apparatus for controlling timing of status change of electronics apparatus based on user's finger location and input speed
JP2009093291A (en) * 2007-10-04 2009-04-30 Toshiba Corp Gesture determination apparatus and method
US8004500B2 (en) 2007-10-26 2011-08-23 Apple Inc. Switched capacitor projection scan multi-touch sensor array
US8358226B2 (en) * 2007-10-28 2013-01-22 Synaptics Incorporated Determining actuation of multi-sensor-electrode capacitive buttons
JP5023272B2 (en) * 2007-11-02 2012-09-12 株式会社ジャパンディスプレイイースト Screen input type image display system
US8174508B2 (en) * 2007-11-19 2012-05-08 Microsoft Corporation Pointing and data entry input device
US8416198B2 (en) 2007-12-03 2013-04-09 Apple Inc. Multi-dimensional scroll wheel
US8184096B2 (en) 2007-12-04 2012-05-22 Apple Inc. Cursor transitions
TW200925969A (en) * 2007-12-11 2009-06-16 Tpk Touch Solutions Inc Device for scanning and detecting touch point of touch control panel and method thereof
US8341544B2 (en) 2007-12-14 2012-12-25 Apple Inc. Scroll bar with video region in a media system
FR2925715B1 (en) * 2007-12-19 2010-06-18 Stantum ELECTRONIC ANALYSIS CIRCUIT WITH ALTERNATING POWER AXIS / DETECTION AXIS FOR MULTICONTACT TOUCH SENSOR WITH PASSIVE MATRIX
US8358276B2 (en) * 2007-12-21 2013-01-22 Apple Inc. Touch pad electrode design
US9075483B2 (en) 2007-12-21 2015-07-07 Apple Inc. Negative pixel compensation
TWI374379B (en) 2007-12-24 2012-10-11 Wintek Corp Transparent capacitive touch panel and manufacturing method thereof
EP2079008A1 (en) * 2007-12-26 2009-07-15 TPO Displays Corp. Position sensing display
US7928965B2 (en) 2007-12-27 2011-04-19 Apple Inc. Touch screen RFID tag reader
US8610671B2 (en) 2007-12-27 2013-12-17 Apple Inc. Insertion marker placement on touch sensitive display
US7830157B2 (en) * 2007-12-28 2010-11-09 3M Innovative Properties Company Pulsed capacitance measuring circuits and methods
US9330720B2 (en) 2008-01-03 2016-05-03 Apple Inc. Methods and apparatus for altering audio output signals
US8553005B2 (en) 2008-01-04 2013-10-08 Tactus Technology, Inc. User interface system
US9367132B2 (en) 2008-01-04 2016-06-14 Tactus Technology, Inc. User interface system
US8570295B2 (en) 2008-01-04 2013-10-29 Tactus Technology, Inc. User interface system
US9720501B2 (en) 2008-01-04 2017-08-01 Tactus Technology, Inc. Dynamic tactile interface
US8922510B2 (en) 2008-01-04 2014-12-30 Tactus Technology, Inc. User interface system
US9372565B2 (en) 2008-01-04 2016-06-21 Tactus Technology, Inc. Dynamic tactile interface
US8947383B2 (en) 2008-01-04 2015-02-03 Tactus Technology, Inc. User interface system and method
US8243038B2 (en) 2009-07-03 2012-08-14 Tactus Technologies Method for adjusting the user interface of a device
US9552065B2 (en) 2008-01-04 2017-01-24 Tactus Technology, Inc. Dynamic tactile interface
US8154527B2 (en) * 2008-01-04 2012-04-10 Tactus Technology User interface system
US8547339B2 (en) 2008-01-04 2013-10-01 Tactus Technology, Inc. System and methods for raised touch screens
US8704790B2 (en) 2010-10-20 2014-04-22 Tactus Technology, Inc. User interface system
US9052790B2 (en) 2008-01-04 2015-06-09 Tactus Technology, Inc. User interface and methods
US9128525B2 (en) 2008-01-04 2015-09-08 Tactus Technology, Inc. Dynamic tactile interface
US8179375B2 (en) * 2008-01-04 2012-05-15 Tactus Technology User interface system and method
US20160187981A1 (en) 2008-01-04 2016-06-30 Tactus Technology, Inc. Manual fluid actuator
US9298261B2 (en) 2008-01-04 2016-03-29 Tactus Technology, Inc. Method for actuating a tactile interface layer
US9063627B2 (en) 2008-01-04 2015-06-23 Tactus Technology, Inc. User interface and methods
US9423875B2 (en) 2008-01-04 2016-08-23 Tactus Technology, Inc. Dynamic tactile interface with exhibiting optical dispersion characteristics
US8413075B2 (en) * 2008-01-04 2013-04-02 Apple Inc. Gesture movies
US8456438B2 (en) 2008-01-04 2013-06-04 Tactus Technology, Inc. User interface system
US9372576B2 (en) 2008-01-04 2016-06-21 Apple Inc. Image jaggedness filter for determining whether to perform baseline calculations
US9013417B2 (en) 2008-01-04 2015-04-21 Tactus Technology, Inc. User interface system
US9588683B2 (en) 2008-01-04 2017-03-07 Tactus Technology, Inc. Dynamic tactile interface
US9274612B2 (en) 2008-01-04 2016-03-01 Tactus Technology, Inc. User interface system
US9612659B2 (en) 2008-01-04 2017-04-04 Tactus Technology, Inc. User interface system
US20090174676A1 (en) 2008-01-04 2009-07-09 Apple Inc. Motion component dominance factors for motion locking of touch sensor data
US20090174679A1 (en) 2008-01-04 2009-07-09 Wayne Carl Westerman Selective Rejection of Touch Contacts in an Edge Region of a Touch Surface
US9557915B2 (en) 2008-01-04 2017-01-31 Tactus Technology, Inc. Dynamic tactile interface
US8327272B2 (en) 2008-01-06 2012-12-04 Apple Inc. Portable multifunction device, method, and graphical user interface for viewing and managing electronic calendars
US10102300B2 (en) * 2008-01-06 2018-10-16 Apple Inc. Icon creation on mobile device
US8405636B2 (en) 2008-01-07 2013-03-26 Next Holdings Limited Optical position sensing system and optical position sensor assembly
KR101469034B1 (en) * 2008-01-07 2014-12-05 삼성디스플레이 주식회사 Display device and control method of the same
WO2009089050A1 (en) * 2008-01-08 2009-07-16 Cirque Corporation Game controller touchpad providing touch stick functionality and relative and absolute position input
US20090174675A1 (en) * 2008-01-09 2009-07-09 Dave Gillespie Locating multiple objects on a capacitive touch pad
US8125461B2 (en) 2008-01-11 2012-02-28 Apple Inc. Dynamic input graphic display
US8525798B2 (en) 2008-01-28 2013-09-03 Cypress Semiconductor Corporation Touch sensing
US10969917B2 (en) 2008-01-30 2021-04-06 Apple Inc. Auto scanning for multiple frequency stimulation multi-touch sensor panels
US8820133B2 (en) 2008-02-01 2014-09-02 Apple Inc. Co-extruded materials and methods
US8487912B1 (en) 2008-02-01 2013-07-16 Cypress Semiconductor Corporation Capacitive sense touch device with hysteresis threshold
US8446373B2 (en) * 2008-02-08 2013-05-21 Synaptics Incorporated Method and apparatus for extended adjustment based on relative positioning of multiple objects contemporaneously in a sensing region
US8692777B2 (en) * 2008-02-08 2014-04-08 Apple Inc. Method for rapidly testing capacitance sensing array fault conditions using a floating conductor
US8418046B2 (en) * 2008-02-13 2013-04-09 Apple Inc. Data signal handling circuitry and methods with error analysis capabilities
WO2009105094A1 (en) * 2008-02-20 2009-08-27 Utc Fire & Security Corporation Assisted commissioning method for combustion control systems
TWI352924B (en) * 2008-02-21 2011-11-21 Wintek Corp Touch panel and driving method of touch panel
US8432364B2 (en) * 2008-02-25 2013-04-30 Apple Inc. Charge recycling for multi-touch controllers
US20090213083A1 (en) * 2008-02-26 2009-08-27 Apple Inc. Simulation of multi-point gestures with a single pointing device
US8319505B1 (en) 2008-10-24 2012-11-27 Cypress Semiconductor Corporation Methods and circuits for measuring mutual and self capacitance
US8358142B2 (en) 2008-02-27 2013-01-22 Cypress Semiconductor Corporation Methods and circuits for measuring mutual and self capacitance
US9104273B1 (en) 2008-02-29 2015-08-11 Cypress Semiconductor Corporation Multi-touch sensing method
US8650507B2 (en) * 2008-03-04 2014-02-11 Apple Inc. Selecting of text using gestures
US8645827B2 (en) 2008-03-04 2014-02-04 Apple Inc. Touch event model
US8201109B2 (en) 2008-03-04 2012-06-12 Apple Inc. Methods and graphical user interfaces for editing on a portable multifunction device
US8717305B2 (en) * 2008-03-04 2014-05-06 Apple Inc. Touch event model for web pages
US8908973B2 (en) * 2008-03-04 2014-12-09 Apple Inc. Handwritten character recognition interface
US8416196B2 (en) 2008-03-04 2013-04-09 Apple Inc. Touch event model programming interface
US8174502B2 (en) * 2008-03-04 2012-05-08 Apple Inc. Touch event processing for web pages
TWI416381B (en) * 2008-03-05 2013-11-21 Mitac Int Corp Touch the sliding method
US9454256B2 (en) 2008-03-14 2016-09-27 Apple Inc. Sensor configurations of an input device that are switchable based on mode
US8185843B2 (en) 2008-03-17 2012-05-22 Apple Inc. Managing user interface control panels
TWI389020B (en) * 2008-03-25 2013-03-11 Elan Microelectronics Touch panel device
US8035622B2 (en) 2008-03-27 2011-10-11 Apple Inc. SAR ADC with dynamic input scaling and offset adjustment
US8169332B2 (en) * 2008-03-30 2012-05-01 Pressure Profile Systems Corporation Tactile device with force sensitive touch input surface
KR101080183B1 (en) * 2008-04-04 2011-11-07 (주)멜파스 Touch sensing apparatus having improved location detection performance for periphery touch
US8996376B2 (en) 2008-04-05 2015-03-31 Apple Inc. Intelligent text-to-speech conversion
US9019237B2 (en) * 2008-04-06 2015-04-28 Lester F. Ludwig Multitouch parameter and gesture user interface employing an LED-array tactile sensor that can also operate as a display
US8441452B1 (en) 2008-04-10 2013-05-14 Cypress Semiconductor Corporation Multiple touch detection
CN101556501B (en) * 2008-04-11 2012-10-17 深圳富泰宏精密工业有限公司 Computer mouse simulation system and method
DE112009000941T5 (en) * 2008-04-15 2011-05-26 Mattel, Inc., El Segundo Remote control device with touch screen for use with a toy
TWI375897B (en) * 2008-04-18 2012-11-01 Primax Electronics Ltd Keyboard device
TWI366776B (en) * 2008-04-21 2012-06-21 Htc Corp Operating method and system and stroage device using the same
US8949743B2 (en) * 2008-04-22 2015-02-03 Apple Inc. Language input interface on a device
KR20090112118A (en) * 2008-04-23 2009-10-28 엘지이노텍 주식회사 Display device
US8576193B2 (en) * 2008-04-25 2013-11-05 Apple Inc. Brick layout and stackup for a touch screen
US8487898B2 (en) * 2008-04-25 2013-07-16 Apple Inc. Ground guard for capacitive sensing
US8970504B2 (en) * 2008-04-25 2015-03-03 Apple Inc. Reliability metal traces
US8629841B2 (en) * 2008-04-30 2014-01-14 Apple Inc. Multi-touch sensor patterns and stack-ups
US8514203B2 (en) * 2008-04-30 2013-08-20 Apple Inc. Flexible calibration device for touch sensor panel calibration
US20090273577A1 (en) * 2008-04-30 2009-11-05 Apple Inc. Moire-Free Touch Screen with Tilted or Curved ITO Pattern
US8526767B2 (en) * 2008-05-01 2013-09-03 Atmel Corporation Gesture recognition
DE102009019910B4 (en) 2008-05-01 2021-09-16 Solas Oled Ltd. Gesture recognition
US8123894B2 (en) 2008-05-07 2012-02-28 Apple Inc. 3-dimensional curved substrate lamination
US8902193B2 (en) 2008-05-09 2014-12-02 Smart Technologies Ulc Interactive input system and bezel therefor
TW200947289A (en) * 2008-05-12 2009-11-16 Tpk Touch Solutions Inc Layout method of touch circuit pattern
JP2009276819A (en) * 2008-05-12 2009-11-26 Fujitsu Ltd Method for controlling pointing device, pointing device and computer program
US10496753B2 (en) 2010-01-18 2019-12-03 Apple Inc. Automatically adapting user interfaces for hands-free interaction
EP2300899A4 (en) * 2008-05-14 2012-11-07 3M Innovative Properties Co Systems and methods for assessing locations of multiple touch inputs
CN101581991B (en) * 2008-05-15 2011-12-07 宏达国际电子股份有限公司 Operating method, system and storage media
TWI396967B (en) * 2008-05-16 2013-05-21 Htc Corp Signal filtering method and electronic device and readable recording medium using the same
US8456851B2 (en) * 2008-05-16 2013-06-04 Apple Inc. Flex circuit with single sided routing and double sided attach
US9569037B2 (en) * 2008-05-19 2017-02-14 Atmel Corporation Capacitive sensing with low-frequency noise reduction
CN102129325B (en) * 2008-05-21 2014-07-09 宸鸿光电科技股份有限公司 Touch circuit
US9280239B2 (en) * 2008-05-22 2016-03-08 Plantronics, Inc. Touch sensitive controls with weakly conductive touch surfaces
US8816986B1 (en) 2008-06-01 2014-08-26 Cypress Semiconductor Corporation Multiple touch detection
US9069418B2 (en) 2008-06-06 2015-06-30 Apple Inc. High resistivity metal fan out
US8054300B2 (en) * 2008-06-17 2011-11-08 Apple Inc. Capacitive sensor panel having dynamically reconfigurable sensor size and shape
US9513705B2 (en) * 2008-06-19 2016-12-06 Tactile Displays, Llc Interactive display with tactile feedback
US8665228B2 (en) 2008-06-19 2014-03-04 Tactile Displays, Llc Energy efficient interactive display with energy regenerative keyboard
US8115745B2 (en) 2008-06-19 2012-02-14 Tactile Displays, Llc Apparatus and method for interactive display with tactile feedback
US8217908B2 (en) 2008-06-19 2012-07-10 Tactile Displays, Llc Apparatus and method for interactive display with tactile feedback
CA2728410C (en) 2008-06-20 2014-05-06 Mattel, Inc. Capacitive touchpad and toy incorporating the same
US20090315570A1 (en) * 2008-06-23 2009-12-24 Mark Lynsin David Chappell Capacitive sensing device
US8928595B2 (en) * 2008-06-24 2015-01-06 Microsoft Corporation Touch screen calibration sensor
WO2009155981A1 (en) * 2008-06-26 2009-12-30 Uiq Technology Ab Gesture on touch sensitive arrangement
US8673163B2 (en) * 2008-06-27 2014-03-18 Apple Inc. Method for fabricating thin sheets of glass
US7810355B2 (en) * 2008-06-30 2010-10-12 Apple Inc. Full perimeter chemical strengthening of substrates
US20100001978A1 (en) * 2008-07-02 2010-01-07 Stephen Brian Lynch Ambient light interference reduction for optical input devices
US8508495B2 (en) 2008-07-03 2013-08-13 Apple Inc. Display with dual-function capacitive elements
JP4732489B2 (en) * 2008-07-04 2011-07-27 義隆電子股▲ふん▼有限公司 Capacitive touch panel article detection method
US20110169768A1 (en) * 2008-07-08 2011-07-14 Kenichi Matsushima Electrostatic detection device, information apparatus, and electrostatic detection method
US10095375B2 (en) 2008-07-09 2018-10-09 Apple Inc. Adding a contact to a home screen
US8135561B2 (en) * 2008-10-10 2012-03-13 Pixart Imaging Inc. Sensing system
US8131502B2 (en) * 2008-10-10 2012-03-06 Pixart Imaging Inc. Sensing system and method for obtaining location of pointer thereof
US10031549B2 (en) * 2008-07-10 2018-07-24 Apple Inc. Transitioning between modes of input
EP2144189A3 (en) * 2008-07-10 2014-03-05 Samsung Electronics Co., Ltd. Method for recognizing and translating characters in camera-based image
US20100006350A1 (en) * 2008-07-11 2010-01-14 Elias John G Stylus Adapted For Low Resolution Touch Sensor Panels
US8345014B2 (en) 2008-07-12 2013-01-01 Lester F. Ludwig Control of the operating system on a computing device via finger angle using a high dimensional touchpad (HDTP) touch user interface
US8169414B2 (en) 2008-07-12 2012-05-01 Lim Seung E Control of electronic games via finger angle using a high dimensional touchpad (HDTP) touch user interface
US8300019B2 (en) 2008-07-15 2012-10-30 Apple Inc. Capacitive sensor coupling correction
JP4632102B2 (en) * 2008-07-17 2011-02-16 ソニー株式会社 Information processing apparatus, information processing method, and information processing program
US8159455B2 (en) * 2008-07-18 2012-04-17 Apple Inc. Methods and apparatus for processing combinations of kinematical inputs
US7855550B2 (en) * 2008-07-23 2010-12-21 Ya Horng Electronic Co., Ltd. Velocity-detecting device
US8482536B1 (en) 2008-07-23 2013-07-09 Cypress Semiconductor Corporation Compensation of signal values for a touch sensor
WO2010011779A2 (en) * 2008-07-23 2010-01-28 Flextronics Ap, Llc Integration design for capacitive touch panels and liquid crystal displays
JP4918529B2 (en) * 2008-07-24 2012-04-18 陞達科技股▲ふん▼有限公司 Integrated input system
US20100019780A1 (en) * 2008-07-24 2010-01-28 Mihai Bulea Multi-axis capacitive sensor
US9128568B2 (en) * 2008-07-30 2015-09-08 New Vision Display (Shenzhen) Co., Limited Capacitive touch panel with FPC connector electrically coupled to conductive traces of face-to-face ITO pattern structure in single plane
US9335868B2 (en) * 2008-07-31 2016-05-10 Apple Inc. Capacitive sensor behind black mask
US20100030549A1 (en) 2008-07-31 2010-02-04 Lee Michael M Mobile device having human language translation capability with positional feedback
US8743091B2 (en) * 2008-07-31 2014-06-03 Apple Inc. Acoustic multi-touch sensor panel
TWI375901B (en) * 2008-08-05 2012-11-01 Elan Microelectronics Corp Touch screen and method for positioning coordinate
US8049862B2 (en) * 2008-08-08 2011-11-01 Apple Inc. Indium tin oxide (ITO) layer forming
US8604364B2 (en) * 2008-08-15 2013-12-10 Lester F. Ludwig Sensors, algorithms and applications for a high dimensional touchpad
US8300020B2 (en) * 2008-08-15 2012-10-30 Apple Inc. Hybrid inertial and touch sensing input device
CA2734987A1 (en) 2008-08-22 2010-02-25 Google Inc. Navigation in a three dimensional environment on a mobile device
US8924892B2 (en) * 2008-08-22 2014-12-30 Fuji Xerox Co., Ltd. Multiple selection on devices with many gestures
CN101661361A (en) * 2008-08-27 2010-03-03 比亚迪股份有限公司 Multipoint touch detection system
CN101661363A (en) * 2008-08-28 2010-03-03 比亚迪股份有限公司 Application method for multipoint touch sensing system
CN101667077B (en) * 2008-09-03 2011-06-22 升达科技股份有限公司 Method for identifying single-click, double-click and drag motions and controller of touch device
US20100053111A1 (en) * 2008-09-04 2010-03-04 Sony Ericsson Mobile Communications Ab Multi-touch control for touch sensitive display
US20100060592A1 (en) * 2008-09-10 2010-03-11 Jeffrey Traer Bernstein Data Transmission and Reception Using Optical In-LCD Sensing
US9189048B2 (en) * 2008-09-10 2015-11-17 Apple Inc. Circuit having a low power mode
US8810542B2 (en) * 2008-09-10 2014-08-19 Apple Inc. Correction of parasitic capacitance effect in touch sensor panels
US9606663B2 (en) * 2008-09-10 2017-03-28 Apple Inc. Multiple stimulation phase determination
US8592697B2 (en) * 2008-09-10 2013-11-26 Apple Inc. Single-chip multi-stimulus sensor controller
US9348451B2 (en) 2008-09-10 2016-05-24 Apple Inc. Channel scan architecture for multiple stimulus multi-touch sensor panels
US8659556B2 (en) 2008-09-10 2014-02-25 Apple Inc. Advanced receive channel architecture
US8237667B2 (en) * 2008-09-10 2012-08-07 Apple Inc. Phase compensation for multi-stimulus controller
US20100066683A1 (en) * 2008-09-17 2010-03-18 Shih-Chang Chang Method for Transferring Thin Film to Substrate
US8692776B2 (en) * 2008-09-19 2014-04-08 Apple Inc. Correction of parasitic capacitance effect in touch sensor panels
US9003326B2 (en) * 2008-09-23 2015-04-07 Apple Inc. Indicating input focus by showing focus transitions
KR20110067039A (en) * 2008-09-24 2011-06-20 쓰리엠 이노베이티브 프로퍼티즈 컴파니 Mutual capacitance measuring circuits and methods
US8816967B2 (en) 2008-09-25 2014-08-26 Apple Inc. Capacitive sensor having electrodes arranged on the substrate and the flex circuit
US9927924B2 (en) 2008-09-26 2018-03-27 Apple Inc. Differential sensing for a touch panel
US8321174B1 (en) 2008-09-26 2012-11-27 Cypress Semiconductor Corporation System and method to measure capacitance of capacitive sensor array
US8614690B2 (en) * 2008-09-26 2013-12-24 Apple Inc. Touch sensor panel using dummy ground conductors
US10289199B2 (en) * 2008-09-29 2019-05-14 Apple Inc. Haptic feedback system
US8730179B2 (en) * 2008-09-30 2014-05-20 Apple Inc. Integrated touch sensor and solar assembly
US8368654B2 (en) * 2008-09-30 2013-02-05 Apple Inc. Integrated touch sensor and solar assembly
US8941595B2 (en) * 2008-10-01 2015-01-27 Integrated Device Technology, Inc. Alternating, complementary conductive element pattern for multi-touch sensor
US8305363B2 (en) * 2008-10-10 2012-11-06 Pixart Imaging Sensing system and locating method thereof
US8269158B2 (en) * 2008-10-10 2012-09-18 Pixart Imaging Inc. Sensing system and method for obtaining position of pointer thereof
US8232511B2 (en) * 2008-10-10 2012-07-31 Pixart Imaging Inc. Sensing system adapted to sense a pointer and calculate a location of the pointer
TWI360772B (en) 2008-10-13 2012-03-21 Coretronic Corp Capacitive touch pad and touch point detecting met
TW201015955A (en) * 2008-10-14 2010-04-16 Inventec Appliances Corp Mobile apparatus and operating method thereof
TWI408609B (en) * 2008-10-17 2013-09-11 Egis Technology Inc Semiconductor fingerprint apparatus with flat touch surface
US8174504B2 (en) * 2008-10-21 2012-05-08 Synaptics Incorporated Input device and method for adjusting a parameter of an electronic system
US20100097329A1 (en) * 2008-10-21 2010-04-22 Martin Simmons Touch Position Finding Method and Apparatus
US8610009B2 (en) * 2008-10-22 2013-12-17 Atmel Corporation Capacitive touch sensors
US11449168B2 (en) 2008-10-24 2022-09-20 Cypress Semiconductor Corporation Touch surface scanning method and device
US20100107067A1 (en) * 2008-10-27 2010-04-29 Nokia Corporation Input on touch based user interfaces
EP2352074B1 (en) * 2008-10-28 2016-03-16 Fujitsu Limited Mobile terminal and input control method
JP2010108501A (en) 2008-10-30 2010-05-13 Samsung Electronics Co Ltd Touch screen controller having increased sensing sensitivity, and display driving circuit and display device and system having the touch screen controller
US8339378B2 (en) 2008-11-05 2012-12-25 Smart Technologies Ulc Interactive input system with multi-angle reflector
US8502785B2 (en) * 2008-11-12 2013-08-06 Apple Inc. Generating gestures tailored to a hand resting on a surface
US9058066B2 (en) * 2008-11-12 2015-06-16 Apple Inc. Suppressing errant motion using integrated mouse and touch information
US8446374B2 (en) * 2008-11-12 2013-05-21 Apple Inc. Detecting a palm touch on a surface
US8144295B2 (en) 2008-11-18 2012-03-27 Apple Inc. Common bus design for a TFT-LCD display
US8493408B2 (en) 2008-11-19 2013-07-23 Apple Inc. Techniques for manipulating panoramas
US8487639B1 (en) 2008-11-21 2013-07-16 Cypress Semiconductor Corporation Receive demodulator for capacitive sensing
WO2010062287A1 (en) * 2008-11-25 2010-06-03 Utc Fire & Security Corporation Oxygen trim controller tuning during combustion system commissioning
CN102239364A (en) * 2008-11-25 2011-11-09 Utc消防及保安公司 Automated setup process for metered combustion control systems
TWI409677B (en) * 2008-11-28 2013-09-21 Elan Microelectronics Corp Illuminated touchpad module and illuminated device thereof
KR101073285B1 (en) * 2008-12-01 2011-10-12 삼성모바일디스플레이주식회사 Touch Screen Panel
US8749496B2 (en) 2008-12-05 2014-06-10 Apple Inc. Integrated touch panel for a TFT display
US8209861B2 (en) * 2008-12-05 2012-07-03 Flextronics Ap, Llc Method for manufacturing a touch screen sensor assembly
US8294047B2 (en) * 2008-12-08 2012-10-23 Apple Inc. Selective input signal rejection and modification
US8836645B2 (en) * 2008-12-09 2014-09-16 Microsoft Corporation Touch input interpretation
US8319747B2 (en) * 2008-12-11 2012-11-27 Apple Inc. Single layer touch panel with segmented drive and sense electrodes
US20100149099A1 (en) * 2008-12-12 2010-06-17 John Greer Elias Motion sensitive mechanical keyboard
US8749497B2 (en) * 2008-12-12 2014-06-10 Apple Inc. Multi-touch shape drawing
US10585493B2 (en) 2008-12-12 2020-03-10 Apple Inc. Touch sensitive mechanical keyboard
US8706143B1 (en) 2008-12-12 2014-04-22 Apple Inc. Driver handheld computing device lock-out
JP4743268B2 (en) * 2008-12-15 2011-08-10 ソニー株式会社 Information processing apparatus, information processing method, and program
KR101577953B1 (en) * 2008-12-16 2015-12-17 삼성디스플레이 주식회사 Touch sensible display device and method of determining touch
US8395590B2 (en) 2008-12-17 2013-03-12 Apple Inc. Integrated contact switch and touch sensor elements
US9409383B2 (en) * 2008-12-22 2016-08-09 Apple Inc. Layer-specific energy distribution delamination
JP4633166B2 (en) * 2008-12-22 2011-02-16 京セラ株式会社 Input device and control method of input device
US20100162165A1 (en) * 2008-12-22 2010-06-24 Apple Inc. User Interface Tools
US20100156811A1 (en) * 2008-12-22 2010-06-24 Ding Hua Long New pattern design for a capacitive touch screen
KR101357751B1 (en) * 2008-12-22 2014-02-03 교세라 가부시키가이샤 Input apparatus
US9600070B2 (en) 2008-12-22 2017-03-21 Apple Inc. User interface having changeable topography
US8274486B2 (en) * 2008-12-22 2012-09-25 Flextronics Ap, Llc Diamond pattern on a single layer
US20100156846A1 (en) * 2008-12-23 2010-06-24 Flextronics Ap, Llc Single substrate capacitive touch panel
US8275412B2 (en) 2008-12-31 2012-09-25 Motorola Mobility Llc Portable electronic device having directional proximity sensors based on device orientation
WO2010078597A1 (en) * 2009-01-05 2010-07-08 Tactus Technology, Inc. User interface system
US9588684B2 (en) 2009-01-05 2017-03-07 Tactus Technology, Inc. Tactile interface for a computing device
WO2010078596A1 (en) * 2009-01-05 2010-07-08 Tactus Technology, Inc. User interface system
JP5249793B2 (en) * 2009-01-07 2013-07-31 ローム株式会社 Input device
US7918019B2 (en) * 2009-01-09 2011-04-05 Apple Inc. Method for fabricating thin touch sensor panels
US9063605B2 (en) 2009-01-09 2015-06-23 Apple Inc. Thin glass processing using a carrier
US20100182271A1 (en) * 2009-01-21 2010-07-22 James Frederick Krier Method for achieving a decorative backlit sensing panel with complex curvature
US8487975B2 (en) 2009-01-27 2013-07-16 Lifesize Communications, Inc. Conferencing system utilizing a mobile communication device as an interface
EP2214082B1 (en) * 2009-01-29 2012-08-15 Tyco Electronics Services GmbH A touch-sensing device with a touch hold function and a corresponding method
US8922521B2 (en) * 2009-02-02 2014-12-30 Apple Inc. Switching circuitry for touch sensitive display
US8552957B2 (en) * 2009-02-02 2013-10-08 Apple Inc. Liquid crystal display reordered inversion
US7995041B2 (en) * 2009-02-02 2011-08-09 Apple Inc. Integrated touch screen
US8507811B2 (en) 2009-02-02 2013-08-13 Apple Inc. Touch sensor panels with reduced static capacitance
US9261997B2 (en) * 2009-02-02 2016-02-16 Apple Inc. Touch regions in diamond configuration
US8217913B2 (en) * 2009-02-02 2012-07-10 Apple Inc. Integrated touch screen
US8760412B2 (en) * 2009-02-02 2014-06-24 Apple Inc. Dual configuration for display data lines
CN102308270B (en) * 2009-02-06 2015-05-27 压力分布系统公司 Capacitive proximity tactile sensor
KR20100091434A (en) * 2009-02-10 2010-08-19 삼성전자주식회사 Digital image processing apparatus and controlling method of the same
US20100201615A1 (en) * 2009-02-12 2010-08-12 David John Tupman Touch and Bump Input Control
CN105930311B (en) 2009-02-18 2018-10-09 谷歌有限责任公司 Execute method, mobile device and the readable medium with the associated action of rendered document
JP2010191892A (en) * 2009-02-20 2010-09-02 Sony Corp Information processing apparatus, display control method, and program
CN102388003B (en) 2009-03-02 2014-11-19 苹果公司 Techniques for strengthening glass covers for portable electronic devices
US20110019354A1 (en) * 2009-03-02 2011-01-27 Christopher Prest Techniques for Strengthening Glass Covers for Portable Electronic Devices
US8447066B2 (en) 2009-03-12 2013-05-21 Google Inc. Performing actions based on capturing information from rendered documents, such as documents under copyright
WO2010105245A2 (en) * 2009-03-12 2010-09-16 Exbiblio B.V. Automatically providing content associated with captured information, such as information captured in real-time
US8170346B2 (en) 2009-03-14 2012-05-01 Ludwig Lester F High-performance closed-form single-scan calculation of oblong-shape rotation angles from binary images of arbitrary size using running sums
US8839155B2 (en) * 2009-03-16 2014-09-16 Apple Inc. Accelerated scrolling for a multifunction device
US8566044B2 (en) * 2009-03-16 2013-10-22 Apple Inc. Event recognition
US8566045B2 (en) 2009-03-16 2013-10-22 Apple Inc. Event recognition
US8756534B2 (en) * 2009-03-16 2014-06-17 Apple Inc. Methods and graphical user interfaces for editing on a multifunction device with a touch screen display
US8689128B2 (en) 2009-03-16 2014-04-01 Apple Inc. Device, method, and graphical user interface for moving a current position in content at a variable scrubbing rate
US9684521B2 (en) 2010-01-26 2017-06-20 Apple Inc. Systems having discrete and continuous gesture recognizers
US9311112B2 (en) * 2009-03-16 2016-04-12 Apple Inc. Event recognition
US8285499B2 (en) 2009-03-16 2012-10-09 Apple Inc. Event recognition
KR20100104804A (en) * 2009-03-19 2010-09-29 삼성전자주식회사 Display driver ic, method for providing the display driver ic, and data processing apparatus using the ddi
US8810249B2 (en) * 2009-03-20 2014-08-19 Thomas G. Cehelnik E-field sensor arrays for interactive gaming, computer interfaces, machine vision, medical imaging, and geological exploration CIP
JP5829206B2 (en) 2009-03-20 2015-12-09 宸鴻科技(廈門)有限公司TPK Touch Solutions(Xiamen)Inc. Capacitive touch circuit pattern and manufacturing method thereof
US8866500B2 (en) 2009-03-26 2014-10-21 Cypress Semiconductor Corporation Multi-functional capacitance sensing circuit with a current conveyor
US8174510B2 (en) 2009-03-29 2012-05-08 Cypress Semiconductor Corporation Capacitive touch screen
US8537126B2 (en) 2009-04-06 2013-09-17 Apple Inc. Integrated touch sensitive display gate driver
TWI398807B (en) * 2009-04-07 2013-06-11 Ite Tech Inc Posistion apparatus for touch device and posistion method thereof
US8593410B2 (en) 2009-04-10 2013-11-26 Apple Inc. Touch sensor panel design
US9024886B2 (en) * 2009-04-14 2015-05-05 Japan Display Inc. Touch-panel device
TWI528249B (en) * 2009-04-15 2016-04-01 財團法人工業技術研究院 Structure of touch sensing device
CA2699363A1 (en) * 2009-04-16 2010-10-16 Research In Motion Limited Electronic device and touch screen display with force sensor
US8624849B2 (en) * 2009-04-20 2014-01-07 Apple Inc. Touch actuated sensor configuration integrated with an OLED structure
US20100265187A1 (en) * 2009-04-20 2010-10-21 Shih Chang Chang Signal routing in an oled structure that includes a touch actuated sensor configuration
US20100271312A1 (en) * 2009-04-22 2010-10-28 Rachid Alameh Menu Configuration System and Method for Display on an Electronic Device
TW201039209A (en) * 2009-04-27 2010-11-01 Compal Electronics Inc Method for operating electronic device using touch pad
EP2425322A4 (en) * 2009-04-30 2013-11-13 Synaptics Inc Control circuitry and method
US9448964B2 (en) 2009-05-04 2016-09-20 Cypress Semiconductor Corporation Autonomous control in a programmable system
US20100293072A1 (en) * 2009-05-13 2010-11-18 David Murrant Preserving the Integrity of Segments of Audio Streams
US8154529B2 (en) * 2009-05-14 2012-04-10 Atmel Corporation Two-dimensional touch sensors
US9354751B2 (en) * 2009-05-15 2016-05-31 Apple Inc. Input device with optimized capacitive sensing
US8542186B2 (en) 2009-05-22 2013-09-24 Motorola Mobility Llc Mobile device with user interaction capability and method of operating same
TWI402738B (en) * 2009-05-27 2013-07-21 Wintek Corp Touch apparatus and touch sensing method
CN102460357B (en) 2009-05-29 2016-04-27 3M创新有限公司 High-speed multi-drop touch-control touching device and controller thereof
US10241644B2 (en) 2011-06-03 2019-03-26 Apple Inc. Actionable reminder entries
US10255566B2 (en) 2011-06-03 2019-04-09 Apple Inc. Generating and processing task items that represent tasks to perform
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US9858925B2 (en) 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US8464182B2 (en) * 2009-06-07 2013-06-11 Apple Inc. Device, method, and graphical user interface for providing maps, directions, and location-based information
KR101561703B1 (en) * 2009-06-08 2015-10-30 엘지전자 주식회사 The method for executing menu and mobile terminal using the same
US9183534B2 (en) 2009-06-12 2015-11-10 Apple Inc. Devices with profile-based operating mode controls
US20100328241A1 (en) * 2009-06-12 2010-12-30 Keith Paulsen Method and system for measuring position on surface capacitance touch panel using a flying capacitor
KR20100134153A (en) * 2009-06-15 2010-12-23 삼성전자주식회사 Method for recognizing touch input in touch screen based device
US8576161B2 (en) * 2009-06-18 2013-11-05 Apple Inc. Driving an OLED display structure integrated with a touch sensor configuration
US8711108B2 (en) 2009-06-19 2014-04-29 Apple Inc. Direct connect single layer touch panel
US8717311B2 (en) * 2009-06-19 2014-05-06 Blackberry Limited Portable electronic device including touch-sensitive display and method of determining when to turn off the touch sensitive display
US8970475B2 (en) * 2009-06-19 2015-03-03 Apple Inc. Motion sensitive input control
US8956718B2 (en) 2009-06-19 2015-02-17 Apple Inc. Transparent conductor thin film formation
US8352202B2 (en) * 2009-06-23 2013-01-08 Synaptics Incorporated System and method for detecting interfernce in a sensor device using phase shifting
US8957874B2 (en) * 2009-06-29 2015-02-17 Apple Inc. Touch sensor panel design
WO2011001224A1 (en) * 2009-06-29 2011-01-06 Freescale Semiconductor, Inc. Touch-screen interface circuit
US9431006B2 (en) 2009-07-02 2016-08-30 Apple Inc. Methods and apparatuses for automatic speech recognition
EP2449452B1 (en) * 2009-07-03 2016-02-10 Tactus Technology User interface enhancement system
US20110001717A1 (en) * 2009-07-06 2011-01-06 Charles Hayes Narrow Border for Capacitive Touch Panels
US20110007019A1 (en) * 2009-07-07 2011-01-13 Nuvoton Technology Corporation Systems and methods for using tft-based lcd panels as capacitive touch sensors
US8872771B2 (en) 2009-07-07 2014-10-28 Apple Inc. Touch sensing device having conductive nodes
US8860693B2 (en) * 2009-07-08 2014-10-14 Apple Inc. Image processing for camera based motion tracking
US20110010759A1 (en) * 2009-07-09 2011-01-13 Apple Inc. Providing a customized interface for an application store
US9323398B2 (en) * 2009-07-10 2016-04-26 Apple Inc. Touch and hover sensing
US8482544B2 (en) * 2009-07-10 2013-07-09 Apple Inc. Negative pixel compensation
US20110006998A1 (en) * 2009-07-10 2011-01-13 Sunggu Kang Patterning of thin film conductive and passivation layers
US8692768B2 (en) 2009-07-10 2014-04-08 Smart Technologies Ulc Interactive input system
US8368661B2 (en) * 2009-07-13 2013-02-05 Apple Inc. Method for fabricating touch sensor panels
CN101957689B (en) * 2009-07-14 2014-08-06 原相科技股份有限公司 Sensing system and method for obtaining position of referent thereof
US9632622B2 (en) * 2009-07-16 2017-04-25 Apple Inc. Ground detection for touch sensitive device
US8456443B2 (en) 2009-07-24 2013-06-04 Synaptics Incorporated Single-layer touch sensors
US20110018829A1 (en) * 2009-07-24 2011-01-27 Cypress Semiconductor Corporation Mutual capacitance sensing array
US9753597B2 (en) 2009-07-24 2017-09-05 Cypress Semiconductor Corporation Mutual capacitance sensing array
US8723827B2 (en) 2009-07-28 2014-05-13 Cypress Semiconductor Corporation Predictive touch surface scanning
JP4633184B1 (en) * 2009-07-29 2011-02-23 京セラ株式会社 Input device and control method of input device
JP4633183B1 (en) * 2009-07-29 2011-02-23 京セラ株式会社 Input device and control method of input device
CN201477551U (en) * 2009-07-30 2010-05-19 比亚迪股份有限公司 Touch control panel of double-layer printed circuit board structure
TWI484380B (en) * 2009-07-31 2015-05-11 Mstar Semiconductor Inc Determinative method and device of touch point movement
GB0913734D0 (en) * 2009-08-06 2009-09-16 Binstead Ronald P Masked touch sensors
FR2949007B1 (en) 2009-08-07 2012-06-08 Nanotec Solution DEVICE AND METHOD FOR CONTROL INTERFACE SENSITIVE TO A MOVEMENT OF A BODY OR OBJECT AND CONTROL EQUIPMENT INCORPORATING THIS DEVICE.
US8654524B2 (en) 2009-08-17 2014-02-18 Apple Inc. Housing as an I/O device
US8441790B2 (en) 2009-08-17 2013-05-14 Apple Inc. Electronic device housing as acoustic input device
US8390481B2 (en) * 2009-08-17 2013-03-05 Apple Inc. Sensing capacitance changes of a housing of an electronic device
JP5371626B2 (en) * 2009-08-18 2013-12-18 キヤノン株式会社 Display control device, display control device control method, program, and storage medium
US8475872B2 (en) * 2009-08-19 2013-07-02 Apple Inc. Patterning of thin film layers
CN102713811B (en) 2009-08-21 2016-06-29 苹果公司 Method and apparatus for capacitance sensing
US8390582B2 (en) 2009-08-25 2013-03-05 Apple Inc. Integrated touch screen
JP5304544B2 (en) * 2009-08-28 2013-10-02 ソニー株式会社 Information processing apparatus, information processing method, and program
US20110055722A1 (en) * 2009-09-02 2011-03-03 Ludwig Lester F Data Visualization Environment with DataFlow Processing, Web, Collaboration, Advanced User Interfaces, and Spreadsheet Visualization
US20110066933A1 (en) 2009-09-02 2011-03-17 Ludwig Lester F Value-driven visualization primitives for spreadsheets, tabular data, and advanced spreadsheet visualization
KR101082294B1 (en) * 2009-09-04 2011-11-09 삼성모바일디스플레이주식회사 flat panel display integrated touch screen panel
JP5278259B2 (en) 2009-09-07 2013-09-04 ソニー株式会社 Input device, input method, and program
US8970506B2 (en) 2009-09-11 2015-03-03 Apple Inc. Power management for touch controller
US9444453B2 (en) 2009-09-11 2016-09-13 Apple Inc. Measuring body capacitance effect in touch sensitive device
US9036650B2 (en) 2009-09-11 2015-05-19 Apple Inc. Automatic low noise frequency selection
US8664548B2 (en) * 2009-09-11 2014-03-04 Apple Inc. Touch controller with improved diagnostics calibration and communications support
US20110066973A1 (en) * 2009-09-11 2011-03-17 Apple Inc. Rendering System Log Data
US8363021B2 (en) * 2009-09-11 2013-01-29 Apple Inc. Method to compensate for the frequency dependence of sense signal preprocessing
US8031094B2 (en) 2009-09-11 2011-10-04 Apple Inc. Touch controller with improved analog front end
CN102023791A (en) * 2009-09-18 2011-04-20 比亚迪股份有限公司 Scrolling control method for touch control device
US8624933B2 (en) 2009-09-25 2014-01-07 Apple Inc. Device, method, and graphical user interface for scrolling a multi-section document
KR101674713B1 (en) * 2009-09-29 2016-11-09 레노보 이노베이션스 리미티드 (홍콩) Display device, control method and recording medium
US8749512B2 (en) 2009-09-30 2014-06-10 Apple Inc. Negative pixel compensation
US8982058B2 (en) * 2009-09-30 2015-03-17 Apple Inc. Touch screen border regions
JP5423297B2 (en) * 2009-09-30 2014-02-19 富士通株式会社 Input device, input processing program, and input control method
KR101113516B1 (en) * 2009-10-07 2012-02-29 삼성전기주식회사 Electrode pattern for touch screen, driver for touch screen and touch screen
US9753586B2 (en) * 2009-10-08 2017-09-05 3M Innovative Properties Company Multi-touch touch device with multiple drive frequencies and maximum likelihood estimation
JP5300684B2 (en) * 2009-10-27 2013-09-25 株式会社ジャパンディスプレイウェスト Capacitance input device, method of manufacturing capacitance input device, and electro-optical device with input function
US8730187B2 (en) * 2009-10-29 2014-05-20 Cypress Semiconductor Corporation Techniques for sorting data that represents touch positions on a sensing device
US20110102333A1 (en) * 2009-10-30 2011-05-05 Wayne Carl Westerman Detection of Gesture Orientation on Repositionable Touch Surface
TWI386713B (en) * 2009-11-02 2013-02-21 Au Optronics Corp Touch sensing panel
US8677284B2 (en) * 2009-11-04 2014-03-18 Alpine Electronics, Inc. Method and apparatus for controlling and displaying contents in a user interface
US8766933B2 (en) 2009-11-12 2014-07-01 Senseg Ltd. Tactile stimulation apparatus having a composite section comprising a semiconducting material
US20110109584A1 (en) * 2009-11-12 2011-05-12 Jukka Linjama Tactile stimulation apparatus having a composite section comprising a semiconducting material
US8773366B2 (en) * 2009-11-16 2014-07-08 3M Innovative Properties Company Touch sensitive device using threshold voltage signal
TWI407355B (en) * 2009-11-19 2013-09-01 Elan Microelectronics Corp Detection and Correction of Capacitive Touchpad
US8665227B2 (en) * 2009-11-19 2014-03-04 Motorola Mobility Llc Method and apparatus for replicating physical key function with soft keys in an electronic device
KR101635016B1 (en) * 2009-11-19 2016-06-30 엘지전자 주식회사 Mobile terminal and method for searching a map
US8432367B2 (en) * 2009-11-19 2013-04-30 Google Inc. Translating user interaction with a touch screen into input commands
US20110128237A1 (en) * 2009-12-02 2011-06-02 Rothkopf Fletcher R Thinned-Portion Substrates
US9081799B2 (en) 2009-12-04 2015-07-14 Google Inc. Using gestalt information to identify locations in printed information
US20110134050A1 (en) * 2009-12-07 2011-06-09 Harley Jonah A Fabrication of touch sensor panel using laser ablation
US9323784B2 (en) 2009-12-09 2016-04-26 Google Inc. Image search using text-based elements within the contents of images
US20110147973A1 (en) * 2009-12-17 2011-06-23 Kuo-Hua Sung Injection Molding of Touch Surface
US20110151202A1 (en) * 2009-12-18 2011-06-23 Feinstein Casey J Controllable Placement of Liquid Adhesive on Substrate
WO2011087817A1 (en) 2009-12-21 2011-07-21 Tactus Technology User interface system
WO2011087816A1 (en) 2009-12-21 2011-07-21 Tactus Technology User interface system
TWI416398B (en) * 2009-12-25 2013-11-21 Beijing Funate Innovation Tech Touch panel and display device
JP5717270B2 (en) * 2009-12-28 2015-05-13 任天堂株式会社 Information processing program, information processing apparatus, and information processing method
US20110163768A1 (en) * 2010-01-05 2011-07-07 Sain Infocom Touch screen device, capacitance measuring circuit thereof, and method of measuring capacitance
US8411066B2 (en) 2010-01-05 2013-04-02 3M Innovative Properties Company High speed noise tolerant multi-touch touch device and controller therefor
US9239623B2 (en) 2010-01-05 2016-01-19 Tactus Technology, Inc. Dynamic tactile interface
US9778685B2 (en) 2011-05-04 2017-10-03 Apple Inc. Housing for portable electronic device with reduced border region
US8456297B2 (en) * 2010-01-06 2013-06-04 Apple Inc. Device, method, and graphical user interface for tracking movement on a map
US20110162894A1 (en) * 2010-01-06 2011-07-07 Apple Inc. Stylus for touch sensing devices
US8786559B2 (en) * 2010-01-06 2014-07-22 Apple Inc. Device, method, and graphical user interface for manipulating tables using multi-contact gestures
US8862576B2 (en) * 2010-01-06 2014-10-14 Apple Inc. Device, method, and graphical user interface for mapping directions between search results
EP2642371A1 (en) 2010-01-14 2013-09-25 BrainLAB AG Controlling a surgical navigation system
US8803908B2 (en) * 2010-01-15 2014-08-12 Apple Inc. Digital image transitions
US8866347B2 (en) 2010-01-15 2014-10-21 Idex Asa Biometric image sensing
US8421890B2 (en) 2010-01-15 2013-04-16 Picofield Technologies, Inc. Electronic imager using an impedance sensor grid array and method of making
US8791792B2 (en) 2010-01-15 2014-07-29 Idex Asa Electronic imager using an impedance sensor grid array mounted on or about a switch and method of making
US10705794B2 (en) 2010-01-18 2020-07-07 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US10553209B2 (en) 2010-01-18 2020-02-04 Apple Inc. Systems and methods for hands-free notification summaries
US10679605B2 (en) 2010-01-18 2020-06-09 Apple Inc. Hands-free list-reading by intelligent automated assistant
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US8624878B2 (en) 2010-01-20 2014-01-07 Apple Inc. Piezo-based acoustic and capacitive detection
US8581879B2 (en) * 2010-01-21 2013-11-12 Apple Inc. Negative pixel compensation
CN101840293B (en) * 2010-01-21 2012-03-21 宸鸿科技(厦门)有限公司 Scanning method for projected capacitive touch panels
US8977584B2 (en) 2010-01-25 2015-03-10 Newvaluexchange Global Ai Llp Apparatuses, methods and systems for a digital conversation management platform
US8913009B2 (en) 2010-02-03 2014-12-16 Nintendo Co., Ltd. Spatially-correlated multi-display human-machine interface
EP2392389A4 (en) 2010-02-03 2014-10-15 Nintendo Co Ltd Game system, operating device, and game processing method
US8339364B2 (en) 2010-02-03 2012-12-25 Nintendo Co., Ltd. Spatially-correlated multi-display human-machine interface
US8814686B2 (en) 2010-02-03 2014-08-26 Nintendo Co., Ltd. Display device, game system, and game method
TWI409683B (en) * 2010-02-04 2013-09-21 Chunghwa Picture Tubes Ltd Touch panel sensing circuit
US8619035B2 (en) 2010-02-10 2013-12-31 Tactus Technology, Inc. Method for assisting user input to a device
US20110202934A1 (en) * 2010-02-12 2011-08-18 Ludwig Lester F Window manger input focus control for high dimensional touchpad (htpd), advanced mice, and other multidimensional user interfaces
US20110199328A1 (en) * 2010-02-18 2011-08-18 Flextronics Ap, Llc Touch screen system with acoustic and capacitive sensing
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
US10146427B2 (en) 2010-03-01 2018-12-04 Nri R&D Patent Licensing, Llc Curve-fitting approach to high definition touch pad (HDTP) parameter extraction
US20110225524A1 (en) * 2010-03-10 2011-09-15 Cifra Christopher G Multi-Touch Editing in a Graphical Programming Language
US8140570B2 (en) 2010-03-11 2012-03-20 Apple Inc. Automatic discovery of metadata
KR101001654B1 (en) * 2010-03-19 2010-12-15 주식회사 에임즈 Apparatus and method for driving a touch panel
US9285929B2 (en) 2010-03-30 2016-03-15 New Vision Display (Shenzhen) Co., Limited Touchscreen system with simplified mechanical touchscreen design using capacitance and acoustic sensing technologies, and method therefor
US10719131B2 (en) 2010-04-05 2020-07-21 Tactile Displays, Llc Interactive display with tactile feedback
US9542038B2 (en) 2010-04-07 2017-01-10 Apple Inc. Personalizing colors of user interfaces
TWI439960B (en) 2010-04-07 2014-06-01 Apple Inc Avatar editing environment
US9092125B2 (en) 2010-04-08 2015-07-28 Avaya Inc. Multi-mode touchscreen user interface for a multi-state touchscreen device
US9285909B2 (en) 2010-04-09 2016-03-15 Apple Inc. Equalizing parasitic capacitance effects in touch screens
US20200393907A1 (en) 2010-04-13 2020-12-17 Tactile Displays, Llc Interactive display with tactile feedback
US8154680B2 (en) 2010-04-15 2012-04-10 Apple Inc. Electronic device display structures with controlled chassis reflections
KR20130141344A (en) 2010-04-19 2013-12-26 택투스 테크놀로지, 아이엔씨. Method of actuating a tactile interface layer
US9391607B2 (en) * 2010-04-22 2016-07-12 Qualcomm Technologies, Inc. Use of random sampling technique to reduce finger-coupled noise
US8493356B2 (en) 2010-04-22 2013-07-23 Maxim Integrated Products, Inc. Noise cancellation technique for capacitive touchscreen controller using differential sensing
US8963845B2 (en) 2010-05-05 2015-02-24 Google Technology Holdings LLC Mobile device with temperature sensing capability and method of operating same
BR112012029489A8 (en) 2010-05-18 2017-12-05 Innovative Dealer Tech Inc METHOD AND SYSTEM FOR INTEGRATION OF ISOLATE COMPONENTS IN AN AUCTION
CN101853111B (en) * 2010-05-21 2012-05-30 福州锐达数码科技有限公司 Ultrasonic interactive electronic white board system
US8433759B2 (en) 2010-05-24 2013-04-30 Sony Computer Entertainment America Llc Direction-conscious information sharing
US8751056B2 (en) 2010-05-25 2014-06-10 Motorola Mobility Llc User computer device with temperature sensing capabilities and method of operating same
KR20130088040A (en) 2010-05-25 2013-08-07 쓰리엠 이노베이티브 프로퍼티즈 컴파니 High speed low power multi-touch touch device and controller therefor
US9103732B2 (en) 2010-05-25 2015-08-11 Google Technology Holdings LLC User computer device with temperature sensing capabilities and method of operating same
USRE49044E1 (en) 2010-06-01 2022-04-19 Apple Inc. Automatic avatar creation
US8692830B2 (en) 2010-06-01 2014-04-08 Apple Inc. Automatic avatar creation
TWI469021B (en) * 2010-06-02 2015-01-11 Tpk Touch Solutions Xiamen Inc Projection method of projection capacitive touch panel
US9213451B2 (en) 2010-06-04 2015-12-15 Apple Inc. Thin glass for touch panel sensors and methods therefor
US9542091B2 (en) 2010-06-04 2017-01-10 Apple Inc. Device, method, and graphical user interface for navigating through a user interface using a dynamic object selection indicator
US9164620B2 (en) 2010-06-07 2015-10-20 Apple Inc. Touch sensing error compensation
US9335870B2 (en) 2010-06-07 2016-05-10 Apple Inc. Touch-display crosstalk
CN102279678A (en) 2010-06-12 2011-12-14 宸鸿科技(厦门)有限公司 Touch circuit graphic structure, manufacturing method thereof, touch panel and touch display screen
US8552999B2 (en) 2010-06-14 2013-10-08 Apple Inc. Control selection approximation
US8279190B2 (en) * 2010-07-02 2012-10-02 Himax Technologies Limited Filter for removing DC signal and high frequency noise and method thereof for touch sensor
US9632344B2 (en) 2010-07-09 2017-04-25 Lester F. Ludwig Use of LED or OLED array to implement integrated combinations of touch screen tactile, touch gesture sensor, color image display, hand-image gesture sensor, document scanner, secure optical data exchange, and fingerprint processing capabilities
US9626023B2 (en) 2010-07-09 2017-04-18 Lester F. Ludwig LED/OLED array approach to integrated display, lensless-camera, and touch-screen user interface devices and associated processors
US8754862B2 (en) 2010-07-11 2014-06-17 Lester F. Ludwig Sequential classification recognition of gesture primitives and window-based parameter smoothing for high dimensional touchpad (HDTP) user interfaces
US8773370B2 (en) 2010-07-13 2014-07-08 Apple Inc. Table editing systems with gesture-based insertion and deletion of columns and rows
US20120019453A1 (en) 2010-07-26 2012-01-26 Wayne Carl Westerman Motion continuation of touch input
JP2012032852A (en) * 2010-07-28 2012-02-16 Sony Corp Information processor, information processing method and computer program
US8388852B2 (en) 2010-07-30 2013-03-05 Apple Inc. Method for fabricating touch sensor panels
US8875054B2 (en) 2010-07-30 2014-10-28 Apple Inc. Hybrid knob/slider control
US9652088B2 (en) 2010-07-30 2017-05-16 Apple Inc. Fabrication of touch sensor panel using laser ablation
US9950256B2 (en) 2010-08-05 2018-04-24 Nri R&D Patent Licensing, Llc High-dimensional touchpad game controller with multiple usage and networking modalities
US20120032894A1 (en) 2010-08-06 2012-02-09 Nima Parivar Intelligent management for an electronic device
US10268320B2 (en) 2010-08-06 2019-04-23 Apple Inc. Method for disambiguating multiple touches on a projection-scan touch sensor panel
JP6243586B2 (en) 2010-08-06 2017-12-06 任天堂株式会社 GAME SYSTEM, GAME DEVICE, GAME PROGRAM, AND GAME PROCESSING METHOD
US10189743B2 (en) 2010-08-18 2019-01-29 Apple Inc. Enhanced strengthening of glass
US10150033B2 (en) 2010-08-20 2018-12-11 Nintendo Co., Ltd. Position calculation system, position calculation device, storage medium storing position calculation program, and position calculation method
US8890854B2 (en) 2010-08-27 2014-11-18 Apple Inc. Touch sensor panel calibration
US20120050206A1 (en) * 2010-08-29 2012-03-01 David Welland Multi-touch resolve mutual capacitance sensor
JP5840386B2 (en) 2010-08-30 2016-01-06 任天堂株式会社 GAME SYSTEM, GAME DEVICE, GAME PROGRAM, AND GAME PROCESSING METHOD
JP5840385B2 (en) 2010-08-30 2016-01-06 任天堂株式会社 GAME SYSTEM, GAME DEVICE, GAME PROGRAM, AND GAME PROCESSING METHOD
US9710154B2 (en) 2010-09-03 2017-07-18 Microsoft Technology Licensing, Llc Dynamic gesture parameters
US8890817B2 (en) 2010-09-07 2014-11-18 Apple Inc. Centralized processing of touch information
US8823657B2 (en) 2010-09-07 2014-09-02 Apple Inc. Master/slave control of touch sensing
US9389724B2 (en) 2010-09-09 2016-07-12 3M Innovative Properties Company Touch sensitive device with stylus support
US9823785B2 (en) 2010-09-09 2017-11-21 3M Innovative Properties Company Touch sensitive device with stylus support
US10019119B2 (en) 2010-09-09 2018-07-10 3M Innovative Properties Company Touch sensitive device with stylus support
US8730204B2 (en) 2010-09-16 2014-05-20 Synaptics Incorporated Systems and methods for signaling and interference detection in sensor devices
US8824140B2 (en) 2010-09-17 2014-09-02 Apple Inc. Glass enclosure
CN101976147B (en) * 2010-09-30 2013-03-27 江苏惠通集团有限责任公司 Touch recognition method, touch key structure and touch device
US9323442B2 (en) 2010-09-30 2016-04-26 Apple Inc. Managing items in a user interface
US8950215B2 (en) 2010-10-06 2015-02-10 Apple Inc. Non-contact polishing techniques for reducing roughness on glass surfaces
KR101459982B1 (en) * 2010-10-08 2014-11-07 애플 인크. Finger sensing device including differential measurement circuitry and related methods
CN103154864B (en) * 2010-10-15 2015-12-16 株式会社村田制作所 Touch-type input device and control method thereof
US9491852B2 (en) 2010-10-15 2016-11-08 Apple Inc. Trace border routing
US10185446B2 (en) 2010-10-15 2019-01-22 Apple Inc. Touch sensor arrays with integrated inter-layer contacts
US8797282B2 (en) 2010-10-18 2014-08-05 Apple Inc. Touch sensor with secondary sensor and ground shield
US9013488B2 (en) 2010-10-19 2015-04-21 Apple Inc. Grouping items in a folder
US10740117B2 (en) 2010-10-19 2020-08-11 Apple Inc. Grouping windows into clusters in one or more workspaces in a user interface
US9542202B2 (en) 2010-10-19 2017-01-10 Apple Inc. Displaying and updating workspaces in a user interface
US9292196B2 (en) 2010-10-19 2016-03-22 Apple Inc. Modifying the presentation of clustered application windows in a user interface
US9658732B2 (en) 2010-10-19 2017-05-23 Apple Inc. Changing a virtual workspace based on user interaction with an application window in a user interface
WO2012054781A1 (en) 2010-10-20 2012-04-26 Tactus Technology User interface system and method
US20120102400A1 (en) * 2010-10-22 2012-04-26 Microsoft Corporation Touch Gesture Notification Dismissal Techniques
TWI433018B (en) * 2010-10-25 2014-04-01 Raydium Semiconductor Corp Control device for a touch panel
DE102010049962B4 (en) * 2010-10-28 2014-01-02 Austriamicrosystems Ag Sensor arrangement and method for operating a sensor arrangement
KR101178914B1 (en) * 2010-10-29 2012-09-03 삼성디스플레이 주식회사 flat panel display integrated touch screen panel
CN102455813B (en) * 2010-11-01 2013-12-11 瑞鼎科技股份有限公司 Control device of touch panel
KR101364826B1 (en) 2010-11-01 2014-02-20 닌텐도가부시키가이샤 Operating apparatus and operating system
US8603574B2 (en) 2010-11-05 2013-12-10 Apple Inc. Curved touch sensor
US8913040B2 (en) 2010-11-05 2014-12-16 Apple Inc. Downsampling data for crosstalk compensation
US8808483B2 (en) 2010-11-05 2014-08-19 Apple Inc. Method of making a curved touch panel
US20120113008A1 (en) * 2010-11-08 2012-05-10 Ville Makinen On-screen keyboard with haptic effects
JP5479414B2 (en) 2010-11-24 2014-04-23 キヤノン株式会社 Information processing apparatus and control method thereof
JP5968588B2 (en) * 2010-11-26 2016-08-10 京セラ株式会社 Electronics
CN102479009A (en) * 2010-11-29 2012-05-30 苏州华芯微电子股份有限公司 Method for updating background value of capacitance touch tablet
US9069452B2 (en) 2010-12-01 2015-06-30 Apple Inc. Morphing a user-interface control object
US9310923B2 (en) 2010-12-03 2016-04-12 Apple Inc. Input device for touch sensitive devices
US9851849B2 (en) 2010-12-03 2017-12-26 Apple Inc. Touch device communication
US8743062B2 (en) 2010-12-03 2014-06-03 Apple Inc. Noise reduction for touch controller
US8804056B2 (en) 2010-12-22 2014-08-12 Apple Inc. Integrated touch screens
US20120162121A1 (en) 2010-12-22 2012-06-28 Shih Chang Chang Slew rate and shunting control separation
US8593450B2 (en) 2010-12-22 2013-11-26 Apple Inc. Relay driving of conductive segments in displays
US9092082B2 (en) 2010-12-22 2015-07-28 Synaptics Incorporated Methods and apparatus for mounting a touch sensor device
US20120161791A1 (en) * 2010-12-28 2012-06-28 Synaptics Incorporated Methods and apparatus for determining input objects associated with proximity events
TWI427514B (en) * 2011-01-07 2014-02-21 Raydium Semiconductor Corp Control device for touch panel and signal processing method thereof
US9501217B2 (en) 2011-01-14 2016-11-22 Apple Inc. Target region for removing icons from dock
US9310916B2 (en) 2011-01-14 2016-04-12 Apple Inc. Display to touch crosstalk compensation
TWI453633B (en) * 2011-01-17 2014-09-21 Raydium Semiconductor Corp Control device for a touch panel
TW201232349A (en) * 2011-01-21 2012-08-01 Novatek Microelectronics Corp Single finger gesture determination method, touch control chip, touch control system and computer system
CN102622116A (en) * 2011-01-30 2012-08-01 联咏科技股份有限公司 Single-finger gesture judgment method, touch control sensing control chip and touch control system
FR2971066B1 (en) 2011-01-31 2013-08-23 Nanotec Solution THREE-DIMENSIONAL MAN-MACHINE INTERFACE.
TW201234223A (en) * 2011-02-01 2012-08-16 Novatek Microelectronics Corp Moving point gesture determination method, touch control chip, touch control system and computer system
US8847919B2 (en) 2011-02-02 2014-09-30 Apple Inc. Interactive holographic display device
US8711113B2 (en) * 2011-02-07 2014-04-29 3M Innovative Properties Company Modular connector for touch sensitive device
JP5797973B2 (en) * 2011-02-08 2015-10-21 ローム株式会社 CAPACITANCE / VOLTAGE CONVERSION CIRCUIT, INPUT DEVICE USING SAME, ELECTRONIC DEVICE, AND CAPACITANCE / VOLTAGE CONVERSION METHOD
US20120204577A1 (en) 2011-02-16 2012-08-16 Ludwig Lester F Flexible modular hierarchical adaptively controlled electronic-system cooling and energy harvesting for IC chip packaging, printed circuit boards, subsystems, cages, racks, IT rooms, and data centers using quantum and classical thermoelectric materials
US10152192B2 (en) 2011-02-21 2018-12-11 Apple Inc. Scaling application windows in one or more workspaces in a user interface
US8716932B2 (en) 2011-02-28 2014-05-06 Apple Inc. Displays with minimized borders
WO2012118513A1 (en) 2011-03-03 2012-09-07 Apple Inc. Display screen shield line system
US8797288B2 (en) 2011-03-07 2014-08-05 Lester F. Ludwig Human user interfaces utilizing interruption of the execution of a first recognized gesture with the execution of a recognized second gesture
KR101803502B1 (en) * 2011-03-09 2017-12-01 삼성디스플레이 주식회사 Touch Screen Panel
US9725359B2 (en) 2011-03-16 2017-08-08 Apple Inc. Electronic device having selectively strengthened glass
US10781135B2 (en) 2011-03-16 2020-09-22 Apple Inc. Strengthening variable thickness glass
US8479110B2 (en) 2011-03-20 2013-07-02 William J. Johnson System and method for summoning user interface objects
US8816977B2 (en) 2011-03-21 2014-08-26 Apple Inc. Electronic devices with flexible displays
US9866660B2 (en) 2011-03-21 2018-01-09 Apple Inc. Electronic devices with concave displays
US9178970B2 (en) 2011-03-21 2015-11-03 Apple Inc. Electronic devices with convex displays
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
JP5757118B2 (en) 2011-03-23 2015-07-29 ソニー株式会社 Information processing apparatus, information processing method, and program
TWM410926U (en) * 2011-03-23 2011-09-01 Derlead Invest Ltd Projected capacitive touch control panel
KR101774315B1 (en) * 2011-03-28 2017-09-04 엘지전자 주식회사 Mobile terminal and method for controlling thereof
US8624837B1 (en) 2011-03-28 2014-01-07 Google Inc. Methods and apparatus related to a scratch pad region of a computing device
CN102736757A (en) * 2011-03-31 2012-10-17 比亚迪股份有限公司 Method and apparatus for touch control identification
US9268441B2 (en) 2011-04-05 2016-02-23 Parade Technologies, Ltd. Active integrator for a capacitive sense array
JP5689014B2 (en) 2011-04-07 2015-03-25 任天堂株式会社 Input system, information processing apparatus, information processing program, and three-dimensional position calculation method
US9298363B2 (en) 2011-04-11 2016-03-29 Apple Inc. Region activation for touch sensitive surface
KR101239103B1 (en) * 2011-04-19 2013-03-06 주식회사 동부하이텍 Touch screen controller using differential signal manipulation
TWI447635B (en) * 2011-04-29 2014-08-01 Shih Hua Technology Ltd Method for detecting touch trace based on resistive touch panel
TWI453649B (en) * 2011-05-02 2014-09-21 Shih Hua Technology Ltd Display device with touch panel
US9128666B2 (en) 2011-05-04 2015-09-08 Apple Inc. Housing for portable electronic device with reduced border region
US9319036B2 (en) 2011-05-20 2016-04-19 Apple Inc. Gate signal adjustment circuit
WO2012161705A1 (en) 2011-05-24 2012-11-29 Apple Inc. Pre-charging of sub-pixels
US8648845B2 (en) 2011-05-24 2014-02-11 Apple Inc. Writing data to sub-pixels using different write sequences
WO2012161699A1 (en) 2011-05-24 2012-11-29 Apple Inc. Additional application of voltage during a write sequence
US8786586B2 (en) 2011-05-24 2014-07-22 Apple Inc. Scanning orders in inversion schemes of displays
WO2012161698A1 (en) 2011-05-24 2012-11-29 Apple Inc. Changing display artifacts across frames
WO2012161701A1 (en) 2011-05-24 2012-11-29 Apple Inc. Application of voltage to data lines during vcom toggling
US8502842B2 (en) 2011-05-24 2013-08-06 Apple Inc. Offsetting multiple coupling effects in display screens
US8656315B2 (en) * 2011-05-27 2014-02-18 Google Inc. Moving a graphical selector
US8826190B2 (en) * 2011-05-27 2014-09-02 Google Inc. Moving a graphical selector
US8661339B2 (en) 2011-05-31 2014-02-25 Apple Inc. Devices, methods, and graphical user interfaces for document manipulation
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
US8928336B2 (en) 2011-06-09 2015-01-06 Ford Global Technologies, Llc Proximity switch having sensitivity control and method therefor
US8975903B2 (en) 2011-06-09 2015-03-10 Ford Global Technologies, Llc Proximity switch having learned sensitivity and method therefor
TWI450183B (en) * 2011-06-15 2014-08-21 Kye Systems Corp Track input device and scrolling control method thereof
CN102866794A (en) 2011-06-15 2013-01-09 宸鸿光电科技股份有限公司 Touch control sensing layer and manufacturing method thereof
FR2976688B1 (en) 2011-06-16 2021-04-23 Nanotec Solution DEVICE AND METHOD FOR GENERATING AN ELECTRICAL POWER SUPPLY IN AN ELECTRONIC SYSTEM WITH A VARIABLE REFERENCE POTENTIAL.
US8958028B2 (en) 2011-06-17 2015-02-17 Apple Inc. Protective film patterning
US8711570B2 (en) 2011-06-21 2014-04-29 Apple Inc. Flexible circuit routing
US8638320B2 (en) 2011-06-22 2014-01-28 Apple Inc. Stylus orientation detection
US8928635B2 (en) 2011-06-22 2015-01-06 Apple Inc. Active stylus
US9329703B2 (en) 2011-06-22 2016-05-03 Apple Inc. Intelligent stylus
US8988628B2 (en) 2011-06-23 2015-03-24 Apple Inc. Coated chassis for liquid crystal display
US8743080B2 (en) 2011-06-27 2014-06-03 Synaptics Incorporated System and method for signaling in sensor devices
US8605873B2 (en) 2011-06-28 2013-12-10 Lifesize Communications, Inc. Accessing settings of a videoconference using touch-based gestures
US8605872B2 (en) 2011-06-28 2013-12-10 Lifesize Communications, Inc. Muting a videoconference using touch-based gestures
US9204094B2 (en) 2011-06-28 2015-12-01 Lifesize Communications, Inc. Adjusting volume of a videoconference using touch-based gestures
US8692799B1 (en) 2011-07-05 2014-04-08 Cypress Semiconductor Corporation Single layer multi-touch capacitive sensor
US8787016B2 (en) 2011-07-06 2014-07-22 Apple Inc. Flexible display devices
US9158455B2 (en) 2011-07-12 2015-10-13 Apple Inc. Multifunctional environment for image cropping
US20130018489A1 (en) * 2011-07-14 2013-01-17 Grunthaner Martin Paul Combined force and proximity sensing
US9400576B2 (en) 2011-07-19 2016-07-26 Apple Inc. Touch sensor arrangements for organic light-emitting diode displays
US8319746B1 (en) 2011-07-22 2012-11-27 Google Inc. Systems and methods for removing electrical noise from a touchpad signal
US8337216B1 (en) 2011-07-26 2012-12-25 Apple Inc. Touch sensor back plane ground connection
CN102902394A (en) * 2011-07-28 2013-01-30 宸鸿科技(厦门)有限公司 Touch panel and detecting method thereof
US8713482B2 (en) 2011-07-28 2014-04-29 National Instruments Corporation Gestures for presentation of different views of a system diagram
US8782525B2 (en) 2011-07-28 2014-07-15 National Insturments Corporation Displaying physical signal routing in a diagram of a system
US9047007B2 (en) 2011-07-28 2015-06-02 National Instruments Corporation Semantic zoom within a diagram of a system
US10004286B2 (en) 2011-08-08 2018-06-26 Ford Global Technologies, Llc Glove having conductive ink and method of interacting with proximity sensor
US9287865B2 (en) * 2011-08-10 2016-03-15 Atmel Corporation Capacitive touch sensor control unit with sampling capacitors for differential integration
US9052772B2 (en) 2011-08-10 2015-06-09 Lester F. Ludwig Heuristics for 3D and 6D touch gesture touch parameter calculations for high-dimensional touch parameter (HDTP) user interfaces
US8994660B2 (en) 2011-08-29 2015-03-31 Apple Inc. Text correction processing
US9244215B2 (en) 2011-09-09 2016-01-26 Apple Inc. Chassis for display backlight
US8804347B2 (en) 2011-09-09 2014-08-12 Apple Inc. Reducing the border area of a device
US9158143B2 (en) 2011-09-12 2015-10-13 Apple Inc. Dual purpose touch sensor panel and optical retarder
US20130063366A1 (en) * 2011-09-13 2013-03-14 Google Inc. User inputs of a touch-sensitive device
US8608896B2 (en) 2011-09-13 2013-12-17 Apple Inc. Liquid adhesive lamination for precision adhesive control
US9041652B2 (en) 2011-09-14 2015-05-26 Apple Inc. Fusion keyboard
US9454239B2 (en) 2011-09-14 2016-09-27 Apple Inc. Enabling touch events on a touch sensitive mechanical keyboard
US9785251B2 (en) 2011-09-14 2017-10-10 Apple Inc. Actuation lock for a touch sensitive mechanical keyboard
US8875652B2 (en) 2011-09-14 2014-11-04 Apple Inc. Liquid adhesive boundary control
US9944554B2 (en) 2011-09-15 2018-04-17 Apple Inc. Perforated mother sheet for partial edge chemical strengthening and method therefor
US9746967B2 (en) 2011-09-15 2017-08-29 Apple Inc. Concurrent touch and negative pixel scan
US9436315B2 (en) 2011-09-15 2016-09-06 Apple Inc. Noise rejection circuit for touch sensitive display
US9507454B1 (en) * 2011-09-19 2016-11-29 Parade Technologies, Ltd. Enhanced linearity of gestures on a touch-sensitive surface
US9143126B2 (en) 2011-09-22 2015-09-22 Ford Global Technologies, Llc Proximity switch having lockout control for controlling movable panel
US9268427B2 (en) 2011-09-23 2016-02-23 Apple Inc. Multi-mode voltages for touchscreens
US9760195B2 (en) 2011-09-23 2017-09-12 Apple Inc. Power management for integrated touch screens
US8988384B2 (en) 2011-09-23 2015-03-24 Apple Inc. Force sensor interface for touch controller
US8723824B2 (en) 2011-09-27 2014-05-13 Apple Inc. Electronic devices with sidewall displays
US9516149B2 (en) 2011-09-29 2016-12-06 Apple Inc. Multi-layer transparent structures for electronic device housings
US10245776B2 (en) 2011-09-30 2019-04-02 Apple Inc. Methods for forming electronic devices with bent display edges
US10088863B2 (en) 2011-09-30 2018-10-02 Apple Inc. Electronic devices with cover layers mounted to displays
US9098242B2 (en) 2011-09-30 2015-08-04 Apple Inc. Electronic devices with cover layers mounted to displays
US8929085B2 (en) 2011-09-30 2015-01-06 Apple Inc. Flexible electronic devices
US10261370B2 (en) 2011-10-05 2019-04-16 Apple Inc. Displays with minimized border regions having an apertured TFT layer for signal conductors
US9099010B2 (en) 2011-10-14 2015-08-04 Apple Inc. Content authoring application
US9259904B2 (en) 2011-10-20 2016-02-16 Apple Inc. Opaque thin film passivation
US9042132B2 (en) 2011-10-25 2015-05-26 Apple Inc. Noise suppression circuit for power adapter
US9286826B2 (en) 2011-10-28 2016-03-15 Apple Inc. Display with vias for concealed printed circuit and component attachment
US20130106779A1 (en) * 2011-10-31 2013-05-02 Analog Devices, Inc. Noise compensation techniques for capacitive touch screen systems
US10112556B2 (en) 2011-11-03 2018-10-30 Ford Global Technologies, Llc Proximity switch having wrong touch adaptive learning and method
US8994228B2 (en) 2011-11-03 2015-03-31 Ford Global Technologies, Llc Proximity switch having wrong touch feedback
US8878438B2 (en) 2011-11-04 2014-11-04 Ford Global Technologies, Llc Lamp and proximity switch assembly and method
US9582178B2 (en) 2011-11-07 2017-02-28 Immersion Corporation Systems and methods for multi-pressure interaction on touch-sensitive surfaces
TWI597626B (en) * 2011-11-08 2017-09-01 威盛電子股份有限公司 Control device of touch panel, method for determining single-point-multiple-finger gesture and touch pen for generating single-point-multiple-finger gesture
US10082950B2 (en) * 2011-11-09 2018-09-25 Joseph T. LAPP Finger-mapped character entry systems
US9213482B2 (en) * 2011-11-11 2015-12-15 Elan Microelectronics Corporation Touch control device and method
US9079384B2 (en) 2011-11-11 2015-07-14 Apple Inc. Touch sensor panel having an index matching passivation layer
US9182833B2 (en) * 2011-11-14 2015-11-10 Logitech Europe S.A. Control system for multi-zone input device
US10144669B2 (en) 2011-11-21 2018-12-04 Apple Inc. Self-optimizing chemical strengthening bath for glass
US9372593B2 (en) 2011-11-29 2016-06-21 Apple Inc. Using a three-dimensional model to render a cursor
US9324183B2 (en) 2011-11-29 2016-04-26 Apple Inc. Dynamic graphical interface shadows
KR101369431B1 (en) * 2011-11-30 2014-03-06 주식회사 팬택 touch panel, apparatus for sensing touch including touch panel and method for sensing touch
US9823781B2 (en) 2011-12-06 2017-11-21 Nri R&D Patent Licensing, Llc Heterogeneous tactile sensing via multiple sensor types
US9195331B2 (en) 2011-12-06 2015-11-24 Apple Inc. Common electrode connections in integrated touch screens
US10430066B2 (en) 2011-12-06 2019-10-01 Nri R&D Patent Licensing, Llc Gesteme (gesture primitive) recognition for advanced touch user interfaces
US8581870B2 (en) 2011-12-06 2013-11-12 Apple Inc. Touch-sensitive button with two levels
US9462033B2 (en) 2011-12-07 2016-10-04 Apple Inc. Proofing electronic publications on portable devices
CN103164060A (en) * 2011-12-14 2013-06-19 华硕电脑股份有限公司 Electronic device and touch method thereof
US9542366B2 (en) 2011-12-20 2017-01-10 Apple Inc. Smart text in document chat
US20130159849A1 (en) 2011-12-20 2013-06-20 Keng Fai Lee Jump to Collaborator Cursor
US9230356B2 (en) 2011-12-20 2016-01-05 Apple Inc. Document collaboration effects
FR2985048B1 (en) 2011-12-21 2014-08-15 Nanotec Solution PRESSURE-SENSITIVE CAPACITIVE MEASUREMENT DEVICE AND METHOD FOR TOUCH-FREE CONTACT INTERFACES
US9361942B2 (en) 2011-12-22 2016-06-07 Apple Inc. Playlist configuration and preview
US8766949B2 (en) 2011-12-22 2014-07-01 Synaptics Incorporated Systems and methods for determining user input using simultaneous transmission from multiple electrodes
FR2985049B1 (en) 2011-12-22 2014-01-31 Nanotec Solution CAPACITIVE MEASURING DEVICE WITH SWITCHED ELECTRODES FOR TOUCHLESS CONTACTLESS INTERFACES
US8684613B2 (en) 2012-01-10 2014-04-01 Apple Inc. Integrated camera window
US10133156B2 (en) 2012-01-10 2018-11-20 Apple Inc. Fused opaque and clear glass for camera or display window
JP5789528B2 (en) * 2012-01-19 2015-10-07 株式会社ジャパンディスプレイ Display device
US8773848B2 (en) 2012-01-25 2014-07-08 Apple Inc. Fused glass device housings
US8525955B2 (en) 2012-01-31 2013-09-03 Multek Display (Hong Kong) Limited Heater for liquid crystal display
US9083344B2 (en) 2012-02-01 2015-07-14 Apple Inc. Touch sensor with integrated signal bus extensions
US9395869B2 (en) 2012-02-02 2016-07-19 Apple Inc. Global z-order for windows
EP2624116B1 (en) 2012-02-03 2017-09-06 EchoStar Technologies L.L.C. Display zoom controlled by proximity detection
EP2816448B1 (en) * 2012-02-14 2018-05-09 NEC Corporation Information processing device
US8810537B2 (en) 2012-02-15 2014-08-19 Apple Inc. Quadrature demodulation for touch sensitive devices
TWI467432B (en) * 2012-02-17 2015-01-01 E Ink Holdings Inc Touch sensing module
US9013425B2 (en) 2012-02-23 2015-04-21 Cypress Semiconductor Corporation Method and apparatus for data transmission via capacitance sensing device
US9081442B2 (en) 2012-02-27 2015-07-14 Apple Inc. Split sense lines for negative pixel compensation
US9316677B2 (en) 2012-02-29 2016-04-19 Apple Inc. Devices and methods for testing flex cable shielding
CN103298255B (en) * 2012-03-05 2015-11-25 联想(北京)有限公司 A kind of circuit board and electronic equipment
US9911550B2 (en) 2012-03-05 2018-03-06 Apple Inc. Touch sensitive device with multiple ablation fluence values
US9459738B2 (en) 2012-03-06 2016-10-04 Apple Inc. Calibration for pressure effects on touch sensor panels
FR2988175B1 (en) 2012-03-13 2014-04-11 Nanotec Solution METHOD FOR CAPACITIVE MEASUREMENT BY NON-REGULAR ELECTRODES, AND APPARATUS IMPLEMENTING SAID METHOD
FR2988176B1 (en) 2012-03-13 2014-11-21 Nanotec Solution CAPACITIVE MEASUREMENT METHOD BETWEEN AN OBJECT AND AN ELECTRODE PLAN BY PARTIAL SYNCHRONOUS DEMODULATION
US20130241865A1 (en) * 2012-03-19 2013-09-19 Cheng Uei Precision Industry Co., Ltd. Touch display device and method for determining touch position thereof
US20130279769A1 (en) 2012-04-10 2013-10-24 Picofield Technologies Inc. Biometric Sensing
US9944237B2 (en) 2012-04-11 2018-04-17 Ford Global Technologies, Llc Proximity switch assembly with signal drift rejection and method
US9531379B2 (en) 2012-04-11 2016-12-27 Ford Global Technologies, Llc Proximity switch assembly having groove between adjacent proximity sensors
US8933708B2 (en) 2012-04-11 2015-01-13 Ford Global Technologies, Llc Proximity switch assembly and activation method with exploration mode
US9568527B2 (en) 2012-04-11 2017-02-14 Ford Global Technologies, Llc Proximity switch assembly and activation method having virtual button mode
US9520875B2 (en) 2012-04-11 2016-12-13 Ford Global Technologies, Llc Pliable proximity switch assembly and activation method
US9219472B2 (en) 2012-04-11 2015-12-22 Ford Global Technologies, Llc Proximity switch assembly and activation method using rate monitoring
US9831870B2 (en) 2012-04-11 2017-11-28 Ford Global Technologies, Llc Proximity switch assembly and method of tuning same
US9065447B2 (en) 2012-04-11 2015-06-23 Ford Global Technologies, Llc Proximity switch assembly and method having adaptive time delay
US9184745B2 (en) 2012-04-11 2015-11-10 Ford Global Technologies, Llc Proximity switch assembly and method of sensing user input based on signal rate of change
US9660644B2 (en) 2012-04-11 2017-05-23 Ford Global Technologies, Llc Proximity switch assembly and activation method
US9287864B2 (en) 2012-04-11 2016-03-15 Ford Global Technologies, Llc Proximity switch assembly and calibration method therefor
US9559688B2 (en) 2012-04-11 2017-01-31 Ford Global Technologies, Llc Proximity switch assembly having pliable surface and depression
US9197206B2 (en) 2012-04-11 2015-11-24 Ford Global Technologies, Llc Proximity switch having differential contact surface
KR101389086B1 (en) 2012-04-12 2014-04-25 티피케이 터치 솔루션즈 (씨아먼) 인코포레이티드 Conductor pattern structure of capacitive touch panel
US9329723B2 (en) 2012-04-16 2016-05-03 Apple Inc. Reconstruction of original touch image from differential touch image
US8724304B2 (en) 2012-04-20 2014-05-13 Apple Inc. Electronic devices with flexible displays having fastened bent edges
JP5610644B2 (en) * 2012-04-27 2014-10-22 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America Input device, input support method, and program
US9086768B2 (en) 2012-04-30 2015-07-21 Apple Inc. Mitigation of parasitic capacitance
US8913021B2 (en) 2012-04-30 2014-12-16 Apple Inc. Capacitance touch near-field—far field switching
US9201547B2 (en) 2012-04-30 2015-12-01 Apple Inc. Wide dynamic range capacitive sensing
US9280610B2 (en) 2012-05-14 2016-03-08 Apple Inc. Crowd sourcing information to fulfill user requests
US10051104B2 (en) 2012-05-14 2018-08-14 Apple Inc. Delivery/read receipts for electronic messaging
US9136840B2 (en) 2012-05-17 2015-09-15 Ford Global Technologies, Llc Proximity switch assembly having dynamic tuned threshold
US8981602B2 (en) 2012-05-29 2015-03-17 Ford Global Technologies, Llc Proximity switch assembly having non-switch contact and method
US9337832B2 (en) 2012-06-06 2016-05-10 Ford Global Technologies, Llc Proximity switch and method of adjusting sensitivity therefor
US9395583B2 (en) 2012-06-06 2016-07-19 Apple Inc. Column spacer design for a display incorporating a third metal layer
US10296581B2 (en) 2012-06-06 2019-05-21 Apple Inc. Multi-word autocorrection
US9348607B2 (en) 2012-06-07 2016-05-24 Apple Inc. Quiet hours for notifications
US10354004B2 (en) 2012-06-07 2019-07-16 Apple Inc. Intelligent presentation of documents
US11073959B2 (en) 2012-06-08 2021-07-27 Apple Inc. Simulating physical materials and light interaction in a user interface of a resource-constrained device
US9330606B2 (en) 2012-06-08 2016-05-03 Apple Inc. Electronic device with display brightness control
US9721563B2 (en) 2012-06-08 2017-08-01 Apple Inc. Name recognition system
US9164606B2 (en) 2012-06-08 2015-10-20 Apple Inc. Dynamic voltage generation for touch-enabled displays
US9459160B2 (en) 2012-06-13 2016-10-04 Microsoft Technology Licensing, Llc Input device sensor configuration
USD705787S1 (en) 2012-06-13 2014-05-27 Microsoft Corporation Display screen with animated graphical user interface
US9684382B2 (en) 2012-06-13 2017-06-20 Microsoft Technology Licensing, Llc Input device configuration having capacitive and pressure sensors
US9063608B2 (en) 2012-06-14 2015-06-23 Synaptics Incorporated Systems and methods for sensor devices having a non-commensurate number of transmitter electrodes
WO2013192539A1 (en) 2012-06-21 2013-12-27 Nextinput, Inc. Wafer level mems force dies
US9226347B2 (en) 2012-06-25 2015-12-29 Apple Inc. Displays with vias
US9641172B2 (en) 2012-06-27 2017-05-02 Ford Global Technologies, Llc Proximity switch assembly having varying size electrode fingers
US9495129B2 (en) 2012-06-29 2016-11-15 Apple Inc. Device, method, and user interface for voice-activated navigation and browsing of a document
JP2014010777A (en) 2012-07-02 2014-01-20 Fujitsu Ltd Display program, display method, and information processing device
EP2870445A1 (en) 2012-07-05 2015-05-13 Ian Campbell Microelectromechanical load sensor and methods of manufacturing the same
US20150185909A1 (en) * 2012-07-06 2015-07-02 Freescale Semiconductor, Inc. Method of sensing a user input to a capacitive touch sensor, a capacitive touch sensor controller, an input device and an apparatus
US9443672B2 (en) 2012-07-09 2016-09-13 Apple Inc. Patterned conductive traces in molded elastomere substrate
US8842088B2 (en) 2012-07-27 2014-09-23 Apple Inc. Touch gesture with visible point of interaction on a touch screen
US9652090B2 (en) 2012-07-27 2017-05-16 Apple Inc. Device for digital communication through capacitive coupling
US9557845B2 (en) 2012-07-27 2017-01-31 Apple Inc. Input device for and method of communication with capacitive devices through frequency variation
US9176604B2 (en) 2012-07-27 2015-11-03 Apple Inc. Stylus device
US10062334B2 (en) 2012-07-31 2018-08-28 Apple Inc. Backlight dimming control for a display utilizing quantum dots
US8994906B2 (en) 2012-08-13 2015-03-31 Apple Inc. Display with multilayer and embedded signal lines
US9110320B2 (en) 2012-08-14 2015-08-18 Apple Inc. Display with bent inactive edge regions
US9563304B2 (en) * 2012-08-15 2017-02-07 Atmel Corporation Active stylus with passive mutual measurements
US9214507B2 (en) 2012-08-17 2015-12-15 Apple Inc. Narrow border organic light-emitting diode display
US9195108B2 (en) 2012-08-21 2015-11-24 Apple Inc. Displays with bent signal lines
US9250783B2 (en) 2012-08-21 2016-02-02 Apple Inc. Toggle gesture during drag gesture
US10222975B2 (en) 2012-08-27 2019-03-05 Apple Inc. Single contact scaling gesture
US9454025B2 (en) 2012-08-31 2016-09-27 Apple Inc. Displays with reduced driver circuit ledges
TWI509560B (en) * 2012-08-31 2015-11-21 Egalax Empia Technology Inc Method and device for image segmentation
US9035932B2 (en) 2012-08-31 2015-05-19 Apple Inc. Thermally compensated pixels for liquid crystal displays (LCDS)
US9189064B2 (en) 2012-09-05 2015-11-17 Apple Inc. Delay of display event based on user gaze
US9506750B2 (en) 2012-09-07 2016-11-29 Apple Inc. Imaging range finding device and method
US9128674B2 (en) 2012-09-07 2015-09-08 Apple Inc. Thermal press and ultraviolet curing for display assemblies
US9236202B2 (en) 2012-09-10 2016-01-12 Apple Inc. Corrosion mitigation for metal traces
US9075481B2 (en) 2012-09-10 2015-07-07 Apple Inc. ESD detection on a touch input device
US9733331B2 (en) 2012-09-10 2017-08-15 Apple Inc. Method of manufacturing touch sensors
US8922340B2 (en) 2012-09-11 2014-12-30 Ford Global Technologies, Llc Proximity switch based door latch release
US9568999B2 (en) * 2012-09-12 2017-02-14 Samsung Display Co., Ltd. Method for representing a tactile image and touch screen apparatus for performing the method
US9329731B2 (en) 2012-09-12 2016-05-03 Synaptics Incorporated Routing trace compensation
US9946302B2 (en) 2012-09-19 2018-04-17 Apple Inc. Exposed glass article with inner recessed area for portable electronic device housing
US9547647B2 (en) 2012-09-19 2017-01-17 Apple Inc. Voice-based media searching
US9377907B2 (en) 2012-09-21 2016-06-28 Apple Inc. Self capacitance implementation method
CN104662497A (en) 2012-09-24 2015-05-27 泰克图斯科技公司 Dynamic tactile interface and methods
US9405417B2 (en) 2012-09-24 2016-08-02 Tactus Technology, Inc. Dynamic tactile interface and methods
US8656296B1 (en) 2012-09-27 2014-02-18 Google Inc. Selection of characters in a string of characters
US9557846B2 (en) 2012-10-04 2017-01-31 Corning Incorporated Pressure-sensing touch system utilizing optical and capacitive systems
US9442597B2 (en) 2012-10-19 2016-09-13 Apple Inc. Sensor-based ESD detection
US9804777B1 (en) 2012-10-23 2017-10-31 Google Inc. Gesture-based text selection
US8796575B2 (en) 2012-10-31 2014-08-05 Ford Global Technologies, Llc Proximity switch assembly having ground layer
CN102929433A (en) * 2012-11-06 2013-02-13 山东大学 Method for reducing dragging delay on embedded device through contact prediction
TWI507952B (en) * 2012-11-08 2015-11-11 Mstar Semiconductor Inc Touch control system and capacitance detecting apparatus thereof
US9601557B2 (en) 2012-11-16 2017-03-21 Apple Inc. Flexible display
US9591339B1 (en) 2012-11-27 2017-03-07 Apple Inc. Agnostic media delivery system
US10067575B2 (en) 2012-11-30 2018-09-04 Apple Inc. Noise correction for stylus applications on tablets and other touch devices
US10735106B2 (en) 2012-12-10 2020-08-04 Apple Inc. Mobile device with ultrasound ranging
US9457379B2 (en) 2012-12-10 2016-10-04 Apple Inc. Ultrasonic MEMS transmitter
US9774917B1 (en) 2012-12-10 2017-09-26 Apple Inc. Channel bar user interface
US10707971B2 (en) 2012-12-10 2020-07-07 Apple Inc. Ultrasound ranging for mobile devices
US10200761B1 (en) 2012-12-13 2019-02-05 Apple Inc. TV side bar user interface
US20140168141A1 (en) 2012-12-18 2014-06-19 Logitech Europe S.A. Method and system for discriminating stylus and touch interactions
US9532111B1 (en) 2012-12-18 2016-12-27 Apple Inc. Devices and method for providing remote control hints on a display
US9158393B2 (en) 2012-12-18 2015-10-13 Logitech Europe S.A. Active stylus for touch sensing applications
US9239422B2 (en) 2012-12-20 2016-01-19 Apple Inc. Light guide plate with blunt edges
EP2749996B1 (en) * 2012-12-28 2018-05-30 Sony Mobile Communications Inc. Electronic device and method for improving accuracy of location determination of a user input on a touch panel
US10521188B1 (en) 2012-12-31 2019-12-31 Apple Inc. Multi-user TV user interface
US9146617B2 (en) 2013-01-25 2015-09-29 Apple Inc. Activation of a screen reading program
US9792013B2 (en) 2013-01-25 2017-10-17 Apple Inc. Interface scanning for disabled users
CN103970383B (en) * 2013-02-06 2016-12-28 上海东软载波微电子有限公司 Capacitive touch screen contact positioning method and terminal
US9336723B2 (en) 2013-02-13 2016-05-10 Apple Inc. In-cell touch for LED
FR3002052B1 (en) 2013-02-14 2016-12-09 Fogale Nanotech METHOD AND DEVICE FOR NAVIGATING A DISPLAY SCREEN AND APPARATUS COMPRISING SUCH A NAVIGATION
US10578499B2 (en) 2013-02-17 2020-03-03 Microsoft Technology Licensing, Llc Piezo-actuated virtual buttons for touch surfaces
CN104020863B (en) * 2013-02-28 2018-03-27 联想(北京)有限公司 A kind of data processing method and electronic equipment
US9494178B2 (en) 2013-03-01 2016-11-15 Apple Inc. Methods for bonding substrates using liquid adhesive
US10402000B2 (en) 2013-03-04 2019-09-03 Apple Inc. Display with integrated pressure sensing utilizing capacitive coupling to circuit elements
US9268435B2 (en) 2013-03-12 2016-02-23 Synaptics Incorporated Single layer capacitive sensor and capacitive sensing input device
US8890841B2 (en) 2013-03-13 2014-11-18 3M Innovative Properties Company Capacitive-based touch apparatus and method therefor, with reduced interference
US9311204B2 (en) 2013-03-13 2016-04-12 Ford Global Technologies, Llc Proximity interface development system having replicator and method
US10048775B2 (en) 2013-03-14 2018-08-14 Apple Inc. Stylus detection and demodulation
US10459546B2 (en) 2013-03-14 2019-10-29 Apple Inc. Channel aggregation for optimal stylus detection
US9811178B2 (en) 2013-03-14 2017-11-07 Apple Inc. Stylus signal detection and demodulation architecture
US10203815B2 (en) 2013-03-14 2019-02-12 Apple Inc. Application-based touch sensitivity
US9799316B1 (en) 2013-03-15 2017-10-24 Duane G. Owens Gesture pad and integrated transducer-processor unit for use with stringed instrument
US9357250B1 (en) 2013-03-15 2016-05-31 Apple Inc. Multi-screen video user interface
US9310931B2 (en) 2013-03-15 2016-04-12 Apple Inc. Dynamic cross-talk mitigation for integrated touch screens
US9310917B2 (en) 2013-03-15 2016-04-12 Apple Inc. Dynamic cross-talk mitigation for integrated touch screens
US9719797B2 (en) 2013-03-15 2017-08-01 Apple Inc. Voice and touch user interface
US20140298258A1 (en) * 2013-03-28 2014-10-02 Microsoft Corporation Switch List Interactions
FR3003964B1 (en) 2013-04-02 2016-08-26 Fogale Nanotech DEVICE FOR INTERACTING, WITHOUT CONTACT, AN ELECTRONIC AND / OR COMPUTER APPARATUS, AND APPARATUS PROVIDED WITH SUCH A DEVICE
JP5462386B2 (en) * 2013-04-05 2014-04-02 株式会社Nttドコモ Input terminal
US9209207B2 (en) 2013-04-09 2015-12-08 Apple Inc. Flexible display with bent edge regions
FR3004551A1 (en) 2013-04-15 2014-10-17 Fogale Nanotech MULTIZONE CAPACITIVE DETECTION METHOD, DEVICE AND APPARATUS USING THE METHOD
US9116572B2 (en) 2013-04-15 2015-08-25 Apple Inc. Disambiguation of touch input events on a touch sensor panel
KR101304891B1 (en) * 2013-04-25 2013-09-06 주식회사 아나패스 Capacitive touch sensitive panel and mobile terminal using the same
JP2014225245A (en) 2013-04-25 2014-12-04 パナソニックIpマネジメント株式会社 Traffic information presentation system, traffic information presentation method and electronic device
FR3005763B1 (en) 2013-05-17 2016-10-14 Fogale Nanotech DEVICE AND METHOD FOR A CAPACITIVE CONTROL INTERFACE ADAPTED TO THE IMPLEMENTATION OF ELECTRODES OF HIGHLY RESISTIVE MEASUREMENTS
JP5852050B2 (en) * 2013-05-27 2016-02-03 株式会社ジャパンディスプレイ Touch detection device, display device with touch detection function, and electronic device
US9535544B2 (en) 2013-05-31 2017-01-03 Apple Inc. Reducing touch pixel coupling
US9946366B2 (en) 2013-06-03 2018-04-17 Apple Inc. Display, touch, and stylus synchronization
JP6277538B2 (en) * 2013-06-03 2018-02-14 パナソニックIpマネジメント株式会社 Conductive sheet for touch panel
WO2014197334A2 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
US9477331B2 (en) 2013-06-07 2016-10-25 Apple Inc. Touch detection at bezel edge
WO2014197336A1 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
US9582608B2 (en) 2013-06-07 2017-02-28 Apple Inc. Unified ranking with entropy-weighted information for phrase-based semantic auto-completion
WO2014197335A1 (en) 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
US9733716B2 (en) 2013-06-09 2017-08-15 Apple Inc. Proxy gesture recognizer
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
WO2014200728A1 (en) 2013-06-09 2014-12-18 Apple Inc. Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant
US9459661B2 (en) 2013-06-19 2016-10-04 Apple Inc. Camouflaged openings in electronic device housings
US9557813B2 (en) 2013-06-28 2017-01-31 Tactus Technology, Inc. Method for reducing perceived optical distortion
US9489051B2 (en) 2013-07-01 2016-11-08 Blackberry Limited Display navigation using touch-less gestures
US9367137B2 (en) 2013-07-01 2016-06-14 Blackberry Limited Alarm operation by touch-less gesture
US9423913B2 (en) 2013-07-01 2016-08-23 Blackberry Limited Performance control of ambient light sensors
US9323336B2 (en) 2013-07-01 2016-04-26 Blackberry Limited Gesture detection using ambient light sensors
US9398221B2 (en) 2013-07-01 2016-07-19 Blackberry Limited Camera control using ambient light sensors
US9342671B2 (en) 2013-07-01 2016-05-17 Blackberry Limited Password by touch-less gesture
US9256290B2 (en) 2013-07-01 2016-02-09 Blackberry Limited Gesture detection using ambient light sensors
US8988390B1 (en) 2013-07-03 2015-03-24 Apple Inc. Frequency agile touch processing
US9405461B2 (en) 2013-07-09 2016-08-02 Blackberry Limited Operating a device using touchless and touchscreen gestures
FR3008809B1 (en) 2013-07-18 2017-07-07 Fogale Nanotech CUSTOM ACCESSORY DEVICE FOR AN ELECTRONIC AND / OR COMPUTER APPARATUS, AND APPARATUS EQUIPPED WITH SUCH AN ACCESSORY DEVICE
CN105378635B (en) * 2013-07-22 2019-08-02 惠普发展公司,有限责任合伙企业 Multizone touch tablet
US9465448B2 (en) 2013-07-24 2016-10-11 Blackberry Limited Backlight for touchless gesture detection
US9304596B2 (en) 2013-07-24 2016-04-05 Blackberry Limited Backlight for touchless gesture detection
US10061444B2 (en) 2013-07-31 2018-08-28 Apple Inc. Self capacitance touch sensing
US10845901B2 (en) 2013-07-31 2020-11-24 Apple Inc. Touch controller architecture
JP2015032276A (en) * 2013-08-06 2015-02-16 株式会社アスコ Instruction input device, instruction input detection method, program and recording medium
US10042504B2 (en) 2013-08-13 2018-08-07 Samsung Electronics Company, Ltd. Interaction sensing
US10042446B2 (en) 2013-08-13 2018-08-07 Samsung Electronics Company, Ltd. Interaction modes for object-device interactions
US9772704B2 (en) 2013-08-15 2017-09-26 Apple Inc. Display/touch temporal separation
US9886141B2 (en) 2013-08-16 2018-02-06 Apple Inc. Mutual and self capacitance touch measurements in touch panel
US10126850B2 (en) 2013-08-16 2018-11-13 Apple Inc. Active integrated touch/display
WO2015030712A1 (en) 2013-08-26 2015-03-05 Bodhi Technology Ventures Llc Method of detecting the wearing limb of a wearable electronic device
WO2015030869A1 (en) 2013-08-28 2015-03-05 Bodhi Technology Ventures Llc Sensor for detecting presence of material
US11221697B2 (en) 2013-08-28 2022-01-11 Apple Inc. Capacitive touch panel for sensing mechanical inputs to a device
EP3025486A1 (en) 2013-08-29 2016-06-01 Apple Inc. Multi-device wireless disable and enable
TWI497374B (en) * 2013-09-04 2015-08-21 Ili Technology Corp Baseline calibration for touch panel and system thereof
US9194741B2 (en) 2013-09-06 2015-11-24 Blackberry Limited Device having light intensity measurement in presence of shadows
US9304641B2 (en) 2013-09-18 2016-04-05 Apple Inc. Multiple bridges single sided touch sensor
US9990087B2 (en) 2013-09-28 2018-06-05 Apple Inc. Compensation for nonlinear variation of gap capacitance with displacement
WO2015050544A1 (en) 2013-10-02 2015-04-09 Bodhi Technology Ventures Llc Cloud phone notifications
US10042486B1 (en) 2013-10-18 2018-08-07 Apple Inc. Dynamic demodulation waveform adjustment for tonal noise mitigation
US9678609B2 (en) 2013-10-21 2017-06-13 Apple Inc. Orthogonal frequency scan scheme in touch system
US9690432B2 (en) 2013-10-21 2017-06-27 Apple Inc. Touch receiving channel re-use scheme with receiver signal coding
CN105593925B (en) * 2013-10-29 2018-02-09 发纮电机株式会社 Programable display and the storage medium for storing its program
US9292141B2 (en) 2013-10-30 2016-03-22 Apple Inc. Double sided touch sensor on transparent substrate
US10043485B2 (en) 2013-11-01 2018-08-07 Apple Inc. Ambient light sensing through the human body
FR3013472B1 (en) 2013-11-19 2016-07-08 Fogale Nanotech COVERING ACCESSORY DEVICE FOR AN ELECTRONIC AND / OR COMPUTER PORTABLE APPARATUS, AND APPARATUS EQUIPPED WITH SUCH AN ACCESSORY DEVICE
US9933879B2 (en) 2013-11-25 2018-04-03 Apple Inc. Reconfigurable circuit topology for both self-capacitance and mutual capacitance sensing
US9304575B2 (en) 2013-11-26 2016-04-05 Apple Inc. Reducing touch sensor panel power consumption
JP6401220B2 (en) * 2013-12-04 2018-10-10 株式会社 ハイディープHiDeep Inc. Object operation control system and method based on touch
US9569027B2 (en) 2013-12-12 2017-02-14 Visteon Global Technologies, Inc. Implementing a hidden touch surface
US10691235B2 (en) 2013-12-13 2020-06-23 Apple Inc. On-cell touch architecture
CN116560524A (en) 2013-12-13 2023-08-08 苹果公司 Integrated touch and display architecture for self-capacitance touch sensor
US11298075B2 (en) 2013-12-19 2022-04-12 Apple Inc. Physiological monitoring method and system
WO2015094378A1 (en) 2013-12-20 2015-06-25 Apple Inc. Skin proximity and tilt effect sensor
WO2015102588A1 (en) 2013-12-30 2015-07-09 Apple Inc. User identification system based on plethysmography
US9448631B2 (en) 2013-12-31 2016-09-20 Microsoft Technology Licensing, Llc Input device haptics and pressure sensing
US9600172B2 (en) 2014-01-03 2017-03-21 Apple Inc. Pull down navigation mode
CN105934661B (en) 2014-01-13 2019-11-05 触控解决方案股份有限公司 Miniature reinforcing wafer-level MEMS force snesor
US10260983B2 (en) * 2014-01-20 2019-04-16 Lear Corporation Apparatus and method for diagnostics of a capacitive sensor with plausibility check
US10073569B2 (en) 2014-01-28 2018-09-11 Apple Inc. Integrated polarizer and conductive material
CN105164622B (en) * 2014-01-30 2018-06-15 京瓷办公信息系统株式会社 Touch-panel device and touch panel control method
US9356562B2 (en) 2014-01-30 2016-05-31 Apple Inc. Family of slew-enhanced operational transconductance amplifiers
US9971459B2 (en) 2014-01-31 2018-05-15 Apple Inc. Touch sensitive module with integrated sensor and artwork
US9430105B2 (en) 2014-02-07 2016-08-30 Apple Inc. Frequency independent offset cancellation scheme in touch receiver channel
FR3017723B1 (en) 2014-02-19 2017-07-21 Fogale Nanotech METHOD OF MAN-MACHINE INTERACTION BY COMBINING TOUCH-FREE AND CONTACTLESS CONTROLS
US9886062B2 (en) 2014-02-28 2018-02-06 Apple Inc. Exposed glass article with enhanced stiffness for portable electronic device housing
US10156940B2 (en) 2014-03-11 2018-12-18 Apple Inc. Panel mismatch compensation for touch enabled displays
US9913412B2 (en) 2014-03-18 2018-03-06 Apple Inc. Shielding structures for system-in-package assemblies in portable electronic devices
US9949359B2 (en) 2014-03-18 2018-04-17 Apple Inc. Multi-layer thin-film coatings for system-in-package assemblies in portable electronic devices
US9176633B2 (en) 2014-03-31 2015-11-03 Synaptics Incorporated Sensor device and method for estimating noise in a capacitive sensing device
JP6445777B2 (en) * 2014-04-15 2018-12-26 キヤノン株式会社 Information processing apparatus for managing objects and control method therefor
US10268295B2 (en) 2014-04-16 2019-04-23 Apple Inc. Structure for pixelated self-capacitance
US9836165B2 (en) 2014-05-16 2017-12-05 Apple Inc. Integrated silicon-OLED display and touch sensor panel
US9965108B2 (en) 2014-05-16 2018-05-08 Apple Inc. Simultaneous self- and mutual capacitance sensing
US10133382B2 (en) 2014-05-16 2018-11-20 Apple Inc. Structure for integrated touch screen
US9465456B2 (en) 2014-05-20 2016-10-11 Apple Inc. Reduce stylus tip wobble when coupled to capacitive sensor
US9778789B2 (en) 2014-05-21 2017-10-03 Apple Inc. Touch rejection
US9690417B2 (en) 2014-05-21 2017-06-27 Apple Inc. Glove touch detection
US9569045B2 (en) 2014-05-21 2017-02-14 Apple Inc. Stylus tilt and orientation estimation from touch sensor panel images
US10936120B2 (en) 2014-05-22 2021-03-02 Apple Inc. Panel bootstraping architectures for in-cell self-capacitance
US9367188B2 (en) 2014-05-23 2016-06-14 Apple Inc. RC matching in a touch screen
US10558302B2 (en) 2014-05-23 2020-02-11 Apple Inc. Coded integration of a self-capacitance array
WO2015183334A1 (en) 2014-05-28 2015-12-03 Pylemta Management Llc Narrow border touch screen
US9867575B2 (en) 2014-08-22 2018-01-16 Apple Inc. Heart rate path optimizer
US9451425B2 (en) 2014-05-30 2016-09-20 Apple Inc. Unified message delivery between portable electronic devices
US10078631B2 (en) 2014-05-30 2018-09-18 Apple Inc. Entropy-guided text prediction using combined word and character n-gram language models
US9851853B2 (en) 2014-05-30 2017-12-26 Apple Inc. Low power scan for device wake up and unlock
US9842101B2 (en) 2014-05-30 2017-12-12 Apple Inc. Predictive conversion of language input
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US9966065B2 (en) 2014-05-30 2018-05-08 Apple Inc. Multi-command single utterance input method
US10789642B2 (en) 2014-05-30 2020-09-29 Apple Inc. Family accounts for an online content storage sharing service
US10303295B2 (en) 2014-05-30 2019-05-28 Apple Inc. Modifying an on-screen keyboard based on asymmetric touch drift
US9760559B2 (en) 2014-05-30 2017-09-12 Apple Inc. Predictive text input
US9785630B2 (en) 2014-05-30 2017-10-10 Apple Inc. Text prediction using combined word N-gram and unigram language models
US10095345B2 (en) 2014-05-30 2018-10-09 Apple Inc. Low power scan for device wake up and unlock
US9898162B2 (en) 2014-05-30 2018-02-20 Apple Inc. Swiping functions for messaging applications
US9971500B2 (en) 2014-06-01 2018-05-15 Apple Inc. Displaying options, assigning notification, ignoring messages, and simultaneous user interface displays in a messaging application
US9766702B2 (en) 2014-06-19 2017-09-19 Apple Inc. User detection by a computing device
US9811204B2 (en) 2014-06-23 2017-11-07 Apple Inc. Time multiplexed touch detection and power charging
CN106462321A (en) 2014-06-24 2017-02-22 苹果公司 Application menu for video system
JP6496752B2 (en) 2014-06-24 2019-04-03 アップル インコーポレイテッドApple Inc. Input device and user interface interaction
CN111782129B (en) 2014-06-24 2023-12-08 苹果公司 Column interface for navigating in a user interface
AU2015280062A1 (en) 2014-06-24 2016-10-13 Apple Inc. Music now playing user interface
EP3525068A1 (en) 2014-06-24 2019-08-14 Apple Inc. Character recognition on a computing device
US9820373B2 (en) 2014-06-26 2017-11-14 Apple Inc. Thermal solutions for system-in-package assemblies in portable electronic devices
US10289251B2 (en) 2014-06-27 2019-05-14 Apple Inc. Reducing floating ground effects in pixelated self-capacitance touch screens
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US10659851B2 (en) 2014-06-30 2020-05-19 Apple Inc. Real-time digital assistant knowledge updates
US9280251B2 (en) 2014-07-11 2016-03-08 Apple Inc. Funneled touch sensor routing
US10372271B2 (en) 2014-07-18 2019-08-06 Apple Inc. Adjustment of touch sensing stimulation voltage levels based on touch performance
US9504620B2 (en) 2014-07-23 2016-11-29 American Sterilizer Company Method of controlling a pressurized mattress system for a support structure
US10743255B2 (en) 2014-07-25 2020-08-11 Apple Inc. Power optimization modes for communication between device and server
US10228751B2 (en) 2014-08-06 2019-03-12 Apple Inc. Low power mode
US10758133B2 (en) 2014-08-07 2020-09-01 Apple Inc. Motion artifact removal by time domain projection
US10444862B2 (en) 2014-08-22 2019-10-15 Synaptics Incorporated Low-profile capacitive pointing stick
US10201286B2 (en) 2014-08-22 2019-02-12 Apple Inc. Frequency domain projection algorithm
US9647489B2 (en) 2014-08-26 2017-05-09 Apple Inc. Brownout avoidance
US10092197B2 (en) 2014-08-27 2018-10-09 Apple Inc. Reflective surfaces for PPG signal detection
US10379694B2 (en) 2014-08-27 2019-08-13 Samsung Electronics Co., Ltd. Touch panel and coordinate measuring system having the same
US9661495B2 (en) 2014-09-02 2017-05-23 Apple Inc. Device activation method and system
US10042484B1 (en) 2014-09-02 2018-08-07 Apple Inc. Coupling correction in capacitive touch panels
US9880655B2 (en) 2014-09-02 2018-01-30 Apple Inc. Method of disambiguating water from a finger touch on a touch sensor panel
US10203803B2 (en) 2014-09-02 2019-02-12 Apple Inc. Touch scan modes during device charging
US10215698B2 (en) 2014-09-02 2019-02-26 Apple Inc. Multiple light paths architecture and obscuration methods for signal and perfusion index optimization
US20160065374A1 (en) 2014-09-02 2016-03-03 Apple Inc. Method of using one device to unlock another device
FR3025623B1 (en) 2014-09-05 2017-12-15 Fogale Nanotech CONTROL INTERFACE DEVICE AND FINGERPRINT SENSOR
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US10789041B2 (en) 2014-09-12 2020-09-29 Apple Inc. Dynamic thresholds for always listening speech trigger
CN106716328A (en) * 2014-09-16 2017-05-24 惠普发展公司,有限责任合伙企业 Generate touch input signature for discrete cursor movement
US10705658B2 (en) 2014-09-22 2020-07-07 Apple Inc. Ungrounded user signal compensation for pixelated self-capacitance touch sensor panel
WO2016048308A1 (en) 2014-09-24 2016-03-31 Fortulabs Technologies Llc Management of the channel bar
US9880649B2 (en) 2014-09-29 2018-01-30 Apple Inc. Touch, pen and force sensor operation with variable refresh displays
US10708391B1 (en) 2014-09-30 2020-07-07 Apple Inc. Delivery of apps in a media stream
US10405044B1 (en) 2014-09-30 2019-09-03 Apple Inc. Content notification system and method
US10114883B1 (en) 2014-09-30 2018-10-30 Apple Inc. Generating preferred metadata for content items
US9646609B2 (en) 2014-09-30 2017-05-09 Apple Inc. Caching apparatus for serving phonetic pronunciations
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US10488936B2 (en) 2014-09-30 2019-11-26 Apple Inc. Motion and gesture input from a wearable device
US9886432B2 (en) 2014-09-30 2018-02-06 Apple Inc. Parsimonious handling of word inflection via categorical stem + suffix N-gram language models
US9691270B1 (en) 2014-09-30 2017-06-27 Apple Inc. Automatically configuring a remote control for a device
US9773409B1 (en) 2014-09-30 2017-09-26 Apple Inc. Automatically configuring a remote control for a device
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US10001760B1 (en) 2014-09-30 2018-06-19 Hrl Laboratories, Llc Adaptive control system capable of recovering from unexpected situations
US10231033B1 (en) 2014-09-30 2019-03-12 Apple Inc. Synchronizing out-of-band content with a media stream
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
ES2826564T3 (en) * 2014-10-02 2021-05-18 HiAsset GmbH Control for lighting of buildings and other domestic technical installations
US9600112B2 (en) 2014-10-10 2017-03-21 Apple Inc. Signal trace patterns for flexible substrates
US10038443B2 (en) 2014-10-20 2018-07-31 Ford Global Technologies, Llc Directional proximity switch assembly
US10712867B2 (en) 2014-10-27 2020-07-14 Apple Inc. Pixelated self-capacitance water rejection
FR3028061B1 (en) 2014-10-29 2016-12-30 Fogale Nanotech CAPACITIVE SENSOR DEVICE COMPRISING ADJUSTED ELECTRODES
WO2016072983A1 (en) 2014-11-05 2016-05-12 Onamp Research Llc Common electrode driving and compensation for pixelated self-capacitance touch screen
US10552013B2 (en) 2014-12-02 2020-02-04 Apple Inc. Data detection
US10061450B2 (en) 2014-12-04 2018-08-28 Apple Inc. Coarse scan and targeted active mode scan for touch
TWI569177B (en) * 2014-12-15 2017-02-01 The touch control system is planned by the arithmetic processing unit
DE102014225796A1 (en) * 2014-12-15 2016-06-16 Bayerische Motoren Werke Aktiengesellschaft Method for controlling a vehicle system
US10718931B2 (en) 2014-12-23 2020-07-21 Apple Inc. Confocal inspection system having averaged illumination and averaged collection paths
EP3588061B1 (en) 2014-12-23 2023-04-19 Apple Inc. Optical inspection system and method including accounting for variations of optical path length within a sample
WO2016106350A1 (en) 2014-12-23 2016-06-30 Bribbla Dynamics Llc Confocal inspection system having non-overlapping annular illumination and collection regions
WO2016101160A1 (en) * 2014-12-24 2016-06-30 Intel Corporation User interface for liquid container
US9817502B2 (en) * 2014-12-29 2017-11-14 Synaptics Incorporated Switched-capacitor harmonic-reject mixer
SG11201705483YA (en) 2015-01-09 2017-08-30 Apple Inc Polarization selective, frequency selective, and wide dynamic range detectors, imaging arrays, readout integrated circuits, and sensor systems
JP2016133934A (en) * 2015-01-16 2016-07-25 シャープ株式会社 Information processing unit, control method for information processing unit, and control program
US10345962B2 (en) 2015-01-23 2019-07-09 Apple Inc. Touch panel with non-uniform touch node layout
US9817513B2 (en) 2015-01-27 2017-11-14 Apple Inc. Sense amplifier stabilization with switched series resistor
WO2016120518A1 (en) 2015-01-27 2016-08-04 Beddit Oy A system for determining the quality of sleep
US10054720B2 (en) 2015-02-02 2018-08-21 Apple Inc. Fresnel lens barrier rings
WO2016126525A1 (en) 2015-02-02 2016-08-11 Apple Inc. Flexible self-capacitance and mutual capacitance touch sensing system architecture
FR3032287B1 (en) 2015-02-04 2018-03-09 Quickstep Technologies Llc MULTILAYER CAPACITIVE DETECTION DEVICE, AND APPARATUS COMPRISING THE DEVICE
US10824279B2 (en) 2015-02-06 2020-11-03 Apple Inc. Remote feedback tapping for a touch sensor panel driving circuit
US9875346B2 (en) 2015-02-06 2018-01-23 Apple Inc. Setting and terminating restricted mode operation on electronic devices
US9806608B2 (en) 2015-02-13 2017-10-31 Apple Inc. Charge pump having AC and DC outputs for touch panel bootstrapping and substrate biasing
US10306047B2 (en) 2015-02-23 2019-05-28 Apple Inc. Mechanism for providing user-programmable button
FR3033203B1 (en) 2015-02-27 2018-03-23 Quickstep Technologies Llc METHOD FOR INTERACTING WITH AN ELECTRONIC AND / OR COMPUTER APPARATUS IMPLEMENTING A CAPACITIVE CONTROL SURFACE AND A PERIPHERAL SURFACE, INTERFACE AND APPARATUS IMPLEMENTING SAID METHOD
US10037100B2 (en) 2015-03-02 2018-07-31 Apple Inc. SNR-aware active mode touch scans with electrode reallocation
WO2016144831A1 (en) 2015-03-06 2016-09-15 Apple Inc. Independent control of emission wavelength and output power of a semiconductor laser
US9865280B2 (en) 2015-03-06 2018-01-09 Apple Inc. Structured dictation using intelligent automated assistants
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US10048788B2 (en) 2015-03-09 2018-08-14 Apple Inc. Touch screen display uniformity
US10244175B2 (en) 2015-03-09 2019-03-26 Apple Inc. Automatic cropping of video content
US10488992B2 (en) 2015-03-10 2019-11-26 Apple Inc. Multi-chip touch architecture for scalability
US9654103B2 (en) 2015-03-18 2017-05-16 Ford Global Technologies, Llc Proximity switch assembly having haptic feedback and method
US9899019B2 (en) 2015-03-18 2018-02-20 Apple Inc. Systems and methods for structured stem and suffix language models
US9942576B2 (en) 2015-04-06 2018-04-10 Apple Inc. Method and system for remote battery notification
US9842105B2 (en) 2015-04-16 2017-12-12 Apple Inc. Parsimonious continuous-space phrase representations for natural language processing
US10353516B2 (en) 2015-04-24 2019-07-16 Apple Inc. Merged floating pixels in a touch screen
US9921696B2 (en) 2015-04-24 2018-03-20 Apple Inc. Sensor with diffusing resistor
US10117587B2 (en) 2015-04-27 2018-11-06 Apple Inc. Dynamically reconfigurable apertures for optimization of PPG signal and ambient light mitigation
US10437385B2 (en) 2015-04-28 2019-10-08 Apple Inc. Sensor design for capacitance sensing
US10146359B2 (en) 2015-04-28 2018-12-04 Apple Inc. Common electrode auto-compensation method
CN107624206B (en) 2015-04-30 2022-05-27 苹果公司 Vernier effect DBR laser including integrated tuning element
US9443501B1 (en) 2015-05-13 2016-09-13 Apple Inc. Method and system of note selection and manipulation
US10152162B1 (en) 2015-05-15 2018-12-11 Apple Inc. Method of optimizing touch detection
US9766370B2 (en) 2015-05-18 2017-09-19 Apple Inc. Wrist-detection algorithm
US9548733B2 (en) 2015-05-20 2017-01-17 Ford Global Technologies, Llc Proximity sensor assembly having interleaved electrode configuration
US9930287B2 (en) 2015-05-22 2018-03-27 Apple Inc. Virtual noticeboard user interaction
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US10416799B2 (en) * 2015-06-03 2019-09-17 Microsoft Technology Licensing, Llc Force sensing and inadvertent input control of an input device
US10222889B2 (en) 2015-06-03 2019-03-05 Microsoft Technology Licensing, Llc Force inputs and cursor control
US10127220B2 (en) 2015-06-04 2018-11-13 Apple Inc. Language identification from short strings
US10868672B1 (en) 2015-06-05 2020-12-15 Apple Inc. Establishing and verifying identity using biometrics while protecting user privacy
US11140171B1 (en) 2015-06-05 2021-10-05 Apple Inc. Establishing and verifying identity using action sequences while protecting user privacy
US10083105B2 (en) 2015-06-05 2018-09-25 Apple Inc. Smart advice to charge notification
US10447812B2 (en) 2015-06-05 2019-10-15 Apple Inc. On demand resources
US9880824B2 (en) 2015-06-05 2018-01-30 Apple Inc. On demand resources
US10101822B2 (en) 2015-06-05 2018-10-16 Apple Inc. Language input correction
US11025565B2 (en) 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
US10255907B2 (en) 2015-06-07 2019-04-09 Apple Inc. Automatic accent detection using acoustic models
US10186254B2 (en) 2015-06-07 2019-01-22 Apple Inc. Context-based endpoint detection
US10564770B1 (en) 2015-06-09 2020-02-18 Apple Inc. Predictive touch detection
CN104881157B (en) * 2015-06-09 2017-12-01 温州聚龙知识产权有限公司 The mobile wrist guard mouse mat of one kind auxiliary
US10466119B2 (en) 2015-06-10 2019-11-05 Nextinput, Inc. Ruggedized wafer level MEMS force sensor with a tolerance trench
US9910533B2 (en) 2015-06-19 2018-03-06 Apple Inc. Timing scheme for touch screen supporting variable refresh rate
US10613643B2 (en) 2015-06-25 2020-04-07 Apple Inc. Method for stylus touch-down and lift-off noise mitigation
US9921652B2 (en) 2015-06-29 2018-03-20 Apple Inc. Input with haptic feedback
US9535501B1 (en) 2015-06-29 2017-01-03 Apple Inc. Input with haptic feedback
US10459561B2 (en) * 2015-07-09 2019-10-29 Qualcomm Incorporated Using capacitance to detect touch pressure
US10386962B1 (en) 2015-08-03 2019-08-20 Apple Inc. Reducing touch node electrode coupling
KR102159156B1 (en) 2015-09-01 2020-09-23 애플 인크. Reference switch architecture for non-contact detection of materials
US10025401B2 (en) 2015-09-08 2018-07-17 Apple Inc. Active stylus ring electrode
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10198089B2 (en) 2015-09-08 2019-02-05 Apple Inc. Active stylus precision tip
US10120531B2 (en) 2015-09-08 2018-11-06 Apple Inc. User interfaces for navigating and playing content
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10678367B1 (en) 2015-09-11 2020-06-09 Apple Inc. Compressive touch sensing
CN108027317B (en) 2015-09-18 2021-03-16 苹果公司 Measurement time distribution in reference scheme
US10310667B2 (en) 2015-09-21 2019-06-04 Apple Inc. Multi-bar capacitive sense electrode
US9697820B2 (en) 2015-09-24 2017-07-04 Apple Inc. Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks
US9880664B2 (en) 2015-09-24 2018-01-30 Apple Inc. Common pixel correction for sensor panels
US10444040B2 (en) 2015-09-25 2019-10-15 Apple Inc. Crown with three-dimensional input
US10132680B1 (en) 2015-09-25 2018-11-20 Apple Inc. UV dosimetry and exposure alert
US9851298B1 (en) 2015-09-25 2017-12-26 Apple Inc. Light-based shielding detection
US9939899B2 (en) 2015-09-25 2018-04-10 Apple Inc. Motion and gesture input from a wearable device
US11010550B2 (en) 2015-09-29 2021-05-18 Apple Inc. Unified language modeling framework for word prediction, auto-completion and auto-correction
US10366158B2 (en) 2015-09-29 2019-07-30 Apple Inc. Efficient word encoding for recurrent neural network language models
US10295838B1 (en) 2015-09-30 2019-05-21 Apple Inc. Body including surface having concentric annular portions
US10687717B1 (en) 2015-09-30 2020-06-23 Apple Inc. PPG sensor having light arrival angle control at detector
US10317200B1 (en) 2015-09-30 2019-06-11 Apple Inc. Multi-mode sensor for surface orientation
US10365773B2 (en) 2015-09-30 2019-07-30 Apple Inc. Flexible scan plan using coarse mutual capacitance and fully-guarded measurements
US9983029B2 (en) 2015-09-30 2018-05-29 Apple Inc. Integrated optical encoder for tilt able rotatable shaft
US9971407B2 (en) 2015-09-30 2018-05-15 Apple Inc. Haptic feedback for rotary inputs
US10534481B2 (en) 2015-09-30 2020-01-14 Apple Inc. High aspect ratio capacitive sensor panel
US10474255B2 (en) 2015-09-30 2019-11-12 Apple Inc. Input element with integrated functionality
US11036318B2 (en) 2015-09-30 2021-06-15 Apple Inc. Capacitive touch or proximity detection for crown
US10671222B2 (en) 2015-09-30 2020-06-02 Apple Inc. Touch sensor pattern for edge input detection
US11026628B1 (en) 2015-09-30 2021-06-08 Apple Inc. Systems and methods of spatial filtering for measuring electrical signals
US11587559B2 (en) 2015-09-30 2023-02-21 Apple Inc. Intelligent device identification
US10874348B1 (en) 2015-09-30 2020-12-29 Apple Inc. Force sensing for PPG heart-rate performance enhancement and contact detection
US10537284B1 (en) 2015-09-30 2020-01-21 Apple Inc. Enhanced sensor signal collection and reflection of reflected and/or scattered light
US11182068B2 (en) * 2015-10-27 2021-11-23 Verizon Patent And Licensing Inc. Method and system for interacting with a touch screen
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10025428B2 (en) 2015-11-19 2018-07-17 Synaptics Incorporated Method and apparatus for improving capacitive sensing detection
CN105242812B (en) * 2015-11-25 2019-02-05 联想(北京)有限公司 Touch screen and touch-sensing method
US10254870B2 (en) 2015-12-01 2019-04-09 Apple Inc. Force sensor-based motion or orientation determination in a device
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
CN105342299B (en) * 2015-12-10 2017-06-09 成都小爱未来智慧科技有限公司 The touch-control circuit of Intelligent water cup
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10061385B2 (en) 2016-01-22 2018-08-28 Microsoft Technology Licensing, Llc Haptic feedback for a touch input device
US10154316B2 (en) 2016-02-26 2018-12-11 Apple Inc. Motion-based configuration of a multi-user device
US9904379B2 (en) 2016-02-29 2018-02-27 Apple Inc. Disabling stylus to prevent worn tip performance degradation and screen damage
US10503258B2 (en) 2016-03-04 2019-12-10 Apple Inc. Input mechanism with force and rotation inputs and haptic feedback
US10446143B2 (en) 2016-03-14 2019-10-15 Apple Inc. Identification of voice inputs providing credentials
DK201670583A1 (en) 2016-03-28 2017-10-16 Apple Inc Keyboard input to an electronic device
US11150798B2 (en) 2016-03-28 2021-10-19 Apple Inc. Multifunction device control of another electronic device
US10466839B2 (en) * 2016-03-30 2019-11-05 Synaptics Incorporated Dynamic differential algorithm for side touch signals
US10019122B2 (en) 2016-03-31 2018-07-10 Synaptics Incorporated Capacitive sensing using non-integer excitation
CN109073460B (en) 2016-04-21 2022-08-23 苹果公司 Optical system for reference switching
CN109073462B (en) 2016-04-21 2021-09-24 苹果公司 Multiplexing and encoding for reference switching
EP3454724B1 (en) 2016-05-10 2023-12-06 Apple Inc. Systems and methods for non-pulsatile blood volume measurements
US10768746B1 (en) 2016-05-10 2020-09-08 Apple Inc. Quasi-continuous-time sampling of discrete-time sampled signals
WO2017195472A1 (en) * 2016-05-11 2017-11-16 シャープ株式会社 Information processing device, and control method and control program for information processing device
WO2017199221A1 (en) * 2016-05-19 2017-11-23 Onshape Inc. Touchscreen precise pointing gesture
US10637933B2 (en) 2016-05-26 2020-04-28 Logitech Europe S.A. Method and apparatus for transferring information between electronic devices
US9934775B2 (en) 2016-05-26 2018-04-03 Apple Inc. Unit-selection text-to-speech synthesis based on predicted concatenation parameters
US10305520B2 (en) 2016-05-27 2019-05-28 Apple Inc. Removing RF interference through scan rate locking
US10474277B2 (en) 2016-05-31 2019-11-12 Apple Inc. Position-based stylus communication
US9972304B2 (en) 2016-06-03 2018-05-15 Apple Inc. Privacy preserving distributed evaluation framework for embedded personalized systems
US10249300B2 (en) 2016-06-06 2019-04-02 Apple Inc. Intelligent list reading
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
DK179309B1 (en) 2016-06-09 2018-04-23 Apple Inc Intelligent automated assistant in a home environment
US10739972B2 (en) 2016-06-10 2020-08-11 Apple Inc. Device, method, and graphical user interface for managing electronic communications
US10067938B2 (en) 2016-06-10 2018-09-04 Apple Inc. Multilingual word prediction
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US10509862B2 (en) 2016-06-10 2019-12-17 Apple Inc. Dynamic phrase expansion of language input
US10490187B2 (en) 2016-06-10 2019-11-26 Apple Inc. Digital assistant providing automated status report
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
DK179049B1 (en) 2016-06-11 2017-09-18 Apple Inc Data driven natural language event detection and classification
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
DK179343B1 (en) 2016-06-11 2018-05-14 Apple Inc Intelligent task discovery
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK201670574A1 (en) 2016-06-12 2018-01-02 Apple Inc Accelerated scrolling
US10983688B2 (en) 2016-06-12 2021-04-20 Apple Inc. Content scrubber bar with real-world time indications
DK201670581A1 (en) 2016-06-12 2018-01-08 Apple Inc Device-level authorization for viewing content
DK201670582A1 (en) 2016-06-12 2018-01-02 Apple Inc Identifying applications on which content is available
US10209827B1 (en) 2016-06-24 2019-02-19 Apple Inc. Dynamic adjustment of demodulation waveform
US10139250B2 (en) 2016-07-08 2018-11-27 Apple Inc. Optical encoder based on light-steering based contrast generation from a first plurality of primary convex mirror sections and a second plurality of secondary mirror sections
US10613666B2 (en) 2016-07-15 2020-04-07 Apple Inc. Content creation using electronic input device on non-electronic surfaces
WO2018023080A2 (en) 2016-07-29 2018-02-01 Apple Inc. Methodology and application of acoustic touch detection
US10955947B2 (en) 2016-07-29 2021-03-23 Apple Inc. RC tuning of touch electrode connections on a touch sensor panel
CN114779956A (en) 2016-07-29 2022-07-22 苹果公司 Touch sensor panel with multi-power domain chip configuration
US11559216B1 (en) 2016-08-12 2023-01-24 Apple Inc. Integrated photodiode
CN109561840B (en) 2016-08-12 2021-11-19 苹果公司 Vital sign monitoring system
US10359885B2 (en) 2016-08-29 2019-07-23 Apple Inc. Touch induced flicker mitigation for variable refresh rate display
US10697830B1 (en) 2016-08-31 2020-06-30 Apple Inc. Multicomb light source and spectrometer
US10324620B2 (en) 2016-09-06 2019-06-18 Apple Inc. Processing capacitive touch gestures implemented on an electronic device
US10599247B2 (en) 2016-09-06 2020-03-24 Apple Inc. Thermal compensation for force-sensitive button
AU2017208277B2 (en) 2016-09-06 2018-12-20 Apple Inc. Back of cover touch sensors
US10879896B2 (en) * 2016-09-07 2020-12-29 Semtech Corporation Capacitive proximity sensor in a mobile device and method of limiting radiation absorption
US10541280B1 (en) 2016-09-16 2020-01-21 Apple Inc. OLED based touch sensing and user identification
US10416803B2 (en) 2016-09-21 2019-09-17 Apple Inc. Gasket with embedded capacitive sensor
US10478099B2 (en) 2016-09-22 2019-11-19 Apple Inc. Systems and methods for determining axial orientation and location of a user's wrist
US11076771B2 (en) 2016-09-22 2021-08-03 Apple Inc. Systems and methods for determining physiological signals using ambient light
CN114527893B (en) 2016-09-23 2023-11-10 苹果公司 Touch sensor panel with top shield and/or bottom shield
US10187765B2 (en) 2016-09-23 2019-01-22 Apple Inc. Networked sensor array
US10139975B2 (en) 2016-09-23 2018-11-27 Apple Inc. Pressure compensation for force-sensitive touch screen
US10446116B2 (en) 2016-09-23 2019-10-15 Apple Inc. Temperature sensor on display active area
US11137858B2 (en) 2016-09-23 2021-10-05 Apple Inc. Location-based swing compensation for touch channel attenuation
US10928881B2 (en) 2016-09-23 2021-02-23 Apple Inc. Low power touch sensing during a sleep state of an electronic device
US10353493B2 (en) 2016-09-30 2019-07-16 Microsoft Technology Licensing, Llc Apparatus and method of pen detection at a digitizer
US20180113579A1 (en) 2016-10-26 2018-04-26 Apple Inc. User interfaces for browsing content from multiple content applications on an electronic device
US10372282B2 (en) 2016-12-01 2019-08-06 Apple Inc. Capacitive coupling reduction in touch sensor panels
US10593346B2 (en) 2016-12-22 2020-03-17 Apple Inc. Rank-reduced token representation for automatic speech recognition
KR20180075733A (en) 2016-12-26 2018-07-05 엘지디스플레이 주식회사 Flexible display device
WO2018148510A1 (en) 2017-02-09 2018-08-16 Nextinput, Inc. Integrated piezoresistive and piezoelectric fusion force sensor
EP3580539A4 (en) 2017-02-09 2020-11-25 Nextinput, Inc. Integrated digital force sensors and related methods of manufacture
US10918322B2 (en) 2017-02-13 2021-02-16 Apple Inc. Light restriction designs in optical sensing applications having shared windows
US10964873B1 (en) 2017-03-03 2021-03-30 Apple Inc. Systems and methods for forming thin bulk junction thermoelectric devices in package
US10524735B2 (en) 2017-03-28 2020-01-07 Apple Inc. Detecting conditions using heart rate sensors
US11157115B2 (en) 2017-03-31 2021-10-26 Apple Inc. Composite cover material for sensitivity improvement of ultrasonic touch screens
US10606418B2 (en) 2017-03-31 2020-03-31 Apple Inc. Ultrasonic touch detection on stylus
US10386965B2 (en) 2017-04-20 2019-08-20 Apple Inc. Finger tracking in wet environment
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK201770431A1 (en) 2017-05-15 2018-12-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback
WO2018217585A1 (en) 2017-05-22 2018-11-29 Apple Inc. Multi-element piezo sensors for physiological measurements
US11144158B2 (en) 2017-05-24 2021-10-12 Apple Inc. Differential acoustic touch and force sensing
US11334196B2 (en) 2017-05-24 2022-05-17 Apple Inc. System and method for acoustic touch and force sensing
CN208722170U (en) 2017-05-24 2019-04-09 苹果公司 It touches and power sensitive device, electronic equipment and wearable audio frequency apparatus
US11166640B2 (en) 2017-06-02 2021-11-09 Apple Inc. Physiological sampling during predetermined activities
US10955994B2 (en) 2017-06-02 2021-03-23 Apple Inc. User interfaces for downloading applications on an electronic device
US10874313B2 (en) 2017-06-04 2020-12-29 Apple Inc. Heartrate tracking techniques
CN109213413A (en) * 2017-07-07 2019-01-15 阿里巴巴集团控股有限公司 A kind of recommended method, device, equipment and storage medium
US10558278B2 (en) 2017-07-11 2020-02-11 Apple Inc. Interacting with an electronic device through physical movement
US10788936B1 (en) 2017-07-17 2020-09-29 Apple Inc. Absorption correction for fabric touch sensing layer
US11221263B2 (en) 2017-07-19 2022-01-11 Nextinput, Inc. Microelectromechanical force sensor having a strain transfer layer arranged on the sensor die
US11423686B2 (en) 2017-07-25 2022-08-23 Qorvo Us, Inc. Integrated fingerprint and force sensor
WO2019023552A1 (en) 2017-07-27 2019-01-31 Nextinput, Inc. A wafer bonded piezoresistive and piezoelectric force sensor and related methods of manufacture
KR20230107394A (en) 2017-08-15 2023-07-14 애플 인크. Self-capacitance and mutual capacitance hybrid touch sensor panel architecture
US10585502B2 (en) 2017-08-17 2020-03-10 Apple Inc. Touch sensor excitation using transformer
US10928955B1 (en) 2017-09-11 2021-02-23 Apple Inc. Suppression of structured image artifacts
US10871818B1 (en) 2017-09-11 2020-12-22 Apple Inc. Component power consumption management determining whether the power availability of the power source exceeds the expected power consumption
US10592027B2 (en) 2017-09-11 2020-03-17 Apple Inc. State-based touch threshold
US10444820B2 (en) 2017-09-11 2019-10-15 Apple Inc. Low power touch detection
KR102436452B1 (en) 2017-09-26 2022-08-24 애플 인크. Concentric architecture for optical sensing
US10949030B2 (en) 2017-09-26 2021-03-16 Apple Inc. Shear-poled curved piezoelectric material
US10474108B2 (en) 2017-09-27 2019-11-12 Apple Inc. Magnetic sensor array for crown rotation
CN111149265B (en) 2017-09-28 2021-09-10 苹果公司 Laser architecture using quantum well intermixing techniques
US11552454B1 (en) 2017-09-28 2023-01-10 Apple Inc. Integrated laser source
WO2019067796A2 (en) 2017-09-29 2019-04-04 Masseta Technologies Llc Resolve path optical sampling architectures
WO2019067144A1 (en) 2017-09-29 2019-04-04 Apple Inc. Imu-based glove
US10788368B1 (en) 2017-09-29 2020-09-29 Apple Inc. Thermal isolation structure
US10521049B2 (en) 2017-09-29 2019-12-31 Apple Inc. Multi-via structures for touchscreens
WO2019067268A1 (en) 2017-09-29 2019-04-04 Apple Inc. Multi modal touch controller
US10963098B1 (en) 2017-09-29 2021-03-30 Apple Inc. Methods and apparatus for object profile estimation
CN111052047B (en) 2017-09-29 2022-04-19 苹果公司 Vein scanning device for automatic gesture and finger recognition
WO2019067267A1 (en) 2017-09-29 2019-04-04 Apple Inc. Multi-power domain touch sensing
US11733801B2 (en) 2017-09-29 2023-08-22 Apple Inc. Touch sensor panel architecture with multiple sensing mode capabilities
US10901543B1 (en) 2017-09-29 2021-01-26 Apple Inc. Touch screen with transparent electrode structure
US11079995B1 (en) 2017-09-30 2021-08-03 Apple Inc. User interfaces for devices with multiple displays
US10928905B2 (en) * 2017-10-09 2021-02-23 TacSense, Inc. Body motion and position sensing, recognition and analytics from an array of wearable pressure sensors
US11579028B2 (en) 2017-10-17 2023-02-14 Nextinput, Inc. Temperature coefficient of offset compensation for force sensor and strain gauge
US10789450B2 (en) * 2017-10-20 2020-09-29 Synaptics Incorporated Optical biometric sensor with automatic gain and exposure control
US10585539B2 (en) * 2017-10-26 2020-03-10 Novatek Microelectronics Corp. High sensitivity readout circuit for touch panel
US11385108B2 (en) 2017-11-02 2022-07-12 Nextinput, Inc. Sealed force sensor with etch stop layer
US11874185B2 (en) 2017-11-16 2024-01-16 Nextinput, Inc. Force attenuator for force sensor
US11228981B2 (en) * 2017-12-06 2022-01-18 Fingerprint Cards Anacatum Ip Ab Method for transitioning a device controller comprised in an electronic device, and an electronic device
US10599199B1 (en) 2017-12-20 2020-03-24 Apple Inc. Systems and methods for power management at device shutdown
US11363133B1 (en) 2017-12-20 2022-06-14 Apple Inc. Battery health-based power management
US10817307B1 (en) 2017-12-20 2020-10-27 Apple Inc. API behavior modification based on power source health
US10802651B2 (en) 2018-01-30 2020-10-13 Apple Inc. Ultrasonic touch detection through display
US11366552B2 (en) 2018-02-06 2022-06-21 Apple, Inc. Ultrasonic polarizer
US10914567B2 (en) 2018-02-23 2021-02-09 Apple Inc. Magnetic sensor based proximity sensing
US11068059B2 (en) 2018-04-13 2021-07-20 Apple Inc. Haptic interface for user input device
DK201870353A1 (en) 2018-05-07 2019-12-04 Apple Inc. User interfaces for recommending and consuming content on an electronic device
US10872024B2 (en) 2018-05-08 2020-12-22 Apple Inc. User interfaces for controlling or presenting device usage on an electronic device
DK180081B1 (en) 2018-06-01 2020-04-01 Apple Inc. Access to system user interfaces on an electronic device
US11662796B2 (en) 2018-06-01 2023-05-30 Apple Inc. User interfaces for indicating battery information on an electronic device
DK201870354A1 (en) 2018-06-03 2019-12-20 Apple Inc. Setup procedures for an electronic device
US11669243B2 (en) 2018-06-03 2023-06-06 Apple Inc. Systems and methods for activating and using a trackpad at an electronic device with a touch-sensitive display and no force sensors
US11922006B2 (en) 2018-06-03 2024-03-05 Apple Inc. Media control for screensavers on an electronic device
US11204806B2 (en) 2018-06-03 2021-12-21 Apple Inc. Systems and methods for user adaptive resource management
US10776006B2 (en) 2018-06-03 2020-09-15 Apple Inc. Systems and methods for activating and using a trackpad at an electronic device with a touch-sensitive display and no force sensors
US10871836B2 (en) 2018-07-06 2020-12-22 Apple Inc. System and method for unintentional input rejection
US11422765B2 (en) 2018-07-10 2022-08-23 Apple Inc. Cross device interactions
US10936135B2 (en) 2018-07-17 2021-03-02 Apple Inc. Single layer touch sensor panel architecture
US10990229B2 (en) 2018-08-03 2021-04-27 Apple Inc. Rectangular touch node design for metal mesh on-cell technology
US10725573B2 (en) 2018-08-06 2020-07-28 Apple Inc. Annular piezoelectric structure for ultrasonic touch sensing
CN108766249B (en) * 2018-08-09 2020-12-29 武汉天马微电子有限公司 Foldable display panel and foldable display device
US10999158B2 (en) 2018-09-11 2021-05-04 Apple Inc. User interfaces for controlling or presenting information about multiple cellular identifiers on an electronic device
US11484267B2 (en) 2018-09-11 2022-11-01 Apple Inc. Contact detection for physiological sensor
US10831296B1 (en) 2018-09-11 2020-11-10 Apple Inc. Touch rejection for wet fabric
US10613678B1 (en) 2018-09-17 2020-04-07 Apple Inc. Input device with haptic feedback
US11003289B1 (en) 2018-09-24 2021-05-11 Apple Inc. Flexible touch sensor panel
US10969907B2 (en) 2018-09-27 2021-04-06 Apple Inc. Compensation techniques for grip and finger coupling to routing traces in a touch sensor panel
US11079882B2 (en) 2018-09-28 2021-08-03 Apple Inc. Diamond based touch sensor panel architectures
US11331016B1 (en) 2018-09-28 2022-05-17 Apple Inc. System and method for robust pulse oximetry
US10754440B2 (en) 2018-09-28 2020-08-25 Apple Inc. Touch sensitive keyboard with flexible interconnections
US11016616B2 (en) 2018-09-28 2021-05-25 Apple Inc. Multi-domain touch sensing with touch and display circuitry operable in guarded power domain
US11422692B2 (en) 2018-09-28 2022-08-23 Apple Inc. System and method of controlling devices using motion gestures
US10557724B1 (en) 2018-09-28 2020-02-11 Apple Inc. Angle detection of a rotating system using a single magnet and multiple hall sensors
US11054948B2 (en) 2018-10-05 2021-07-06 Apple Inc. Light transmissivity-controlled touch sensor panel design
US11171464B1 (en) 2018-12-14 2021-11-09 Apple Inc. Laser integration techniques
CN109720771A (en) * 2019-01-02 2019-05-07 京东方科技集团股份有限公司 A kind of sample rack, sample access external member and sample access system
US10962427B2 (en) 2019-01-10 2021-03-30 Nextinput, Inc. Slotted MEMS force sensor
US10512130B1 (en) 2019-02-01 2019-12-17 Apple Inc. Multi-string LED drivers and current switching techniques
US11455059B1 (en) 2019-03-21 2022-09-27 Apple Inc. Display line aware noise mitigation for touch screens
EP3928194A1 (en) 2019-03-24 2021-12-29 Apple Inc. User interfaces including selectable representations of content items
CN113940088A (en) 2019-03-24 2022-01-14 苹果公司 User interface for viewing and accessing content on an electronic device
US10877606B2 (en) 2019-04-22 2020-12-29 Apple Inc. Method and apparatus for isolating ultrasonic touch sensor from reflections in a device housing
US10921943B2 (en) 2019-04-30 2021-02-16 Apple Inc. Compliant material for protecting capacitive force sensors and increasing capacitive sensitivity
US11751790B1 (en) 2019-05-06 2023-09-12 Apple Inc. Protective circuitry for external sensing applications
WO2020229517A1 (en) * 2019-05-13 2020-11-19 Prismade Labs Gmbh Device and method for monitoring electrically conductive security features, and monitoring device for electrically conductive security features
US11235970B1 (en) 2019-05-30 2022-02-01 Apple Inc. Overload recovery optimization in microelectromechanical system application specific integrated circuit
US11863837B2 (en) 2019-05-31 2024-01-02 Apple Inc. Notification of augmented reality content on an electronic device
US10750595B1 (en) 2019-05-31 2020-08-18 Apple Inc. Frequency-to-current/voltage converter based mixed-mode LED drivers
WO2020243645A1 (en) 2019-05-31 2020-12-03 Apple Inc. User interfaces for a podcast browsing and playback application
US11363137B2 (en) 2019-06-01 2022-06-14 Apple Inc. User interfaces for managing contacts on another electronic device
US11366558B2 (en) 2019-07-26 2022-06-21 Apple Inc. Metal mesh touch electrodes with visibility mitigations
US11301099B1 (en) 2019-09-27 2022-04-12 Apple Inc. Methods and apparatus for finger detection and separation on a touch sensor panel using machine learning models
US10963095B1 (en) 2019-09-27 2021-03-30 Apple Inc. Glove touch detection
US11656838B2 (en) 2019-11-11 2023-05-23 Apple Inc. User interfaces for time period-based curated playlists
US11567644B2 (en) 2020-02-03 2023-01-31 Apple Inc. Cursor integration with a touch screen user interface
US11599223B1 (en) 2020-03-13 2023-03-07 Apple Inc. System and machine learning method for separating noise and signal in multitouch sensors
US11397487B2 (en) * 2020-03-17 2022-07-26 Synaptics Incorporated Re-configurable receiver channels for a sensing device
DE102020107752A1 (en) * 2020-03-20 2021-09-23 Daimler Ag Method and device for selecting input fields displayed on a screen and / or for activating input contents displayed on the screen in a selected input field by manual inputs
US11843838B2 (en) 2020-03-24 2023-12-12 Apple Inc. User interfaces for accessing episodes of a content series
US11662867B1 (en) 2020-05-30 2023-05-30 Apple Inc. Hover detection on a touch sensor panel
US11899895B2 (en) 2020-06-21 2024-02-13 Apple Inc. User interfaces for setting up an electronic device
US11946996B2 (en) 2020-06-30 2024-04-02 Apple, Inc. Ultra-accurate object tracking using radar in multi-object environment
CN113918004A (en) * 2020-07-10 2022-01-11 华为技术有限公司 Gesture recognition method, device, medium, and system thereof
US11899881B2 (en) 2020-07-17 2024-02-13 Apple Inc. Machine learning method and system for suppressing display induced noise in touch sensors using information from display circuitry
CN112328158A (en) * 2020-07-23 2021-02-05 深圳Tcl新技术有限公司 Interactive method, display device, transmitting device, interactive system and storage medium
US11562638B2 (en) 2020-08-24 2023-01-24 Logitech Europe S.A. Electronic system and method for improving human interaction and activities
US11852318B2 (en) 2020-09-09 2023-12-26 Apple Inc. Optical system for noise mitigation
JP2023543799A (en) 2020-09-25 2023-10-18 アップル インコーポレイテッド How to navigate the user interface
US11481070B1 (en) 2020-09-25 2022-10-25 Apple Inc. System and method for touch sensor panel with display noise correction
KR20220046748A (en) * 2020-10-07 2022-04-15 삼성디스플레이 주식회사 Display device inlcuding a touch panel and method of operating a display device including a touch panel
CN112463000B (en) * 2020-11-10 2022-11-08 赵鹤茗 Interaction method, device, system, electronic equipment and vehicle
US11720229B2 (en) 2020-12-07 2023-08-08 Apple Inc. User interfaces for browsing and presenting content
US11934640B2 (en) 2021-01-29 2024-03-19 Apple Inc. User interfaces for record labels
US11269457B1 (en) 2021-02-03 2022-03-08 Apple Inc. Systems and methods for improved touch screen selectivity and sensitivity
US11614806B1 (en) 2021-05-12 2023-03-28 Apple Inc. Input device with self-mixing interferometry sensors
US11592946B1 (en) 2021-09-21 2023-02-28 Apple Inc. Capacitive gap force sensor with multi-layer fill
US11789561B2 (en) 2021-09-24 2023-10-17 Apple Inc. Architecture for differential drive and sense touch technology

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0772976A (en) * 1991-09-19 1995-03-17 Kyocera Corp Mouse inputting system in touch panel
WO1996007966A1 (en) * 1994-09-02 1996-03-14 Synaptics, Inc. Object position detector with edge motion feature
WO1996011435A1 (en) * 1994-10-07 1996-04-18 Synaptics, Incorporated Object position detector with edge motion feature and gesture recognition

Family Cites Families (183)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE23030E (en) * 1948-08-24 Educational device
US2219497A (en) * 1938-01-11 1940-10-29 Dillon Stevens Electrostatic type test electrode
US3207905A (en) * 1961-08-17 1965-09-21 Gen Electric Touch-sensitive optoelectonic circuits and indicators
US3128458A (en) * 1962-05-10 1964-04-07 Romero Adolph Stylus controlled sign with contact grid of parallel plates
US3244369A (en) * 1964-09-25 1966-04-05 Ibm Input-output conversion apparatus
US3437795A (en) * 1965-06-28 1969-04-08 Ampex Data input devices and systems
GB1172222A (en) * 1965-08-05 1969-11-26 Mini Of Technology Touch Displays
US3401470A (en) * 1966-05-04 1968-09-17 Mc Graw Edison Co Educational apparatus
US3493791A (en) * 1966-08-12 1970-02-03 Hall Barkan Instr Inc Two-wire solid state direct touch responsive semiconductor switch circuit
GB1121740A (en) * 1966-09-07 1968-07-31 Marconi Co Ltd Improvements in or relating to electrical position resolver arrangements
US3530310A (en) * 1966-10-28 1970-09-22 Hall Barkan Instr Inc Touch activated dc switch and programmer array
US3497966A (en) * 1967-02-20 1970-03-03 Mc Graw Edison Co Teaching machine
US3492440A (en) * 1967-05-25 1970-01-27 Bell Telephone Labor Inc Direct station selection telephone set employing proximity type selector switches
US3543056A (en) * 1967-08-07 1970-11-24 Johnson Service Co Proximity detection system using field effect transistors
US3522664A (en) * 1967-11-20 1970-08-04 Westinghouse Electric Corp Interface device and display system
US3516176A (en) * 1967-12-26 1970-06-23 Behavioural Research & Dev Ltd Touch detecting teaching machine
US3598903A (en) * 1968-06-06 1971-08-10 Ibm Position-identifying device
US3617823A (en) 1969-03-07 1971-11-02 Rca Corp Self-scanned phototransistor array employing common substrate
US3593115A (en) * 1969-06-30 1971-07-13 Ibm Capacitive voltage divider
US3549909A (en) * 1969-08-25 1970-12-22 Hall Barkan Instr Inc Touch activated ac,full wave,two-wire swtiches
US3662378A (en) * 1970-06-01 1972-05-09 Cherry Electrical Prod Electronic keyboard input circuit
US3675239A (en) * 1970-09-14 1972-07-04 Ncr Co Unlimited roll keyboard circuit
US3683371A (en) * 1970-09-15 1972-08-08 Burroughs Corp Magnetic keyboard terminal
GB1315030A (en) * 1970-11-26 1973-04-26 Plessey Co Ltd Touch-wire overlay masks for cathode ray tubes
US3696409A (en) * 1970-12-28 1972-10-03 Linquist & Vennum Finger-touch faceplate
US3757322A (en) * 1971-02-03 1973-09-04 Hall Barkan Instr Inc Transparent touch controlled interface with interreactively related display
US3737670A (en) * 1971-07-09 1973-06-05 Magic Dot Inc Touch sensitive electronic switch
US3732389A (en) * 1972-02-14 1973-05-08 Litton Systems Inc Touch entry switch array
US3932862A (en) * 1972-05-05 1976-01-13 Robert Michael Graven Coloringbook, a solid state display device
US3760392A (en) * 1972-05-15 1973-09-18 Allis Chalmers Capacitive position sensor
US3921166A (en) * 1972-09-15 1975-11-18 Raytheon Co Capacitance matrix keyboard
US3875331A (en) * 1973-11-08 1975-04-01 Vector General Vector tablet digitizing system
US3931610A (en) * 1973-11-29 1976-01-06 Teletype Corporation Capacitive keyswitch sensor and method
DE2508154C3 (en) * 1974-12-03 1978-06-15 Pentel K.K., Tokio Input plate
US3999012A (en) * 1975-07-07 1976-12-21 Ibm Corporation Graphic entry tablet with improved addressing
US3992579A (en) * 1975-06-02 1976-11-16 Ibm Corporation Tablet system with digital activation
US4056699A (en) * 1975-11-13 1977-11-01 Essex International, Inc. Touch plate assembly
US4058765A (en) * 1976-06-07 1977-11-15 David Richardson General displacement sensor
US4302011A (en) * 1976-08-24 1981-11-24 Peptek, Incorporated Video game apparatus and method
US4071691A (en) * 1976-08-24 1978-01-31 Peptek, Inc. Human-machine interface apparatus
US4198539A (en) * 1977-01-19 1980-04-15 Peptek, Inc. System for producing electric field with predetermined characteristics and edge terminations for resistance planes therefor
US4103252A (en) * 1976-11-26 1978-07-25 Xerox Corporation Capacitive touch-activated transducer system including a plurality of oscillators
US4087625A (en) * 1976-12-29 1978-05-02 International Business Machines Corporation Capacitive two dimensional tablet with single conductive layer
US4148014A (en) * 1977-04-06 1979-04-03 Texas Instruments Incorporated System with joystick to control velocity vector of a display cursor
US4371746A (en) * 1978-01-05 1983-02-01 Peptek, Incorporated Edge terminations for impedance planes
US4177421A (en) * 1978-02-27 1979-12-04 Xerox Corporation Capacitive transducer
CH623195B (en) * 1978-04-11 1900-01-01 Ebauches Sa ELECTRONIC WATCH WITH MEANS OF CONTROL AND SELECTION OF FUNCTIONS.
US4177354A (en) * 1978-04-17 1979-12-04 Bell Telephone Laboratories, Incorporated Graphic communications apparatus
US4221975A (en) * 1978-04-19 1980-09-09 Touch Activated Switch Arrays, Inc. Touch activated controller and method
US4264903A (en) * 1978-06-12 1981-04-28 General Electric Company Capacitive touch control and display
US4224615A (en) * 1978-09-14 1980-09-23 Texas Instruments Incorporated Method of using a liquid crystal display device as a data input device
US4281323A (en) * 1978-12-05 1981-07-28 Bank Computer Network Corporation Noise responsive data input apparatus and method
US4257177A (en) 1978-12-21 1981-03-24 Management Operations Limited Safety footwear
US4246452A (en) * 1979-01-05 1981-01-20 Mattel, Inc. Switch apparatus
US4293734A (en) * 1979-02-23 1981-10-06 Peptek, Incorporated Touch panel system and method
US4430917A (en) * 1979-08-22 1984-02-14 Peptek, Incorporated Hand-held musical instrument and systems including a man-machine interface apparatus
DE2907811B1 (en) * 1979-02-28 1980-03-20 Agfa Gevaert Ag Function input unit with touch buttons
US4232311A (en) 1979-03-20 1980-11-04 Chyron Corporation Color display apparatus
US4290061A (en) * 1979-08-23 1981-09-15 General Electric Company Electrically integrated touch input and output display system
US4291303A (en) * 1979-08-23 1981-09-22 General Electric Company Touch pad and display tube circuitry
US4686332A (en) * 1986-06-26 1987-08-11 International Business Machines Corporation Combined finger touch and stylus detection system for use on the viewing surface of a visual display device
US4290052A (en) * 1979-10-26 1981-09-15 General Electric Company Capacitive touch entry apparatus having high degree of personal safety
US4310839A (en) * 1979-11-23 1982-01-12 Raytheon Company Interactive display system with touch data entry
US4313113A (en) * 1980-03-24 1982-01-26 Xerox Corporation Cursor control
JPS56147226A (en) * 1980-04-15 1981-11-16 Brother Ind Ltd Key input device
JPS5742214A (en) * 1980-08-27 1982-03-09 Sony Corp Power amplifier
US4639720A (en) * 1981-01-12 1987-01-27 Harris Corporation Electronic sketch pad
US4476463A (en) * 1981-08-24 1984-10-09 Interaction Systems, Inc. Display device having unpatterned touch detection
US4442317A (en) * 1981-09-14 1984-04-10 Sun-Flex Company, Inc. Coordinate sensing device
US4550310A (en) * 1981-10-29 1985-10-29 Fujitsu Limited Touch sensing device
US4475235A (en) * 1982-01-04 1984-10-02 Rolm Corporation Signature verification sensor
US4516112A (en) * 1982-02-22 1985-05-07 Eaton Corporation Transparent touch switching system
US4423286A (en) * 1982-07-21 1983-12-27 Talos Systems, Inc. Apparatus and method for determining the position of a driven coil within a grid of spaced conductors
US4455452A (en) * 1982-09-13 1984-06-19 Touch Activated Switch Arrays, Inc. Touch activated controller for generating X-Y output information
JPS5979384A (en) * 1982-10-28 1984-05-08 Osukon Denshi Kk Coordinate reading method
US4595913A (en) * 1983-02-10 1986-06-17 Pie Associates Capacitor touch activated switching system
US4570149A (en) * 1983-03-15 1986-02-11 Koala Technologies Corporation Simplified touch tablet data device
FR2544103A1 (en) 1983-04-08 1984-10-12 Gavilan Computer Corp INFORMATION INPUT DEVICE IN A COMPUTER USING A CONTACT PANEL
US4511760A (en) * 1983-05-23 1985-04-16 International Business Machines Corporation Force sensing data input device responding to the release of pressure force
US4526043A (en) * 1983-05-23 1985-07-02 At&T Bell Laboratories Conformable tactile sensor
JPS6029833A (en) * 1983-07-28 1985-02-15 Canon Inc Image display device
JPS6066298A (en) 1983-09-21 1985-04-16 キヤノン株式会社 Information processor
US4550221A (en) * 1983-10-07 1985-10-29 Scott Mabusth Touch sensitive control device
JPS60136892A (en) 1983-12-26 1985-07-20 Hitachi Ltd On-line recognition device of hand written graphic
US4733222A (en) * 1983-12-27 1988-03-22 Integrated Touch Arrays, Inc. Capacitance-variation-sensitive touch sensing array system
AU552619B2 (en) * 1984-02-29 1986-06-12 Fujitsu Limited Co-ordinate detecting apparatus
JPS60181816A (en) * 1984-02-29 1985-09-17 Pentel Kk Signal detecting position deciding method of graphic input device
US4582955A (en) * 1984-03-23 1986-04-15 Pencept, Inc. Digitizing tablet system including a tablet having a grid structure made of two orthogonal sets of parallel uniformly sized and spaced U shaped loops of conductive material
DE3579144D1 (en) 1984-12-28 1990-09-13 Wacom Co Ltd DEVICE FOR DETERMINING THE POSITION.
US4935728A (en) * 1985-01-02 1990-06-19 Altra Corporation Computer control
US4672154A (en) * 1985-04-03 1987-06-09 Kurta Corporation Low power, high resolution digitizing system with cordless pen/mouse
US4736191A (en) * 1985-08-02 1988-04-05 Karl E. Matzke Touch activated control method and apparatus
JPS62151914A (en) * 1985-12-25 1987-07-06 Alps Electric Co Ltd Coordinate detection method
JPH0668758B2 (en) * 1986-01-07 1994-08-31 株式会社日立製作所 Cursor control method and three-dimensional graphic display device
US4773024A (en) 1986-06-03 1988-09-20 Synaptics, Inc. Brain emulation circuit with reduced confusion
JPH0654460B2 (en) * 1986-07-12 1994-07-20 アルプス電気株式会社 Coordinate detection method
US4698461A (en) * 1986-08-26 1987-10-06 Tektronix, Inc. Touch panel with automatic frequency control
US4820886A (en) * 1987-03-16 1989-04-11 Sanders Associates, Inc. Low-cost, high-accuracy digitizer signal acquisition apparatus and method
US4988982A (en) * 1987-03-25 1991-01-29 The Grass Valley Group, Inc. Touch pad machine control
US4791286A (en) 1987-04-27 1988-12-13 Irvine Sensors Corporation Pre-amplifier in focal plane detector array
FR2615941B1 (en) * 1987-05-25 1991-12-06 Sfena DEVICE FOR DETECTING THE POSITION OF A CONTROL MEMBER ON A TOUCH TABLET
US5363120A (en) * 1987-10-14 1994-11-08 Wang Laboratories, Inc. Computer input device using orientation sensor
US4794208A (en) * 1988-02-08 1988-12-27 Calcomp Inc. Frequency shifting digitizer for reducing AC fields interference
US4914624A (en) * 1988-05-06 1990-04-03 Dunthorn David I Virtual button for touch screen
US4853498A (en) * 1988-06-13 1989-08-01 Tektronix, Inc. Position measurement apparatus for capacitive touch panel system
US5191641A (en) 1988-09-26 1993-03-02 Sharp Kabushiki Kaisha Cursor shift speed control system
US5119038A (en) 1988-12-09 1992-06-02 Synaptics, Corporation CMOS current mirror with offset adaptation
US5083044A (en) 1989-03-10 1992-01-21 Synaptics, Incorporated Synaptic element and array
US5120996A (en) 1989-03-10 1992-06-09 Synaptics, Incorporated Synaptic element and array
US4918262A (en) * 1989-03-14 1990-04-17 Ibm Corporation Touch sensing display screen signal processing apparatus and method
US5120907A (en) * 1989-03-28 1992-06-09 Graphtec Kabushiki Kaisha Device for determining position coordinates of points on a surface
US5157384A (en) 1989-04-28 1992-10-20 International Business Machines Corporation Advanced user interface
US5252951A (en) * 1989-04-28 1993-10-12 International Business Machines Corporation Graphical user interface with gesture recognition in a multiapplication environment
US4962342A (en) 1989-05-04 1990-10-09 Synaptics, Inc. Dynamic synapse for neural network
GB2232251A (en) 1989-05-08 1990-12-05 Philips Electronic Associated Touch sensor array systems
US5327161A (en) 1989-08-09 1994-07-05 Microtouch Systems, Inc. System and method for emulating a mouse input device with a touchpad input device
US5402151A (en) * 1989-10-02 1995-03-28 U.S. Philips Corporation Data processing system with a touch screen and a digitizing tablet, both integrated in an input device
JPH03216720A (en) 1990-01-22 1991-09-24 Fujitsu Ltd Coordinate input method by digitizer
US5008497A (en) * 1990-03-22 1991-04-16 Asher David J Touch controller
JP2736149B2 (en) 1990-03-23 1998-04-02 株式会社東芝 Trend graph scaling device
FR2662528B1 (en) 1990-05-25 1994-03-11 Sextant Avionique DEVICE FOR LOCATING AN OBJECT LOCATED NEAR A DETECTION AREA AND TRANSPARENT KEYBOARD USING THE SAME.
US5153572A (en) 1990-06-08 1992-10-06 Donnelly Corporation Touch-sensitive control circuit
GB2245708A (en) 1990-06-29 1992-01-08 Philips Electronic Associated Touch sensor array systems
US5117071A (en) * 1990-10-31 1992-05-26 International Business Machines Corporation Stylus sensing system
US5149919A (en) * 1990-10-31 1992-09-22 International Business Machines Corporation Stylus sensing system
US5120908A (en) 1990-11-01 1992-06-09 Gazelle Graphic Systems Inc. Electromagnetic position transducer
US5260697A (en) 1990-11-13 1993-11-09 Wang Laboratories, Inc. Computer with separate display plane and user interface processor
EP0490001B1 (en) 1990-12-14 1996-07-10 International Business Machines Corporation Coordinate processor for a computer system having a pointing device
JPH08101922A (en) 1991-01-07 1996-04-16 Shima Seiki Mfg Ltd Picture editing and forming device and picture editing and forming method
US5469191A (en) 1991-01-09 1995-11-21 Smith, Iii; Jay Cursor control system
US5093900A (en) 1991-02-13 1992-03-03 At&T Bell Laboratories Reconfigurable neural network
US5324958A (en) 1991-02-19 1994-06-28 Synaptics, Incorporated Integrating imaging systgem having wide dynamic range with sample/hold circuits
JP3171866B2 (en) 1991-03-08 2001-06-04 パイオニア株式会社 Pattern input device
US5220649A (en) 1991-03-20 1993-06-15 Forcier Mitchell D Script/binary-encoded-character processing method and system with moving space insertion mode
US5428367A (en) * 1991-07-08 1995-06-27 Mikan; Peter J. Computer mouse simulator having see-through touchscreen device and external electronic interface therefor
US5376946A (en) * 1991-07-08 1994-12-27 Mikan; Peter J. Computer mouse simulator device
US5666113A (en) 1991-07-31 1997-09-09 Microtouch Systems, Inc. System for using a touchpad input device for cursor control and keyboard emulation
US5287105A (en) 1991-08-12 1994-02-15 Calcomp Inc. Automatic tracking and scanning cursor for digitizers
JP3190074B2 (en) * 1991-09-11 2001-07-16 株式会社東芝 Handwriting input device
US5164713A (en) * 1991-10-15 1992-11-17 Bain Lee L Cursor position controller for use with mouse and display systems
JPH0769767B2 (en) 1991-10-16 1995-07-31 インターナショナル・ビジネス・マシーンズ・コーポレイション Touch overlay for detecting finger touch or stylus position, and detection system
US5848187A (en) 1991-11-18 1998-12-08 Compaq Computer Corporation Method and apparatus for entering and manipulating spreadsheet cell data
US5335557A (en) * 1991-11-26 1994-08-09 Taizo Yasutake Touch sensitive input control device
JP2975467B2 (en) * 1991-11-28 1999-11-10 シャープ株式会社 Display integrated position reader
GB2266038B (en) 1992-03-24 1995-07-12 Afe Displays Limited Information input system for a computer
EP0563477A1 (en) 1992-03-25 1993-10-06 Visage Inc. Touch screen sensing apparatus
JPH0684006A (en) 1992-04-09 1994-03-25 Internatl Business Mach Corp <Ibm> Method of online handwritten character recognition
US5336936A (en) 1992-05-06 1994-08-09 Synaptics, Incorporated One-transistor adaptable analog storage element and array
US5583542A (en) * 1992-05-26 1996-12-10 Apple Computer, Incorporated Method for deleting objects on a computer display
JP2585922B2 (en) 1992-05-29 1997-02-26 日立ソフトウエアエンジニアリング株式会社 Electronic blackboard device
US5256975A (en) * 1992-06-01 1993-10-26 Digital Equipment Corporation Manually-operated continuity/shorts test probe for bare interconnection packages
US5488204A (en) 1992-06-08 1996-01-30 Synaptics, Incorporated Paintbrush stylus for capacitive touch sensor pad
US6028271A (en) 1992-06-08 2000-02-22 Synaptics, Inc. Object position detector with edge motion feature and gesture recognition
US5914465A (en) 1992-06-08 1999-06-22 Synaptics, Inc. Object position detector
US5942733A (en) 1992-06-08 1999-08-24 Synaptics, Inc. Stylus input capacitive touchpad sensor
US5543588A (en) 1992-06-08 1996-08-06 Synaptics, Incorporated Touch pad driven handheld computing device
US5861583A (en) 1992-06-08 1999-01-19 Synaptics, Incorporated Object position detector
US5880411A (en) * 1992-06-08 1999-03-09 Synaptics, Incorporated Object position detector with edge motion feature and gesture recognition
EP0574213B1 (en) 1992-06-08 1999-03-24 Synaptics, Inc. Object position detector
US5369227A (en) 1992-07-22 1994-11-29 Summagraphics Corporation Stylus switch status determination in a digitizer tablet having a cordless stylus
EP0589498A1 (en) 1992-08-12 1994-03-30 Koninklijke Philips Electronics N.V. Electronic circuitry rendered immune to EM noise of display
US5231450A (en) 1992-08-27 1993-07-27 Daniels John J Three-dimensional color image printer
US5339213A (en) 1992-11-16 1994-08-16 Cirque Corporation Portable computer touch pad attachment
US5612719A (en) * 1992-12-03 1997-03-18 Apple Computer, Inc. Gesture sensitive buttons for graphical user interfaces
US5463388A (en) 1993-01-29 1995-10-31 At&T Ipm Corp. Computer mouse or keyboard input device utilizing capacitive sensors
US5374942A (en) 1993-02-05 1994-12-20 Gilligan; Federico G. Mouse and method for concurrent cursor position and scrolling control
JP2986047B2 (en) * 1993-04-29 1999-12-06 インターナショナル・ビジネス・マシーンズ・コーポレイション Digital input display device and input processing device and method
US5563632A (en) 1993-04-30 1996-10-08 Microtouch Systems, Inc. Method of and apparatus for the elimination of the effects of internal interference in force measurement systems, including touch - input computer and related displays employing touch force location measurement techniques
US5517578A (en) 1993-05-20 1996-05-14 Aha! Software Corporation Method and apparatus for grouping and manipulating electronic representations of handwriting, printing and drawings
US5408194A (en) 1993-06-25 1995-04-18 Synaptics, Incorporated Adaptive analog minimum/maximum selector and subtractor circuit
US5349303A (en) 1993-07-02 1994-09-20 Cirque Corporation Electrical charge transfer apparatus
US5373118A (en) 1993-10-25 1994-12-13 Calcomp Inc. Half normal frequency regime phase encoding in cordless digitizers
KR100300397B1 (en) 1994-04-21 2001-10-22 김순택 System having touch panel and digitizer function and driving method
US5579036A (en) 1994-04-28 1996-11-26 At&T Global Information Solutions Company Touch screen device and shielding bracket therefor
US5764218A (en) * 1995-01-31 1998-06-09 Apple Computer, Inc. Method and apparatus for contacting a touch-sensitive cursor-controlling input device to generate button values
US5757368A (en) * 1995-03-27 1998-05-26 Cirque Corporation System and method for extending the drag function of a computer pointing device
US5591945A (en) * 1995-04-19 1997-01-07 Elo Touchsystems, Inc. Acoustic touch position sensor using higher order horizontally polarized shear wave propagation
US6255604B1 (en) * 1995-05-31 2001-07-03 Canon Kabushiki Kaisha Coordinate detecting device for outputting coordinate data when two points are simultaneously depressed, method therefor and computer control device
US5825352A (en) * 1996-01-04 1998-10-20 Logitech, Inc. Multiple fingers contact sensing method for emulating mouse buttons and mouse operations on a touch sensor pad
JP3431387B2 (en) 1996-03-14 2003-07-28 株式会社東芝 Exposure intensity distribution display method and mask pattern editing device
US5861886A (en) 1996-06-26 1999-01-19 Xerox Corporation Method and apparatus for grouping graphic objects on a computer based system having a graphical user interface
US5854625A (en) 1996-11-06 1998-12-29 Synaptics, Incorporated Force sensing touchpad
US5764224A (en) * 1997-03-25 1998-06-09 Ericsson Inc. Cordless mouse-stylus-pointer

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0772976A (en) * 1991-09-19 1995-03-17 Kyocera Corp Mouse inputting system in touch panel
WO1996007966A1 (en) * 1994-09-02 1996-03-14 Synaptics, Inc. Object position detector with edge motion feature
WO1996011435A1 (en) * 1994-10-07 1996-04-18 Synaptics, Incorporated Object position detector with edge motion feature and gesture recognition

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PATENT ABSTRACTS OF JAPAN vol. 095, no. 006 31 July 1995 (1995-07-31) *

Cited By (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9552100B2 (en) 1998-01-26 2017-01-24 Apple Inc. Touch sensing with mobile sensors
US9292111B2 (en) 1998-01-26 2016-03-22 Apple Inc. Gesturing with a multipoint sensing device
US9001068B2 (en) 1998-01-26 2015-04-07 Apple Inc. Touch sensor contact information
US9348452B2 (en) 1998-01-26 2016-05-24 Apple Inc. Writing using a touch sensor
US8902175B2 (en) 1998-01-26 2014-12-02 Apple Inc. Contact tracking and identification module for touch sensing
US8866752B2 (en) 1998-01-26 2014-10-21 Apple Inc. Contact tracking and identification module for touch sensing
US9804701B2 (en) 1998-01-26 2017-10-31 Apple Inc. Contact tracking and identification module for touch sensing
EP1717684A2 (en) 1998-01-26 2006-11-02 Wayne Westerman Method and apparatus for integrating manual input
US9239673B2 (en) 1998-01-26 2016-01-19 Apple Inc. Gesturing with a multipoint sensing device
JP2007213599A (en) * 1998-01-26 2007-08-23 Wayne Westerman Method for integrating manual operation input
US9626032B2 (en) 1998-01-26 2017-04-18 Apple Inc. Sensor arrangement for use with a touch sensor
EP1717684A3 (en) * 1998-01-26 2008-01-23 Fingerworks, Inc. Method and apparatus for integrating manual input
US9448658B2 (en) 1998-01-26 2016-09-20 Apple Inc. Resting contacts
US9342180B2 (en) 1998-01-26 2016-05-17 Apple Inc. Contact tracking and identification module for touch sensing
US9383855B2 (en) 1998-01-26 2016-07-05 Apple Inc. Identifying contacts on a touch surface
US9329717B2 (en) 1998-01-26 2016-05-03 Apple Inc. Touch sensing with mobile sensors
EP2256606A3 (en) * 1998-01-26 2011-12-14 Apple Inc. Method and apparatus for integrating manual input
EP2256607A3 (en) * 1998-01-26 2011-12-14 Apple Inc. Method and apparatus for integrating manual input
US9298310B2 (en) 1998-01-26 2016-03-29 Apple Inc. Touch sensor contact information
US9098142B2 (en) 1998-01-26 2015-08-04 Apple Inc. Sensor arrangement for use with a touch sensor that identifies hand parts
EP0996052A2 (en) * 1998-10-19 2000-04-26 Fujitsu Limited Input processing method and input control apparatus
EP0996052A3 (en) * 1998-10-19 2006-03-15 Fujitsu Limited Input processing method and input control apparatus
JP2000340072A (en) * 1999-05-25 2000-12-08 Sony Corp Operation unit giving operational touch and method of producing operational touch
WO2001015067A1 (en) * 1999-08-23 2001-03-01 Siemens Aktiengesellschaft Method and device for inputting control signals
US7450114B2 (en) 2000-04-14 2008-11-11 Picsel (Research) Limited User interface systems and methods for manipulating and viewing digital documents
US8358290B2 (en) 2000-04-14 2013-01-22 Samsung Electronics Co., Ltd. User interface systems and methods for manipulating and viewing digital documents
US8593436B2 (en) 2000-04-14 2013-11-26 Samsung Electronics Co., Ltd. User interface systems and methods for manipulating and viewing digital documents
US7576730B2 (en) 2000-04-14 2009-08-18 Picsel (Research) Limited User interface systems and methods for viewing and manipulating digital documents
EP2012220A3 (en) * 2000-04-14 2009-09-02 Picsel (Research) Ltd. User interfaces and methods for manipulating and viewing digital documents
US9778836B2 (en) 2000-04-14 2017-10-03 Samsung Electronics Co., Ltd. User interface systems and methods for manipulating and viewing digital documents
EP1205836A3 (en) * 2000-11-10 2009-07-22 Microsoft Corporation Method and system for inputting gestures
WO2003038585A3 (en) * 2001-10-30 2003-12-18 Eleksen Ltd Detecting a degree of manual interaction with a manually operable key
WO2003038585A2 (en) * 2001-10-30 2003-05-08 Eleksen Limited Detecting a degree of manual interaction with a manually operable key
US9606668B2 (en) 2002-02-07 2017-03-28 Apple Inc. Mode-based graphical user interfaces for touch sensitive input devices
KR101085637B1 (en) 2003-06-09 2011-11-22 마이크로소프트 코포레이션 Detection of a dwell gesture by examining parameters associated with pen motion
EP1507192A2 (en) * 2003-06-09 2005-02-16 Microsoft Corporation Detection of a dwell gesture by examining parameters associated with pen motion
EP1507192A3 (en) * 2003-06-09 2007-06-20 Microsoft Corporation Detection of a dwell gesture by examining parameters associated with pen motion
CN100349103C (en) * 2003-08-05 2007-11-14 捷讯研究有限公司 Mobile device with on-screen optical navigation
US10908729B2 (en) 2004-05-06 2021-02-02 Apple Inc. Multipoint touchscreen
US9239677B2 (en) 2004-05-06 2016-01-19 Apple Inc. Operation of a computer with touch screen interface
US11604547B2 (en) 2004-05-06 2023-03-14 Apple Inc. Multipoint touchscreen
US10042418B2 (en) 2004-07-30 2018-08-07 Apple Inc. Proximity detector in handheld device
US9348458B2 (en) 2004-07-30 2016-05-24 Apple Inc. Gestures for touch sensitive input devices
US11036282B2 (en) 2004-07-30 2021-06-15 Apple Inc. Proximity detector in handheld device
US10976846B2 (en) 2006-06-09 2021-04-13 Apple Inc. Touch screen liquid crystal display
US11175762B2 (en) 2006-06-09 2021-11-16 Apple Inc. Touch screen liquid crystal display
US11886651B2 (en) 2006-06-09 2024-01-30 Apple Inc. Touch screen liquid crystal display
US9069417B2 (en) 2006-07-12 2015-06-30 N-Trig Ltd. Hover and touch detection for digitizer
US10031621B2 (en) 2006-07-12 2018-07-24 Microsoft Technology Licensing, Llc Hover and touch detection for a digitizer
US9535598B2 (en) 2006-07-12 2017-01-03 Microsoft Technology Licensing, Llc Hover and touch detection for a digitizer
US8686964B2 (en) 2006-07-13 2014-04-01 N-Trig Ltd. User specific recognition of intended user interaction with a digitizer
GB2445198A (en) * 2006-12-29 2008-07-02 Inventec Appliances Corp Touch control input system
EP2171565B1 (en) * 2007-07-27 2017-05-17 Samsung Electronics Co., Ltd. Pressure sensor array apparatus and method for tactile sensing
WO2009115871A1 (en) * 2008-03-19 2009-09-24 Sony Ericsson Mobile Communications Ab Two way touch-sensitive display
JP2009032294A (en) * 2008-11-10 2009-02-12 Sony Corp Information processor and method, program, and recording medium
EP2187300A1 (en) * 2008-11-17 2010-05-19 S.C. Mighty Prod S.R.L. Procedure and system of operator interaction with tactile surface computers
US8581874B2 (en) 2008-12-19 2013-11-12 Motorola Mobility Llc Touch screen device and methods thereof configured for a plurality of resolutions
US8970552B2 (en) 2009-10-09 2015-03-03 Egalax—Empia Technology Inc. Method and device for position detection
US10310693B2 (en) 2009-10-09 2019-06-04 Egalax_Empia Technology Inc. Controller for position detection
EP2511804A4 (en) * 2009-10-09 2014-06-11 Egalax Empia Technology Inc Method and device of position detection
US9285940B2 (en) 2009-10-09 2016-03-15 Egalax—Empia Technology Inc. Method and device for position detection
US9977556B2 (en) 2009-10-09 2018-05-22 Egalax_Empia Technology Inc. Controller for position detection
EP2511804A1 (en) * 2009-10-09 2012-10-17 Egalax_Empia Technology Inc. Method and device of position detection
US9606692B2 (en) 2009-10-09 2017-03-28 Egalax_Empia Technology Inc. Controller for position detection
EP2341419A1 (en) * 2009-12-31 2011-07-06 Sony Computer Entertainment Europe Limited Device and method of control
EP2609492A2 (en) * 2010-08-27 2013-07-03 Apple Inc. Touch and hover switching
US8508494B2 (en) 2011-06-01 2013-08-13 Motorola Mobility Llc Using pressure differences with a touch-sensitive display screen
WO2012166280A1 (en) * 2011-06-01 2012-12-06 Motorola Mobility Llc Using pressure differences with a touch-sensitive display screen
US8976128B2 (en) 2011-09-12 2015-03-10 Google Technology Holdings LLC Using pressure differences with a touch-sensitive display screen
US9069460B2 (en) 2011-09-12 2015-06-30 Google Technology Holdings LLC Using pressure differences with a touch-sensitive display screen
US10437360B2 (en) 2012-02-24 2019-10-08 Samsung Electronics Co., Ltd. Method and apparatus for moving contents in terminal
RU2643654C2 (en) * 2012-02-24 2018-02-02 Самсунг Электроникс Ко., Лтд. Method and device for moving content in terminal
WO2020083567A1 (en) * 2018-10-22 2020-04-30 Endress+Hauser SE+Co. KG User input module for an automation engineering field device, and same field device

Also Published As

Publication number Publication date
US20060092142A1 (en) 2006-05-04
KR19980701729A (en) 1998-06-25
US20020093491A1 (en) 2002-07-18
US20030112228A1 (en) 2003-06-19
US5880411A (en) 1999-03-09
JP4031796B2 (en) 2008-01-09
JP3764171B2 (en) 2006-04-05
US6414671B1 (en) 2002-07-02
US7450113B2 (en) 2008-11-11
US6610936B2 (en) 2003-08-26
US20080041640A1 (en) 2008-02-21
KR100277147B1 (en) 2001-01-15
JPH11506559A (en) 1999-06-08
JP2005149531A (en) 2005-06-09
US7812829B2 (en) 2010-10-12
CN1155876C (en) 2004-06-30
US7907127B2 (en) 2011-03-15
JP3920833B2 (en) 2007-05-30
US6380931B1 (en) 2002-04-30
US6750852B2 (en) 2004-06-15
US20040178997A1 (en) 2004-09-16
HK1017934A1 (en) 1999-12-03
JP2004094964A (en) 2004-03-25
US20080042994A1 (en) 2008-02-21
CN1185844A (en) 1998-06-24
EP0829043A1 (en) 1998-03-18
US7109978B2 (en) 2006-09-19

Similar Documents

Publication Publication Date Title
US5880411A (en) Object position detector with edge motion feature and gesture recognition
EP1607852B1 (en) Object position detector with edge motion feature and gesture recognition
US6028271A (en) Object position detector with edge motion feature and gesture recognition
US7911456B2 (en) Object position detector with edge motion feature and gesture recognition
US7532205B2 (en) Object position detector with edge motion feature and gesture recognition
EP0777875B1 (en) Object position detector with edge motion feature
US5889236A (en) Pressure sensitive scrollbar feature
US5488204A (en) Paintbrush stylus for capacitive touch sensor pad
US5861583A (en) Object position detector
WO1996007981A1 (en) Object position detector

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 97190278.X

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 1019970705125

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 1997920008

Country of ref document: EP

AK Designated states

Kind code of ref document: A1

Designated state(s): CN JP KR

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE

ENP Entry into the national phase

Ref document number: 1997 534677

Country of ref document: JP

Kind code of ref document: A

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWP Wipo information: published in national office

Ref document number: 1997920008

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1019970705125

Country of ref document: KR

WWG Wipo information: grant in national office

Ref document number: 1019970705125

Country of ref document: KR

WWR Wipo information: refused in national office

Ref document number: 1997920008

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 1997920008

Country of ref document: EP