WO1997018508A1 - Pressure sensitive scrollbar feature - Google Patents

Pressure sensitive scrollbar feature Download PDF

Info

Publication number
WO1997018508A1
WO1997018508A1 PCT/US1996/017862 US9617862W WO9718508A1 WO 1997018508 A1 WO1997018508 A1 WO 1997018508A1 US 9617862 W US9617862 W US 9617862W WO 9718508 A1 WO9718508 A1 WO 9718508A1
Authority
WO
WIPO (PCT)
Prior art keywords
die
finger
sensor
present
capacitance
Prior art date
Application number
PCT/US1996/017862
Other languages
French (fr)
Inventor
David Gillespie
Timothy P. Allen
Aaron T. Ferrucci
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
Application filed by Synaptics, Inc. filed Critical Synaptics, Inc.
Priority to EP96940319A priority Critical patent/EP0861462A1/en
Priority to JP9518925A priority patent/JPH11511580A/en
Priority to KR1019980702712A priority patent/KR19990064226A/en
Publication of WO1997018508A1 publication Critical patent/WO1997018508A1/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/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/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/0485Scrolling or panning
    • G06F3/04855Interaction with scrollbars
    • 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
    • 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/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/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

Definitions

  • the present invention relates to object position and pressure sensing transducers and systems. More particularly, the present invention relates to object position and pressure recognition useful in applications such as cursor movement for computing devices and other applications, and especially for enhancing the scrollbar feature in applications for computing devices.
  • the interface between the computer system user and the computer system is a graphical interface on a visual display.
  • the operating system presents in the graphical interface a "window" through which applications such as word processing, spreadsheets, database, etc. are viewed. It is common in applications to create electronic documents which are also depicted graphically in the visual display.
  • applications have a variety of features and controls. One common way of accessing these features and controls is by moving a graphical cursor over the graphical display of the feature by some manner of object position detector. The feature is then often activated by the object position detector itself.
  • 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,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 inte ⁇ olation 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.
  • 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 interpolation 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.
  • Gerpheide, PCT apphcation US90/04584, pubUcation 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.
  • Gerpheide 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.
  • scroUing feature One of the most common controls in appUcations is a scroUing feature.
  • Those of ordinary skill in the art are readily familiar with the scroUing feature of documents in graphical displays. With this feature, a user can move through a document line by Une. Unfortunately, the scrolUng takes place at a constant rate.
  • This feature is often accessed with an object position detector which is used to move the cursor over the scroll arrow. The document is then scrolled a constant rate by activating the scroU arrow, often with the object position detector. If the object position detector is a "mouse", the scroll arrow can be activated by depressing and holding the mouse button.
  • 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.
  • the present invention comprises a position-sensing technology particularly useful for applications where finger position information is needed, such as in computer "mouse" or trackbaU 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 Unes.
  • a first set of conductive Unes runs in a first direction and is insulated from a second set of conductive lines running in a second direction generaUy perpendicular to the first direction.
  • An insulating layer is disposed over the first and second sets of conductive Unes. The insulating layer is thin enough to promote significant capacitive coupUng between a finger placed on its surface and the first and second sets of conductive Unes.
  • 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, Z, of the one object on its surface.
  • fingers are to be considered interchangeable with conductive objects and objects of high dielectric constant.
  • ParaUel drive sense techniques allow input samples to be taken simultaneously, thus aU channels are affected by the same phase of an interfering electrical signal, greatly simpUfying the signal processing and noise filtering.
  • the voltages on aU 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.
  • 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.
  • 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 aU of the X Unes 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.
  • a scroll feature modifier uses the Z pressure information to make the rate of scroUing a function of the pressure information.
  • 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 aUow for a more powerful user interface.
  • noise reduction techniques are integrated into the system.
  • a capacitance measurement technique which is easier to caUbrate and implement is employed.
  • 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 iUustrative 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 iUustrative filter and sample/hold circuit for use in the present invention.
  • FIG. 7 is a more detaUed 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 Ulustrative arithmetic unit which may be used in the present invention.
  • FIG. 9 is a block diagram of a cahbration 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 iUustrating the edge motion feature of the object position sensor of the present invention.
  • FIG. 12 is a schematic diagram iUustrating 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 iUustrating hardware implementation of the edge motion feature of the present invention.
  • FIGS. 14a-14c are flow diagrams illustrating a process according to the present invention for recognizing tap and drag gestures.
  • 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 virtuaUy 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 smaU 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.
  • 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 plurahty of conductive lines running in a first direction e.g.,
  • X is sensed by X input processing circuitry 12 and the capacitance of a plurahty 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.
  • 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.
  • the virtual button output from gesture unit 20 may be used by motion unit 18 to implement some of the functionahty of motion unit 18.
  • the sensor material can be anything that aUows creation of a conductive X/Y matrix of pads. This includes not only standard PC boards, but also includes but is not Umited to flexible PC boards, conductive elastomer materials, silk-screened conductive Unes, and piezo-electric Kynar plastic materials. This renders it useful as well in any portable equipment application 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 "Ught-touch" feature wUl 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 scroll rate is made a function of the Z pressure information.
  • the rate of scrolling is dictated by the pressure information Z obtained from the arithmetic unit 16 through the touchpad 20. As the pressure information Z varies, so does the scroUing rate.
  • 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 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 RGS. 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 wiU 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 wUl 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 die 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 avaUable 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 mUs) to keep capacitive coupling large and may comprise a material, such as mylar, chosen for its protective and ergonomic characteristics.
  • the term "significant capacitive couphng" as used herein shall mean capacitive coupUng having a magnitude greater than about 0.5 pF.
  • the first capacitive effect is trans-capacitance, or coupling between sense pads 34
  • die second capacitive effect is self-capacitance, or coupling to virtual ground.
  • Sensing circuitry is coupled to the sensor a ⁇ ay 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 gready depending on the user environment.
  • the abiUty 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 appUcations.
  • a position sensor system including touch sensor array 22 and associated position detection circuitry wiU 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 wiU 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 wttl also report a Z value proportional to the outUne 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 VLSI techniques.
  • the circuit of the present invention is very robust and calibrates out process and systematic errors.
  • the detector circuit of the present invention wiU 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.
  • Those of ordinary skiU in the art wUl recognize that the size of the sensing matrix which may be employed in the present invention is arbitrary and wiU be dictated largely by design choice.
  • the X and Y matrix nodes are driven and sensed in paraUel, with the capacitive information from each Une indicating how close a finger is to that node.
  • the scanned information provides a profile of the finger proximity in each dimension.
  • die 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.
  • a second drive/sense method the voltages on all of the X lines of the sensor matrix are simultaneously moved in a positive direction, whUe the voltages of the Y lines are moved in a negative direction.
  • die voltages on aU of the X Unes 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 second drive/sense mediod accentuates transcapacitance and de- emphasizes virtual ground capacitance.
  • those of ordinary skiU in the art wUl recognize that order of these two steps is somewhat arbitrary and may be reversed.
  • FIG. 3 a block diagram of the presentiy 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 skUled persons wdl 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 technology disclosed herein could be apphed 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.
  • 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 ampUfier symbols.
  • Each charge-integrator circuit 44- 1 through 44-n is supplied with an operating bias voltage by bias-voltage generating circuit 46.
  • the phrase "proportional to the capacitance" means mat the voltage signal generated is a monotonic function of die sensed capacitance.
  • die voltage is directly and linearly proportional to die capacitance sensed.
  • monotonic functions including but not Umited to inverse proportionaUty, and non-linear proportionaUty such as logarithmic or exponential functions, could be employed in the present invention without departing from the principles disclosed herein.
  • 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 all 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 die circuit via the touching object.
  • large ampUtude noise large dv/dt noise
  • Such noise may distort the finger profile because of noise appearing in a later scan cycle but not an earUer 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 strengtii across all inputs, it is therefore symmetric around the finger centroid. Because it is symmetric around die finger centroid it does not affect the finger position. Additionally, die charge ampUfier performs a differential measuring function to further reject common-mode noise.
  • filter circuits 48-1 through 48-n are implemented as sample and hold switched capacitor filters.
  • the desired voltage is captured by die filter circuits 48-1 rough 48-n.
  • the filter circuits 48-1 through 48-n wdl filter out any high frequency noise from the sensed signal. This is accomplished by choosing the capacitor for die filter to be much larger man the output capacitance of charge integrator circuits 44- 1 through 44-n.
  • those of ordinary skill in the art wdl recognize diat die 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, me 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 well known in the art.
  • 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 wdl reaUze 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 wUl be about 1 volt.
  • the ⁇ V resulting from the presence of a finger or other object wiU typicaUy 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 minimum and maximum voltage reference points for the A/D converters. It has been found that noise wdl 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- j ⁇ , and V,,- ⁇ 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 .
  • any common mode noise present when the signals are sampled from the sensor array wUl also be present in the V-- ⁇ and V ma ⁇ reference voltage values and wiU tend to cancel.
  • reference capacitances 44-Vmin and 44- Vmax may either be discrete capacitors or extra traces in the sensor a ⁇ ay.
  • 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 die largest capacitance expected to be encountered in die 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 die weighted average of the signals on die 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 die 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 iUustrative 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 die controller block 56.
  • Charge integrator circuit 44 is based on die 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 wUl be produced on the capacitor which is inversely proportional to die capacitance.
  • the capacitance to be charged is the sensor matrix line capacitance 42 in parallel with an internal capacitor. This internal capacitor wiU contain d e voltage of interest
  • a charge integrator circuit input node 60 is connected to one of the X (or Y) Unes of die sensor matrix.
  • a first shorting switch 62 is connected between the charge integrator circuit input node 60 and V DD , the positive supply rail.
  • a second shorting switch 64 is connected between the charge integrator circuit input node 60 and ground, die negative supply rail.
  • a positive constant current source 66 is connected to V DD , the positive supply rail and to d e 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 dirough 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 DD 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 Unes.
  • d e sensor matrix line capacitance wUl be about lOpF and die 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.
  • the sensor matrix line is momentarily shorted to V D n through switch 62, switch 78 is closed connecting capacitor 74 in parallel with die capacitance of me sensor line. Then the parallel 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, dius storing the voltage on the sensor matrix line on capacitor 74.
  • the sensor line is then momentarily shorted to ground dirough switch 64, and switches 82 and 86 are closed to place capacitor 80 in paraUel witii die capacitance of the sensor line.
  • Switch 68 is closed and die parallel capacitor combination is charged with a constant current from current source 66 for a fixed time period equal to the fixed time period of die first cycle.
  • switch 86 is opened, tiius storing the voltage on the sensor matrix line on capacitor 80.
  • the first and second measured voltages are then averaged. This is accomplished by opening switch 82 and closing switches 88 and 84, which places capacitor 80 in parallel widi capacitor 74. Because capacitors 74 and 80 have die 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 die appropriate one of filter circuits 48-1 through 48-n.
  • the low frequency noise notably 50/60 Hz and tiieir 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 wiU 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 iUustrative 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 otiier 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 wiU be off when its control input is held low and wiU 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 controlled 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 controlled by a signal StepD ⁇ .
  • P-Channel MOS transistor 106 and N-Channel MOS transistor 108 are placed in series with P-Channel MOS cu ⁇ ent 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 Vbias, which sets the current through current mirror transistors 96 and 108.
  • Vbias is set by a servo feedback circuit as wiU be disclosed in more detail witii reference to FIG. 10.
  • wiU be disclosed in more detail witii reference to FIG. 10.
  • this embodiment aUows caUbration to occur in real time (via long time constant feedback) thereby zeroing out any long term effects due to sensor environmental changes.
  • Vbias is common for all charge integrator circuits 44- 1 through 44-n and 44- Vmax and 44- Vmin.
  • MOS transistors 102 and 108 may provide temperature compensation. This is accompUshed by taking advantage of the fact that the tiireshold of N-Channel MOS transistor 108 reduces with temperature while the mobUity of both N-Channel MOS transistors 102 and 108 reduce witii temperature.
  • the threshold reduction has the effect of increasing the current while the mobiUty reduction has the effect of decreasing die 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 die control signal ChUp.
  • the other plate of capacitor 80 is connected to ground through N-Channel MOS transistor 116
  • pass gate 118 is driven by control signal Share.
  • First die 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 equ ⁇ ibrium state.
  • StepDn The discharge process starts after ResetUp control signal goes inactive.
  • the StepDn control signal goes active, connecting MOS transistor 100, the discharge current source, to the input node 60 and its associated sensor line.
  • StepDn is active for a set amount of time, and die 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 die measured voltage on capacitor 74. That ends the discharge cycle.
  • the ResetDn control signal becomes active and shorts the sensor line to ground.
  • the SDn and ChDn control signals become active and connect capacitor 80 between ground and die sensor line. Capacitor 80 is discharged to ground, guaranteeing that die following 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 tiiereon.
  • the StepUp control signal is active for a set amount of time (preferably equal to die time for the previously mentioned cycle) allowing 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 d an a quarter of the period of die noise to be cancelled in order to take advantage of mis feature of the present invention.
  • FIG. 6 a schematic diagram of an iUustrative switched capacitor filter circuit 48 which may be used in die 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 die pass gate 126 and a fixed voltage such as ground, and an output node comprising die common connection between d e 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 die 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.
  • RC filters may be employed in the present invention.
  • A/D converters There are fewer A/D converters than there are lines in the touch sensor array, and die 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.
  • Analog multiplexer 130 has been conceptually drawn as six intemal multiplexer blocks 132-1 through 132-6.
  • inputs taken from sample/hold circuits 50-1 through 50-4 are multiplexed to the output of intemal multiplexer block 132- 1 which drives A/D converter 52- 1.
  • inputs taken from sample/hold circuits 50-5 through 50-8 are multiplexed to die output of intemal 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 die output of intemal multiplexer block 132-3 which drives A/D converter 52-3; inputs taken from sample/hold circuits 50-13 dirough 50-16 are multiplexed to die 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 schematically represented by bus 134.
  • bus 134 schematically represented by Analog multiplexer 130.
  • each of intemal multiplexers 132-1 through 132-6 are four-input multiplexers and tiius control bus 134 may comprise a two-bit bus for a one-of-four selection.
  • tiius control bus 134 may comprise a two-bit bus for a one-of-four selection.
  • multiplexers 132-1 through 132-6 wiU pass, in sequence, the analog voltages present on their first dirough 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 Une 136 to begin the A/D conversion process.
  • registers 138-1 through 138-6 may each comprise a two-word register, so tiiat 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 d e art.
  • aritiimetic 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.
  • die object position in eitiier direction may be determined by evaluating the weighted average of the capacitances measured on die individual sense Une of the sensor array 10.
  • the X direction is used, but those of ordinary skill in the art wiU recognize that the discussion applies to the determination of die weighted average in die Y direction as weU.
  • die 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 through 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 the A/D conversions.
  • the X and Y numerator accumulators 150 and 154 compute the weighted sum of die input data rather than die straight sum.
  • Accumulators 150, 152, 154, and 156 may be configured as hardware elements or as software running on a microprocessor as will be readily understood by tiiose of ordinary skUl in the art.
  • 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 0- ⁇ r ⁇ stored in X numerator offset register
  • Adder 168 subtracts the offset O D ⁇ stored in X denominator offset register 160.
  • Adder 170 subtracts the offset O NY stored in Y numerator offset register 162.
  • Adder 172 subtracts the offset
  • On ⁇ stored in Y denominator offset register 164 On ⁇ 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 wiU be disclosed later herein.
  • the offsets O DX , O ⁇ , O DY , and O NY are sampled from the accumulator contents when directed by calibration unit 180.
  • the architecture of the system of die present invention may be distributed in a number of ways, several of which involve the avadabiUty of a microprocessor, whether it be in a host computer to which die system of the present invention is connected or somewhere between the integrated circuit described herein and a host computer.
  • Embodiments of e present invention are contemplated wherein the accumulated numerator and denominator values representing die summation terms are delivered to such a microprocessor along witii the O ⁇ and O D offset values for processing, or where all processing is accomplished 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 the 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 die accumulator and the result stored in the accumulator. In succession, die 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- 17, and 50-21, respectively) are added to the sums in the accumulators and the results stored in the accumulators.
  • A/D converters 52-1 through 52-6 may at this time be converting the voltages present at the outputs of sample hold circuits 50-2, 50-6, 50-10, 50- 14, 50-18, and 50-22 and storing the digitized values in the second words of registers 138-1 through 138-6 respectively.
  • the digitized voltage values stored in the second words of registers 138-1 through 138-6 (representing the voltage at die outputs of-sample/hold circuits 50-2, 50-6, 50-10, 50-14, 50-18, and 50-22, respectively) are added to die sum in the 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 the result stored in the accumulator, foUowed by digitized voltage values stored in die second words of registers 138-1 dirough 138-6 (representing the voltage at the outputs of sample/hold circuits 50- 4, 50-8, 50-12, 50-16, 50-20, and 50-24, respectively).
  • the accumulators hold the sums of all of the individual digitized voltage values.
  • the digital values stored in the O N and O D offset registers 158 and 164 are now respectively subtracted from die values stored in die numerator and denominator accumulators.
  • the division operation in dividers 174 and 176 then completes the weighted average computation.
  • the division operation may also be performed by an extemal microprocessor which can fetch the values stored in the accumulators or perform die accumulations itself.
  • an extemal microprocessor which can fetch the values stored in the accumulators or perform die accumulations itself.
  • the additional processing overhead presented to such extemal microprocessor by mis division operation is minimal.
  • a dedicated microprocessor may be included on chip to handle these processing tasks without departing from the invention disclosed herein.
  • the above disclosed processing takes place within about 1 milUsecond and may be repeatedly performed.
  • Current mouse standards update position information 40 times per second, and tiius the apparatus of the present invention may easily be operated at tiiis repetition rate.
  • the system of the present invention is adaptable to changing conditions, such as component aging, changing capacitance due to humidity, and contamination of the touch surface, etc.
  • die present invention effectively minimizes ambient noise. According to die present invention, these effects are taken into consideration in three ways. First, the offset values O N and
  • a servo-feedback circuit is provided to determine the bias voltage used to set the bias of the charge-integrator circuits 44-1 through 44-n.
  • the reference voltage points for V max and V, ⁇ of the A/D converters are also dynamicaUy altered to increase the signal to noise margin.
  • FIG. 9 a block diagram of a calibration unit 150 which may be used with die aritiimetic unit of FIG. 8 is presented.
  • the calibration unit 150 executes an algorithm to establish the numerator and denominator offset values by attempting to determine when no finger or otiier conductive object is proximate to d e touch sensor array 22.
  • die ON and O D offset values represent d e baseline values of die array capacitances with no object present. These values are also updated according to the present invention since baseline levels which are too low or too high have the effect of shifting die apparent position of the object depending on die sign of the error. These values are established by selection of the values read when no object is present at the sensor array 22. Since there is no extemal 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 tiiese offset values. When the calibration unit sees a Z value which appears typical of the Z values when no finger is present, it instructs the offset registers (158, 160, 162, and 164 of FIG.
  • the decision to update die offset values is based on the behavior of the sensor array 22 in only one of die X or Y directions, but when the decision is made all four offsets (O NX ,
  • On X , ONY, and O ⁇ ) are updated.
  • the decision to update may be individually made for each direction according to die criteria set forth herein.
  • the cahbration algorithm works by monitoring changes in a selected one of the denominator accumulator values.
  • die sensitivity to changes in capacitance of one of die sets of conductive lines in the touch sensor array 22 is greater than the sensitivity to changes in capacitance of the other one of the sets of conductive Unes in the touch sensor array 22.
  • the set of conductive lines having the greater sensitivity to capacitance changes is the one which is physically located above die conductive Unes in the other direction and therefore closest to the touch surface of die sensor array 22.
  • the upper set of conductive lines tends to partially shield the lower set of conductive Unes from capacitive changes occurring above the surface of the sensor array 22.
  • the finger pressure is obtained by summing the capacitances measured on the sense Unes. This value is already present in the denominator accumulator after subtracting die offset O D . A finger is present if the pressure exceeds a suitable threshold value. This threshold may be chosen experiment-ally and is a function of surface material and circuit timing. The threshold may be adjusted to suit the tastes of the individual user.
  • the pressure reported by the device is a simple function f(X D Y D ) of the denominators for die X and Y directions as implemented in block 178 of FIG. 8.
  • Possible functions include choosing one preferred denominator value, or summing the denominators. In a presendy preferred embodiment, the smaller of the two denominators is chosen. This choice has the desirable effect of causing the pressure to go below die tiireshold if the finger moves sUghtly off the edge of the pad, where die X sensors are producing valid data, but the Y sensors are not, or vise versa. This acts as an electronic bezel which can take the place of a mechanical bezel at the periphery of the sensor area.
  • the Y denominator is chosen for momtoring because it is the most sensitive.
  • the chosen denominator is referred to as Z for the pu ⁇ oses of the calibration algorithm.
  • the current saved offset value for this denominator is referred to as O_7.
  • the goal of the calibration algorithm is to track gradual variations in the resting Z level whUe making sure not to calibrate to the finger, nor to calibrate to instantaneous spikes arising from noise.
  • the calibration algorithm could be implemented in digital or analog hardware, or in software. In a current embodiment actually tested by the inventors, it is implemented in software.
  • History buffer 184 which operates in conjunction with filter 182, keeps a "mnning average" of recent Z values.
  • a is a constant factor between 0 and 1 and typically close to 1 and Z is the cu ⁇ ent Z value.
  • alpha is approximately 0.95.
  • the intention is for F z to change slowly enough to follow gradual variations, witiiout being greatly affected by short perturbations in Z.
  • the filter 182 receives a signal ENABLE from control unit 186.
  • the mnning 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 cu ⁇ ent Z.
  • the history buffer 184 records the several most recent values of F z .
  • die history buffer records the two previous F z values.
  • the history buffer might be implemented as a shift register, circular queue, or analog delay Une.
  • the history buffer receives a REWIND signal from control unit 186, it restores the cu ⁇ ent mnning 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 the history buffer.
  • the pu ⁇ ose of the history buffer is to permit such retroactive disabUng.
  • the current mnning average F z is compared against the cu ⁇ ent Z value and die cu ⁇ ent offset O z by absolute difference units 188 and 190, and comparator 192.
  • Absolute difference unit 188 subtracts the values Z and F z and outputs the absolute value of their difference.
  • Absolute difference unit 190 subtracts the values O z and F z and outputs the absolute value of tiieir difference.
  • Comparator 192 asserts the UPDATE signal if the output of absolute difference unit
  • the UPDATE signal wdl tend to be asserted when the mean value of Z shifts to a new resting level. It wiU tend not to be asserted when Z makes a brief excursion away from its normal resting level.
  • the filter constant a determines die length of an excursion which wdl be considered "brief for this pu ⁇ ose.
  • Subtractor unit 194 is a simple subtractor that computes the signed difference between Z and O z .
  • This subtractor is actuaUy redundant with subtractor 172 in figure 8, and so may be merged with it in the actual implementation.
  • the output C z of this subtractor is the cahbrated Z value, an estimate of the finger pressure. This pressure value is compared against a positive and negative Z direshold by comparators 196 and 198. These thresholds are shown as Z ⁇ and -Z ⁇ H , although tiiey are not actuaUy required to be equal in magnitude.
  • pressure signal C z is greater than ⁇ H, the signal FINGER is asserted indicating the possible presence of a finger.
  • the Z ⁇ - j threshold used by the cahbration unit is simdar to that used by the rest of the system to detect the presence of die finger, or it may have a different value. In the present embodiment, die calibration is set somewhat lower than the main J ⁇ to ensure diat die cahbration unit makes a conservative choice about the presence of a finger. If pressure signal C z is less than - ⁇ -j, the signal FORCE is asserted.
  • O z is meant to be equal to die resting value of Z wim no finger present, and a finger can only increase the sensor capacitance and tiius the value of Z, a largely negative C z implies at die device must have inco ⁇ ectly cahbrated itself to a finger, which has just been removed.
  • Calibration logic 200 uses tiiis fact to force a recaUbration now that the finger is no longer present.
  • Control logic 186 is responsible for preventing mnning average F z from being influenced by Z values diat occur when a finger is present.
  • Output ENABLE is generally off when the FINGER signal is tme, and on when the FINGER signal is false.
  • the control logic when FINGER transitions from false to true, the control logic also pulses the REWIND signal. When FINGER transitions from tme to false, the control logic waits a short amount of time (comparable to the depdi of die history buffer) before asserting ENABLE. Thus, the running average is prevented from following Z whenever a finger is present, as well as for a short time before and after the finger is present.
  • Calibration logic 200 produces signal RECAL from the outputs of the three comparators 192, 196, and 198.
  • RECAL is asserted, the offset registers O N and O D wiU be reloaded from e cu ⁇ ent accumulator values.
  • RECAL is produced from the foUowing logic equation:
  • caUbration logic 200 a ⁇ anges to assert RECAL once when the system is first initiaUzed, possibly after a brief period to wait for the charge integrators and other circuits to stabdize.
  • control logic 186 and calibration logic 200 From the descriptions of control logic 186 and calibration logic 200, it wiU be apparent to those of ordinary skdl in the art that these blocks can be readily configured using conventional logic as a matter of simple and routine logic design.
  • caUbration algorithm described is not specific to the particular system of charge integrators and accumulators of the 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 cahbration point reflecting the state of the sensor when no finger or spurious noise is present.
  • bias voltage generating circuit 46 useful in the present invention is shown in schematic diagram form.
  • all of the bias transistors 108 (FIG. 4b) of charge integrator circuits 44- 1 through 44-n have their gates connected to a single source of bias voltage, although persons of ordinary skiU in die art recognize that other anangements are possible.
  • the bias voltage generating circuit 46 is an overdamped servo system.
  • a reference source which approximates the cu ⁇ ent source function of a typical one of die charge integrator circuits 44-1 through 44-n includes a capacitor 202 having one of its plates grounded. The other one of its plates is connected to the V D D power supply through a first pass gate 204 and to a current source transistor 206 through a second passgate 208.
  • a filter circuit 210 identical to the filter circuits 48-1 through 48-n and controlled by die same signal as filter circuits 48-1 through 48-n is connected to sample the voltage on capacitor 202 in the same manner that the filter-and-sample/hold circuits 48-1 through 48-n sample the voltages on the sensor conductor capacitances in the sensor array 22.
  • the output of filter circuit 210 is fed to the non-inverting input of a weak transconductance ampHfier 212, having a bias cu ⁇ ent in the range of from about 0.1-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 through passgate 222.
  • Capacitor 220 is chosen to be much larger than capacitor 218. In a typical embodiment of the 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 the drain and gate of N-Channel MOS transistor 228.
  • the source of P-Channel MOS transistor 226 is connected to V D D and the 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 initialize die 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 the new sample differs from the previous sample, the output voltage of transconductance ampUfier 212 wdl 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 the large size difference between capacitors 218 and 220, capacitor 218 cannot supply enough charge to equalize the voltage during the period when passgate 222 is open. This anangement prevents large changes in bias voltage from cycle to cycle.
  • Capacitor 202 should look as much as possible pie one of the sensor a ⁇ ay channels and has a value equal to the background capacitance of a typical sensor line, (i.e., with 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 a ⁇ ay, configured to approximate one of the active sensor Unes but shielded from finger capacitance by a ground plane, etc. Alternately, capacitor 202 may be a capacitor formed in the integrated circuit or connected thereto and having a value selected to match that of a typical sensor Une. In this respect, the signal source comprising capacitor 202 and filter circuit 210 is somewhat Uke the circuitry for generating the V--.- J - and V, ⁇ reference voltages, in that it mimics a typical sensor line.
  • one of the actual sensor lines may be employed to set the bias voltage.
  • the measured voltage on the two end-point sensor Unes may be compared and the one having the lowest value may be selected on the theory that, if a finger or other object is proximate to the sensor a ⁇ ay, it wdl not be present at sensor lines located at the opposite edges of die a ⁇ ay.
  • an "edge motion" feature may be implemented when die object position sensor of the 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 small mouse pad is used with a computer mouse, or when an object position sensor of the kind described herein has a smaU touch sensor area.
  • 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 the long-distance drag problem has been to provide an acceleration feature, i.e., a "ballistic" curve, where the gain varies as a function of finger speed, allowing die user to move long distances, albeit clumsdy, using a repeated finger swishing motion.
  • This technique can be used with any variable-speed pointing device, for example, with 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 system of the present invention can distinguish between die commonly used "cUck”, “double cUck” and “drag” mouse gestures.
  • the single-click and double-cUck gestures are implemented in a mouse using the mouse to move the cursor to the object of interest on the computer screen and dien "clicking" once or twice a mouse button connected to an electrical switch in the mouse body.
  • a significant advantage of die present invention is diat die need for mechanical switches is eliminated, and the single-click and double-cUck gestures are implemented in the present invention by moving the cursor to die object of interest and tiien tapping a finger tip once or twice on the selected object.
  • the present system can easdy distinguish these gestures from the drag gesture in which the finger is placed on die touch sensor surface and dragged across the surface in a desired direction while maintaining contact with die surface.
  • the edge motion feature of the object position sensor is implemented by motion unit 18 of FIG. 1 and works by defining two zones in die sensing plane 10 containing the touch sensor array 22.
  • the sensing plane 10 is preferably divided into an inner zone 240 comprising most of the central portion of the surface of sensing plane 10 and an outer zone 242, typicaUy comprising a thin marginal area at the periphery of the sensor a ⁇ ay.
  • the center of the sensing plane 10 may be described as the origin (X center , Y center ) a cartesian coordinate system.
  • Those of ordinary skiU in the art wiU recognize however that 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 line
  • Outer zone 242 is the region between the outer edges of the sensing plane 10 defined by Y max , -Y max - X a an d -X ma an ⁇ the outer borders of inner zone 240 defined by Y 0 , X 0 , -Y 0 , and -X Q .
  • 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 the present invention to communicate finger motion to a host computer.
  • ⁇ X die change in the X position of the finger
  • ⁇ Y die change in the Y position of the finger
  • X cur is the cu ⁇ ent X position of the finger
  • X oId is the last reported X position of die finger
  • Y cur is the current Y position of the finger
  • Y old is the last reported Y position of the finger
  • A is a "gain factor" which is commonly encountered in mouse cursor control applications.
  • the host computer takes ( ⁇ X- ⁇ Y) events and moves the cursor by the indicated amount in each axis, thus reconstructing die 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 whether the finger is in the outer zone is a simple determination:
  • FIG. 12 Ulustrates a hardware embodiment for determining whether a finger is in the outer zone 242, but those of ordinary skid in the art wdl readdy recognize that this determination could readdy 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 tme signal when the quantity X ⁇ at one of its inputs is greater than the fixed quantity X 0 presented to its other input.
  • Comparator 248 puts out a tme signal when the quantity X cur at one of its inputs is less tiian the fixed quantity -X 0 presented to its other input.
  • Comparator 250 puts out a tme signal when the quantity Y cur at one of its inputs is greater than the fixed quantity Y 0 presented to its other input.
  • Comparator 252 puts out a tme signal when the quantity Y cur at one of its inputs is less than the fixed quantity -Y 0 presented to its other input.
  • edge motion aspect of the present invention may be selectively enabled or disabled by a user.
  • X center is the X 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 the display screen.
  • die multipUcative speed factor S is set to be to be 3/4 as large as the multipUcative speed factor S ⁇ >
  • 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 witii the drag gesture, it is presently prefe ⁇ ed to a ⁇ ange for it to occur only during a drag, i.e., only when me gesture logic is virtually "holding die mouse button down.”
  • the drag gesture and other gestures are implemented by gesture unit 20 of FIG. 1.
  • the outer zone 242 "goes away” (i.e., is ignored) and the inner zone 240 effectively expands to cover the entire sensing plane 10. It has been found diat this is much less confusing in practice, probably because the user is more likely to be consciously aware of the cursor control device during a drag gesture than during simple cursor motions.
  • FIG. 13 A hardware implementation of this algorithm is iUustrated in FIG. 13 in schematic diagram form. While circuit 256 is shown implemented in the X direction only, those of ordinary skill in the art wiU recognize diat an identical circuit wdl also be employed in die Y direction. Such skiUed persons wdl also immediately appreciate the complete equivalence of implementing die hardware solution of FIG. 13 as a software routine.
  • Edge-motion circuit 256 includes a subtractor circuit 258 in which the previous value of X cur , stored in delay 260, is subtracted from the present value of X cur .
  • the ou ⁇ ut of subtractor circuit 258 is presented to multipUer 262, which multipUes the result by the gain factor "A".
  • the output of multipUer 262 is die term dX.
  • X cur is also presented to subtractor circuit 264 in which the value of X cen -- r * s subtracted from the present value of X cur .
  • the output of subtractor circuit 264 is presented to multiplier 266, which multiplies the result by d e gain factor "S".
  • a two-input AND gate 268 has its input terms the value FingerOuter from the circuit of FIG.
  • switch 270 is configured to pass the ou ⁇ ut of multiplier 266 to adder circuit 272. If either FingerOuter or MotionEnable is false, then switch 270 is configured to pass the value zero to adder 272.
  • the output of switch 270 is the eX term.
  • the output of adder 272 is passed to the host computer as
  • the MotionEnable signal can be controlled by the user, e.g., by a control panel. Altematively, it may be controUed by the gesture unit as will be more fully disclosed.
  • the dX term may be replaced by the eX term, and likewise for dY and eY, when die finger is in the "outer" zone, rather than adding the two terms in that zone. This results in a more "pure” edge motion which is harder for the user to guide. User tests have shown that the dX+eX form shown above feels better and is easier to use.
  • the edge motion feature of the present invention is used advantageously with one or more finger gestures which may be performed by a user on the sensor a ⁇ ay and are recognized by the system.
  • finger gestures which may be performed by a user on the sensor a ⁇ ay and are recognized by the system.
  • the tap gesture is analogous to the cUcking of the mouse button on a conventional mouse, and the concept of dragging objects is famdiar to aU mouse users.
  • the drag gesture consists of tapping once, foUowed by bringing the finger back down to die touch surface and moving it in the desired fashion.
  • the host computer sees the virtual mouse button being held down during tiiis entire gesture.
  • gesmre unit 20 detects the tap and drag gestures as follows. There are four state variables used to recognize the tap and drag gestures: TapState, NONE if there is no gesture in progress, TAP if a tap gesture is in progress, or DRAG if a drag gesture is in process; TapOkay, TRUE if high enough Z (finger pressure) has been seen to quahfy as a tap; DownTime, the time when the finger last touched down on the sensor pad; and DownPos, the starting (X,Y) position of the current tap.
  • TapState NONE if there is no gesture in progress
  • TAP if a tap gesture is in progress
  • DRAG if a drag gesture is in process
  • TapOkay TRUE if high enough Z (finger pressure) has been seen to quahfy as a tap
  • DownTime the time when the finger last touched down on the sensor pad
  • DownPos the starting (X,Y) position of the current tap.
  • the parameters utihzed are: TapTime is the maximum duration of a tap gesture; DragTime is the maximum duration of a tap-and-drag gesture; TapRadius is the maximum distance moved during a tap gesture; Ztap is the minimum pressure (Z) for a tap gesture; and Zthresh is the minimum pressure (Z) to detect a finger.
  • FIGS. 14a- 14c A process according to die present invention for recognizing tap and drag gestures is illustrated in the flow diagrams of FIGS. 14a- 14c.
  • Processing begins at step 280 for every new set of (X,Y,Z) data to arrive from the arithmetic unit 16 of FIG. 1. In a cu ⁇ ent embodiment of the system, such data arrive 40 times per second.
  • step 282 the Z (pressure) value is compared against the Z threshold Zthresh to determine whether a finger is present ("down") or not ("up").
  • a simple threshold comparison two thresholds may be used to provide hysteresis as is well-known in the art.
  • Step 290 records the position and die time at which the finger touched down.
  • Step 292 initiaUzes the TapOkay flag, which records whether or not the Z (pressure) information ever exceeds the Ztap threshold during the current tap.
  • step 294 the finger is known to be up.
  • the previous Z is checked to see whether the finger was previously up or is just now being lifted from the pad.
  • a finger-up transition has been detected.
  • Various tests are made of the most recent finger-down period to see if it quaUfies as a tap. To quaUfy, the finger-down period 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 qualify.
  • a smaU amount of motion may have occurred due to natural vibration of die finger and od er variations.
  • This motion wdl have already been transmitted to die host, causing die cursor to drift shghtiy away from the intended target of the tap gesture.
  • this spurious motion is replayed to the host in reverse in order to cancel it out.
  • the motion may be sent in a single lump-sum packet or replayed packet by packet If die host computer is not expected to apply extreme non-linear gain ("ballistics") to die received packets, a simple lump-sum transmission will suffice.
  • Steps 300 and 302 give special consideration to multiple taps. If a tap gesture is recognized, and a previous tap gesture (at this point a potential drag gesture) is pending, then one or more packets reporting a release of d e virtual mouse button are sent to the host. This prevents the virtual button presses resulting from the two taps from mnning together into a single long virtual button press.
  • the special button-release packet may be accompUshed by sending an extra packet to the host, or by setting a flag to suppress the virtual mouse button for the next subsequent packet.
  • Step 304 records that a tap gesture is now in progress.
  • step 306 the finger is still away from the pad. If the finger has been away from the pad long enough so that the cu ⁇ ent tap gesture (if any) no longer qualifies to be extended into a drag (i.e., Curtime minus DownTime exceeds Drag Time), or if a drag gesture is pending (TapState is
  • step 308 the current tap or drag is terminated in step 308 (causing the virtual mouse button to be released).
  • Steps 310 and 312 compare Z against Ztap. If Z is ever greater than Ztap during a given finger- down period, the TapOkay flag is set.
  • Steps 314, 316, and 318 cause die virtual mouse button to be pressed during a tap or drag gesture, and released at all other times.
  • TapTime is a fraction of a second and may be adjusted by the user
  • DragTime is approximately equal to TapTime
  • TapRadius is approximately 5-10% of the pad widtii.
  • FIG 15 a simpUfied block diagram of a host computer system 400 as used in accordance witii the present invention is shown.
  • the host computer system 400 has a central processing unit (CPU) 402 controUed by an operating system 404.
  • AppUcations 406, capable of being run by operating system 404 and CPU 402 are loaded into the memory of the host computer system 400 as is well known in the art.
  • documents in the appUcations 406 as weU as features and controls of the appUcations 406 are displayed graphically in a window on a visual display 408.
  • an apphcation 406 Many of the controls and features of an apphcation 406 are not provided by executable code (software) which is part of the application 406, but rather exists as pieces of software known in the art as a dynamically Unked Ubrary (DLL) 410 in the memory of the host computer system 400.
  • DLL dynamically Unked Ubrary
  • an application 406 accesses at mntime a DLL 410 for the desired feature or control through an operating system 404 facdity caUed a dynamic linker.
  • the dynamic linker wiU link an appUcation 406 to any DLL 410 desired by die application 406, thereby adding die feature represented by the DLL 410 to the application 406 without the need for executable code for diat feature to be actuaUy included in the code for the application 406.
  • DLL's 410 are provided by the operating system 404 for the use of applications 406.
  • various versions of the operating system 404 are provided by the operating system 404 for the use of applications 406.
  • Microsoft ® WindowsTM provide a rich set of standard DLL's for implementing most typical control and display functions. As a consequence, most appUcations are generaUy written to expect many controls and display functions to be DLL's.
  • the DLL's wdl be located and linked by the dynamic linker in the operating system at runtime.
  • Scrollbar One of the most common display functions provided operating systems as a DLL, and consequentiy implemented almost universally by appUcations through a DLL, is the scrollbar. Shown in FIG. 16 is a typical scrollbar 420 found in a graphical display. Usually, the scroUbar 420 is graphicaUy depicted along one edge of an application display window. Scrollbar 420 provides a means for moving through a document displayed in an application window, wherein die document is typically larger tiian can be displayed in its entirety in the window at one time. With the aid of the scrollbar 420, the apphcation user can move through the document incrementally either one line or approximately one page at a time or in large steps.
  • the scroUbar 420 shown in FIG. 16 comprises several graphically depicted components. These include an elevator 422, a shaft 424, and up and down scroll a ⁇ ows 426 and 428, respectively.
  • the elevator 422 is the central moving portion of the scroUbar 420.
  • the elevator 422 is also commonly known in the art as the tab or thumb.
  • the elevator 422 is positioned within the shaft 424 and the elevator 422 may be moved within the shaft 424 either by sUding the elevator 422 along the shaft 424 with a drag gesture, as described above, by positioning the cursor eidier above or below die elevator 422 in the shaft 424 and implementing a tap gesmre to move the elevator a single large step in the desired direction, or as in the present invent, by positioning the cursor over either of the up or down scroU a ⁇ ows 426 and 428 and implementing a drag gesture to activate either of the scroU a ⁇ ows 426 or 428.
  • a drag gesture as described above, by positioning the cursor eidier above or below die elevator 422 in the shaft 424 and implementing a tap gesmre to move the elevator a single large step in the desired direction, or as in the present invent, by positioning the cursor over either of the up or down scroU a ⁇ ows 426 and 428 and implementing a drag
  • the elevator 422 shows die relative location of the viewing window witiiin the document. For example, when the elevator 422 is near die top of the shaft 424 of scrollbar 420, me document in die viewing window is near the beginning, when the elevator 422 is near the bottom of the shaft 424 of scrollbar 420 the document in the viewing window is near the end. By moving the elevator 422 up and down in shaft 424, any portion of the document may be positioned in the viewing window.
  • the position of the document in die viewing window wdl move either up or down by approximately the size of a single viewing window. It is also known in die art that when die cursor is positioned in the shaft 424 and a tap gesture is implemented, the position of the document in the viewing window will correspond to the relative position of the cursor on the shaft 424 where the tap gesture was made.
  • the scroUing function when the cursor is position over either of the up or down scroll a ⁇ ows 426 and 428 and a drag gesmre is made, the scroUing function is implemented. Unlike the prior art, which implements the scroUing function at a constant rate, the present invention utilizes pressure information Z to vary the rate of the scrolling function according to the fmger pressure. Accordingly, when the user presses on a scroU a ⁇ ow firmly, the document wdl scroll quickly. When the user presses lightly, the scrolling would slow down or even stop. This enhancement to conventional scrolhng features makes navigation dirough documents easier and more natural.
  • the host computer system keeps track of the position of the cursor on the graphical interface.
  • the scroll a ⁇ ow is activated, usuaUy by depressing a mouse button, in a mouse driven system, the operating system sends a message to the application program.
  • the apphcation receives the message and is Unked to the operating system DLL implementing the scroll a ⁇ ow function.
  • the scroll a ⁇ ow is depressed, die document wiU be scrolled through the viewing window at a constant rate which is usuaUy set by the operating system.
  • a scroll modifier unit 412 implemented in the prefened embodiment as a software driver loaded and running simultaneously with the operating system 404 on the host computer system 400, instructs the operating system 404 that all scroll a ⁇ ow messages are not to be sent to applications 406, but rather are to be sent to the scroll modifier unit 412.
  • the scroU modifier unit 412 is implemented as a software driver, tiiose of ordinary skid in the wdl recognize that a hardware state machine is a known equivalent and would also be a reasonable implementation of the scroll modifier unit 412.
  • the scroU modifier unit 414 has access to the Z pressure information sensed by the touchpad sensor 414. With the pressure information, the scroU modifier is able to modify the scroll messages being sent by the operating system 404 to the applications 406.
  • FIG. 17 Shown in FIG. 17 is a flow chart according to die present invention.
  • the host computer system polls the object position information suppUed from the touch pad sensor.
  • the operating system determines that the position of the cursor is over the scroll anow and a drag gesture has been implemented, a scroU message is sent. It should be appreciated by those of ordinary skill in the art diat a virtual button implemented by a drag gesture may be implemented by other gestures as well. It should also be appreciated by those of ordinary skill in the art that using the position information to determine when the cursor is over the scroll anow is also well known.
  • the scroll message which is sent by the operating system is sent to the scroU modifier unit as it has instructed the operating system to do.
  • the scroll modifier unit modifies the scroU rate using the Z pressure information by making the scroU rate a function of the pressure information from the touchpad sensor.
  • the scroll rate is Unearly proportional to the pressure information.
  • the scroll message is then relayed to die application by the scroll modifier unit with a scroll rate which has been modified by the scroU modifier unit to be a function of the Z pressure info ⁇ nation.
  • step 460 the application Unks to the DLL for the scroUing function using the dynamic linker, and the document is scrolled as a function of the Z pressure information.
  • the increased sensitivity of the touch sensor system of the present invention aUows for a Ughter input finger touch which makes it easy for human use. Increased sensitivity also makes it easier to use other input objects, like pen styli, etc. Additionally this sensitivity aUows for a trade-off against a thicker protective layer, or different materials, which both aUow for lower manufacturing costs.
  • the sensor electronic circuit employed in die present invention is very robust and cahbrates out process and systematic enors. It wdl process the capacitive information from the sensor and provide digital information to an extemal device, for example, a microprocessor.
  • the senor of the present invention may be placed in a convenient location, e.g., below the "space bar" key in a portable computer.
  • a convenient location e.g., below the "space bar” key in a portable computer.
  • the thumb of the user may be used as the position pointer on the sensor to control the cursor position on the computer screen.
  • the cursor may then be moved without the need for die user's fingers to leave the keyboard.
  • this is similar to the concept of the Macintosh Power Book with it's trackball, however the present invention provides a significant advantage in size over the trackball.
  • Extensions of tiiis basic idea are possible in that two sensors could be placed below die "space bar” key for even more feature control.
  • the computer display widi it's cursor feedback is one small example of a very general area of application where a display could be a field of lights or LED's, 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 the articulating abihty of this interface, one or more of those inputs could be combined into one of the inputs described with respect to the present invention.
  • Consumer Electronic Equipment (stereos, graphic equahzers, mixers) applications often utiUze significant front panel surface area for slide potentiometers because variable control is needed.
  • the present invention can provide such control in one small 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 TV/VCR/Stereo controls could be ergonomically formed and allow for more powerful features if this sensor technology is used.
  • the sensor of the 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 abtiity of the sensor technology of the present invention is also key to this apphcation.
  • Computer games, "remote” controls (hobby electronics, planes) , and machine tool controls are a few examples of appUcations which would benefit from the sensor technology of the present invention.
  • the sensor technology of the 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

A proximity sensor system includes a sensor matrix array having a characteristic capacitance on horizontal and vertical conductors connected to sensor pads. The capacitance changes as a function of the proximity of an object to the sensor matrix. The change in capacitance of each node in both the X and Y directions of the matrix due to the approach of an object is converted to a set of voltages in the X and Y directions. These voltages are processed by circuitry to develop electrical signals representative of the centroid of the profile of the object, i.e., its position in the X and Y dimensions. Noise reduction and background level setting techniques inherently available in the architecture are employed. Pressure information is used to modify the scrolling speed.

Description

SEECIEXCΔIIQN
PRESSURESENSΓΠVE SCROLLBARFEATURE
RELATED APPLICATIONS This application is a continuation in part of co-pending application serial No. 08/300,630, filed
September 2, 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 co-pending applicauon serial No. 08/115,743, filed August 31, 1993, now United States Patent No. 5,374,707, which is a continuation-in-part of co-pending application serial No. 07/895,934, filed June 8, 1992.
BACKGROUND OF THE INVENTION
1. Field Of The Invention
The present invention relates to object position and pressure sensing transducers and systems. More particularly, the present invention relates to object position and pressure recognition useful in applications such as cursor movement for computing devices and other applications, and especially for enhancing the scrollbar feature in applications for computing devices.
2. The Prior Art
In the vast number of computer systems available today, the interface between the computer system user and the computer system is a graphical interface on a visual display. In several very widespread computer system operating systems, the operating system presents in the graphical interface a "window" through which applications such as word processing, spreadsheets, database, etc. are viewed. It is common in applications to create electronic documents which are also depicted graphically in the visual display. In order to create documents, applications have a variety of features and controls. One common way of accessing these features and controls is by moving a graphical cursor over the graphical display of the feature by some manner of object position detector. The feature is then often activated by the object position detector itself.
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 inteφolation 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 cancelled 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 interpolation 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 apphcation US90/04584, pubUcation 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. Gerpheide 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 boardlayout 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 inteφolation they can perform.
In prior co-pending application serial No. 08/115,743, filed August 31, 1993, now United States Patent No. , 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.
One of the most common controls in appUcations is a scroUing feature. Those of ordinary skill in the art are readily familiar with the scroUing feature of documents in graphical displays. With this feature, a user can move through a document line by Une. Unfortunately, the scrolUng takes place at a constant rate. This feature is often accessed with an object position detector which is used to move the cursor over the scroll arrow. The document is then scrolled a constant rate by activating the scroU arrow, often with the object position detector. If the object position detector is a "mouse", the scroll arrow can be activated by depressing and holding the mouse button.
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 the 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.
It is a further object of the present invention to provide a scroUing feature of an apphcation program wherein a document may be scroUed at a variable rate.
It is a further object of the invention vary the rate of the scrolling feature of an appUcations program as a function of pressure information sensed by an object position detector.
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 aUow 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 aU tablet rows or columns in paraUel. This paraUel-sensing capability, made possible by providing one set of electronics per row or column, aUows the sensing cycle to be extremely short, thus allowing fast response whUe 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 trackbaU 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 Unes. A first set of conductive Unes runs in a first direction and is insulated from a second set of conductive lines running in a second direction generaUy perpendicular to the first direction. An insulating layer is disposed over the first and second sets of conductive Unes. The insulating layer is thin enough to promote significant capacitive coupUng between a finger placed on its surface and the first and second sets of conductive Unes.
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, Z, 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. ParaUel drive sense techniques according to the present invention allow input samples to be taken simultaneously, thus aU channels are affected by the same phase of an interfering electrical signal, greatly simpUfying 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 aU 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 aU of the X Unes 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.
According to another aspect of the present invention, a scroll feature modifier uses the Z pressure information to make the rate of scroUing a function of the pressure information.
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 aUow 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 die system. This is possible because the paraUel 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 caUbrate and implement is employed.
According to another aspect 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. 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 iUustrative 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 iUustrative filter and sample/hold circuit for use in the present invention.
FIG. 7 is a more detaUed 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 Ulustrative arithmetic unit which may be used in the present invention.
FIG. 9 is a block diagram of a cahbration 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 iUustrating the edge motion feature of the object position sensor of the present invention.
FIG. 12 is a schematic diagram iUustrating 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 iUustrating hardware implementation of the edge motion feature of the present invention.
FIGS. 14a-14c are flow diagrams illustrating a process according to the present invention for recognizing tap and drag gestures.
DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT This apphcation is a continuation-in-part of co-pending appUcation serial No. 08/ , 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. , 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 easϋy integrated solution, increased sensitivity, and greater noise rejection, increased data acquisition rate and decreased power consumption. The present invention aUows 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 reaUze that the following description of the present invention is iUustrative only and not in any way Umiting. Other embodiments of the invention wϋl 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 virtuaUy 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 smaU 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 simpUfied 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 plurahty of conductive lines running in a first direction (e.g.,
"X") is sensed by X input processing circuitry 12 and the capacitance of a plurahty 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. 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. The virtual button output from gesture unit 20 may be used by motion unit 18 to implement some of the functionahty of motion unit 18.
The sensor material can be anything that aUows creation of a conductive X/Y matrix of pads. This includes not only standard PC boards, but also includes but is not Umited to flexible PC boards, conductive elastomer materials, silk-screened conductive Unes, and piezo-electric Kynar plastic materials. This renders it useful as well in any portable equipment application 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 "Ught-touch" feature wUl 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.
In the present invention, the scroll rate is made a function of the Z pressure information. According to the present invention, when the scroll feature is activated by moving a cursor over a scroU arrow in a graphical display, and the virtual button on the gesture unit 20 is depressed, the rate of scrolling is dictated by the pressure information Z obtained from the arithmetic unit 16 through the touchpad 20. As the pressure information Z varies, so does the scroUing rate.
The user will not even have to touch the surface to generate the minimum reaction. This feature can greatly minimize user strain and aUow 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 RGS. 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 wiU 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 wUl 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 die 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 avaUable 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 mUs) to keep capacitive coupling large and may comprise a material, such as mylar, chosen for its protective and ergonomic characteristics. The term "significant capacitive couphng" as used herein shall mean capacitive coupUng 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 die second capacitive effect is self-capacitance, or coupling to virtual ground. Sensing circuitry is coupled to the sensor aπay 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 gready depending on the user environment. The abiUty 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 appUcations.
According to the preferred embodiment of the invention, a position sensor system including touch sensor array 22 and associated position detection circuitry wiU 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 wiU 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 wttl also report a Z value proportional to the outUne 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 VLSI techniques. The circuit of the present invention is very robust and calibrates out process and systematic errors. The detector circuit of the present invention wiU process the capacitive input information and provide digital information which may be presented directly to a microprocessor.
According to this embodiment of die 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 skiU in the art wUl recognize that the size of the sensing matrix which may be employed in the present invention is arbitrary and wiU be dictated largely by design choice.
The X and Y matrix nodes are driven and sensed in paraUel, with the capacitive information from each Une 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, die 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 me invention, the voltages on aU of the X lines of the sensor matrix are simultaneously moved, whUe the voltages of the Y Unes are held at a constant voltage. Next, the voltages on all of the Y Unes of the sensor matrix are simultaneously moved, while the voltages of the X Unes 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, whUe the voltages of the Y lines are moved in a negative direction. Next, die voltages on aU of the X Unes 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 second drive/sense mediod accentuates transcapacitance and de- emphasizes virtual ground capacitance. As with the first drive/sense method, those of ordinary skiU in the art wUl recognize that order of these two steps is somewhat arbitrary and may be reversed.
Referring now to FIG. 3, a block diagram of the presentiy 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 skiU 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 skUled persons wdl 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 apphed 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 ampUfier symbols. Each charge-integrator circuit 44- 1 through 44-n is supplied with an operating bias voltage by bias-voltage generating circuit 46. As used herein, the phrase "proportional to the capacitance" means mat the voltage signal generated is a monotonic function of die sensed capacitance. In the embodiment described herein, die voltage is directly and linearly proportional to die capacitance sensed. Those of ordinary skiU in the art wUl recognize that other monotonic functions, including but not Umited to inverse proportionaUty, and non-linear proportionaUty 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 all 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 die circuit via the touching object. Such noise may distort the finger profile because of noise appearing in a later scan cycle but not an earUer 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 strengtii across all inputs, it is therefore symmetric around the finger centroid. Because it is symmetric around die finger centroid it does not affect the finger position. Additionally, die charge ampUfier performs a differential measuring function to further reject common-mode noise.
Because of the nature of die charge integrator circuits 44-1 through 44-n, their outputs wiU be changing over time and wUl 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 die filter circuits 48-1 rough 48-n. As controlled by control circuitry, 56, the filter circuits 48-1 through 48-n wdl filter out any high frequency noise from the sensed signal. This is accomplished by choosing the capacitor for die filter to be much larger man the output capacitance of charge integrator circuits 44- 1 through 44-n. In addition, those of ordinary skill in the art wdl recognize diat die switched capacitor filter circuits 48-1 through 48-n will capture the desired voltages and store them.
According to die present invention, the capacitance information obtained in voltage form from the capacitance measurements is digitized and processed in digital format. Accordingly, me 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 well 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 wdl reaUze that other resolutions may be employed. A/D converters 52 may be conventional successive approximation type converters as is known in the art.
Given die charge integrator circuitry employed in the present invention, the background level (no object present) of the charge integrator outputs wUl be about 1 volt. The ΔV resulting from the presence of a finger or other object wiU typicaUy 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 wdl 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-j^, and V,,-^ 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 wUl also be present in the V--^ and VmaΛ reference voltage values and wiU tend to cancel. Those of ordinary skill in the art wdl realize that reference capacitances 44-Vmin and 44- Vmax may either be discrete capacitors or extra traces in the sensor aπay.
According to die 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 die largest capacitance expected to be encountered in die 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 wiU be more fully disclosed with reference to FIG. 8, the function of arithmetic unit 16 is to compute die weighted average of the signals on die 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 die circuitry.
Because the system is discretely sampled and pipeUned 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 d e individual blocks of FIG. 3 wdl now be disclosed. Referring now to FIGS. 4a, 4b, and 5, a typical charge integrator circuit wiU be described. Charge integrator circuit 44 is shown as a simpUfied schematic diagram in FIG. 4a and as an iUustrative 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 die controller block 56.
Charge integrator circuit 44 is based on die 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 wUl be produced on the capacitor which is inversely proportional to die capacitance. The capacitance to be charged is the sensor matrix line capacitance 42 in parallel with an internal capacitor. This internal capacitor wiU contain d e voltage of interest
Referring now to FIG. 4a, a simpUfied schematic diagram of an Ulustrative charge integrator circuit 44 is shown. A charge integrator circuit input node 60 is connected to one of the X (or Y) Unes of die sensor matrix. A first shorting switch 62 is connected between the charge integrator circuit input node 60 and VDD, the positive supply rail. A second shorting switch 64 is connected between the charge integrator circuit input node 60 and ground, die negative supply rail. A positive constant current source 66 is connected to VDD, the positive supply rail and to d e 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 dirough 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 VDD 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 Unes. In a typical embodiment, d e sensor matrix line capacitance wUl be about lOpF and die capacitance of capacitors 74 and 80 should be about lpF.
According to die presendy preferred embodiment of d e 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 all switches are open unless they are noted as closed. First, the sensor matrix line is momentarily shorted to VDn through switch 62, switch 78 is closed connecting capacitor 74 in parallel with die capacitance of me sensor line. Then the parallel 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, dius storing the voltage on the sensor matrix line on capacitor 74.
The sensor line is then momentarily shorted to ground dirough switch 64, and switches 82 and 86 are closed to place capacitor 80 in paraUel witii die capacitance of the sensor line. Switch 68 is closed and die parallel capacitor combination is charged with a constant current from current source 66 for a fixed time period equal to the fixed time period of die first cycle. At the end of the fixed time period, switch 86 is opened, tiius storing the voltage on the sensor matrix line on capacitor 80.
The first and second measured voltages are then averaged. This is accomplished by opening switch 82 and closing switches 88 and 84, which places capacitor 80 in parallel widi capacitor 74. Because capacitors 74 and 80 have die 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 die appropriate one of filter circuits 48-1 through 48-n. The low frequency noise, notably 50/60 Hz and tiieir 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 wiU 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 iUustrative 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 skiU in the art wiU recognize that pass gates 90 and 92, as weU as aU of the otiier 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 wiU be off when its control input is held low and wiU 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 controlled 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 controlled by a signal StepDπ. P-Channel MOS transistor 106 and N-Channel MOS transistor 108 are placed in series with P-Channel MOS cuπent 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 Vbias, which sets the current through current mirror transistors 96 and 108. The voltage Vbias is set by a servo feedback circuit as wiU be disclosed in more detail witii reference to FIG. 10. Those of ordinary s-till in the art will appreciate that this embodiment aUows caUbration 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 die invention, Vbias is common for all charge integrator circuits 44- 1 through 44-n and 44- Vmax and 44- Vmin.
Note mat proper sizing of MOS transistors 102 and 108 may provide temperature compensation. This is accompUshed by taking advantage of the fact that the tiireshold of N-Channel MOS transistor 108 reduces with temperature while the mobUity of both N-Channel MOS transistors 102 and 108 reduce witii temperature. The threshold reduction has the effect of increasing the current while the mobiUty reduction has the effect of decreasing die 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 die 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 dirough 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 die 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 equϋibrium state.
The discharge process starts after ResetUp control signal goes inactive. The StepDn control signal goes active, connecting MOS transistor 100, the discharge current source, to the input node 60 and its associated sensor line. StepDn is active for a set amount of time, and die 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 die measured voltage on capacitor 74. That ends the discharge cycle.
Next, the ResetDn control signal becomes active and shorts the sensor line to ground. Simultaneously the SDn and ChDn control signals become active and connect capacitor 80 between ground and die sensor line. Capacitor 80 is discharged to ground, guaranteeing that die following 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 this 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 tiiereon. The StepUp control signal is active for a set amount of time (preferably equal to die time for the previously mentioned cycle) allowing 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 skiU 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 d e discharge and charge cycles is most effective when the two cycles are performed very close together in time. According to die present invention, the ChDn and ChUp signals should be asserted with respect to each other within a time period much less d an a quarter of the period of die noise to be cancelled in order to take advantage of mis feature of the present invention.
According to the present invention, two different drive/sense methods have been disclosed. Those of ordinary skid in the art wdl readdy observe d at d e 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 die 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 die present invention is shown. Those of ordinary skid in die art wdl 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 die pass gate 126 and a fixed voltage such as ground, and an output node comprising die common connection between d e 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 skid 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 die 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 skill in the art will 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 detaded block diagram of a presentiy 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 die 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 Une traces are assumed for die 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 intemal 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 conceptually drawn as six intemal 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 intemal 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 die output of intemal 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 die output of intemal multiplexer block 132-3 which drives A/D converter 52-3; inputs taken from sample/hold circuits 50-13 dirough 50-16 are multiplexed to die 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 schematically represented by bus 134. In the
Ulustrative embodiment shown in FIG. 7, each of intemal multiplexers 132-1 through 132-6 are four-input multiplexers and tiius control bus 134 may comprise a two-bit bus for a one-of-four selection. Those of ordinary skUl in the art will recognize that the arrangement of FIG. 7 is merely one of a number of specific solutions to die task of A/D conversion from twenty-four channels, and that other satisfactory equivalent arrangements are possible.
In a straightforward decoding scheme, multiplexers 132-1 through 132-6 wiU pass, in sequence, the analog voltages present on their first dirough 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 Une 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 tiiat 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 d e art.
Referring now to FIG. 8, a more detaded block diagram of the arithmetic unit 16 is presented. Those of ordinary skiU in the art wiU appreciate that aritiimetic 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 die invention, die object position in eitiier direction may be determined by evaluating the weighted average of the capacitances measured on die individual sense Une of the sensor array 10. In the following discussion, the X direction is used, but those of ordinary skill in the art wiU recognize that the discussion applies to the determination of die weighted average in die Y direction as weU. As is well known, die weighted average may be determined as foUows:
n
∑ i x ΔCi X position = -^ [Eq. 1]
∑ ΔCi
;=o
where ΔC, = C, - CO,. C, is the capacitance presentiy being measured on die ith trace and CO,- is the value measured on diat 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
Σ ι (Cι - CO/) i= 0
Xposition = — - 0 [Eq. 2]
Figure imgf000026_0001
ι =0 Using the distributive property of multiplication over addition, this expression is seen to be equivalent to:
n n
Xposition =
Figure imgf000027_0001
[Eq. 3]
- ∑ (CO/) + ∑ (CO ι=0 ι = 0
where the negative terms in both die numerator and denominator are offsets and represent the background value of the capacitances witii 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/) ι=0
Xposition = - [Eq. 4]
- OD + ∑ (Ci) ι=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 through 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 the A/D conversions. The X and Y numerator accumulators 150 and 154 compute the weighted sum of die input data rather than die straight sum. Accumulators 150, 152, 154, and 156 may be configured as hardware elements or as software running on a microprocessor as will be readily understood by tiiose of ordinary skUl in the art.
As may be seen from an examination of FIG. 8, numerator accumulators 150 and 154 compute the expression of Eq. 4: n
∑ ' x [Eq. 5] ι=0 and denominator accumulators 152 and 156 compute the expression of Eq. 4: n
∑ Cf [Eq. 6] ι= 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 0-^rχ stored in X numerator offset register
158. Adder 168 subtracts the offset ODχ 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
Onγ 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 wiU be disclosed later herein. The offsets ODX, O^, ODY, and ONY are sampled from the accumulator contents when directed by calibration unit 180.
Persons of ordinary skiU in the art wdl readdy appreciate that the architecture of the system of die present invention may be distributed in a number of ways, several of which involve the avadabiUty of a microprocessor, whether it be in a host computer to which die system of the present invention is connected or somewhere between the integrated circuit described herein and a host computer. Embodiments of e present invention are contemplated wherein the accumulated numerator and denominator values representing die summation terms are delivered to such a microprocessor along witii the O^ and OD offset values for processing, or where all processing is accomplished by a programmed microprocessor as is known in the art.
InitiaUy, the numerator and denominator accumulators 150, 152, 154, and 156 are set to zero during system startup. If the 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 die accumulator and the result stored in the accumulator. In succession, die 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- 17, and 50-21, respectively) are added to the sums in the accumulators and the results stored in the accumulators. As previously mentioned, A/D converters 52-1 through 52-6 may at this time be converting the voltages present at the outputs of sample hold circuits 50-2, 50-6, 50-10, 50- 14, 50-18, and 50-22 and storing the digitized values in the second words of registers 138-1 through 138-6 respectively.
Next, in succession, the digitized voltage values stored in the second words of registers 138-1 through 138-6 (representing the voltage at die outputs of-sample/hold circuits 50-2, 50-6, 50-10, 50-14, 50-18, and 50-22, respectively) are added to die sum in the 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 the result stored in the accumulator, foUowed by digitized voltage values stored in die second words of registers 138-1 dirough 138-6 (representing the voltage at the outputs of sample/hold circuits 50- 4, 50-8, 50-12, 50-16, 50-20, and 50-24, respectively).
At this point in time, the accumulators hold the sums of all of the individual digitized voltage values. The digital values stored in the ON and OD offset registers 158 and 164 are now respectively subtracted from die values stored in die numerator and denominator accumulators. The division operation in dividers 174 and 176 then completes the weighted average computation.
The division operation may also be performed by an extemal microprocessor which can fetch the values stored in the accumulators or perform die accumulations itself. As the ON and On offset values are presently derived by an extemal microprocessor, the additional processing overhead presented to such extemal microprocessor by mis division operation is minimal. Alternately, a dedicated microprocessor may be included on chip to handle these processing tasks without departing from the invention disclosed herein.
The above disclosed processing takes place within about 1 milUsecond and may be repeatedly performed. Current mouse standards update position information 40 times per second, and tiius the apparatus of the present invention may easily be operated at tiiis repetition rate.
Because of die nature of the method employed in the present invention, an opportunity exists to provide additional noise immunity without requiring additional hardware in the system of the present invention. While it is apparent that after the above-disclosed sequence has been performed, the accumulators may be cleared and the process repeated, die values may also be aUowed to remain in die accumulators. If this is done, an averaging function may be implemented to further filter out noise. According to this aspect of the invention, a number of samples are taken and n through die accumulators without clearing them at the end of the processing sequence. As presently preferred, twenty-five samples are processed before a single division result is taken for use by the system, thus greatly reducing the effects of transient system noise spikes. Those of ordinary skiU in the art wdl recognize that the number of samples taken prior to clearing the accumulators is a matter of design choice dictated by factors such as data acquisition rates, data processing rates etc.
The system of the present invention is adaptable to changing conditions, such as component aging, changing capacitance due to humidity, and contamination of the touch surface, etc. In addition, die present invention effectively minimizes ambient noise. According to die present invention, these effects are taken into consideration in three ways. First, the offset values ON and
On are dynamically updated to accommodate changing conditions. Second, a servo-feedback circuit is provided to determine the bias voltage used to set the bias of the charge-integrator circuits 44-1 through 44-n. Third, as previously disclosed herein, the reference voltage points for Vmax and V,^ of the A/D converters are also dynamicaUy altered to increase the signal to noise margin. Referring now to FIG. 9, a block diagram of a calibration unit 150 which may be used with die aritiimetic unit of FIG. 8 is presented. The calibration unit 150 executes an algorithm to establish the numerator and denominator offset values by attempting to determine when no finger or otiier conductive object is proximate to d e touch sensor array 22.
As previously disclosed, die ON and OD offset values represent d e baseline values of die array capacitances with no object present. These values are also updated according to the present invention since baseline levels which are too low or too high have the effect of shifting die apparent position of the object depending on die sign of the error. These values are established by selection of the values read when no object is present at the sensor array 22. Since there is no extemal 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 tiiese offset values. When the calibration unit sees a Z value which appears typical of the Z values when no finger is present, it instructs the offset registers (158, 160, 162, and 164 of FIG. 8) to reload from the current values of die accumulators. According to a presently preferred embodiment of die invention, the decision to update die offset values is based on the behavior of the sensor array 22 in only one of die X or Y directions, but when the decision is made all four offsets (ONX,
OnX, ONY, and O γ) are updated. In other embodiments of the invention, the decision to update may be individually made for each direction according to die criteria set forth herein.
The cahbration algorithm works by monitoring changes in a selected one of the denominator accumulator values. According to die present invention, it has been observed that die sensitivity to changes in capacitance of one of die sets of conductive lines in the touch sensor array 22 is greater than the sensitivity to changes in capacitance of the other one of the sets of conductive Unes in the touch sensor array 22. Experience suggests that the set of conductive lines having the greater sensitivity to capacitance changes is the one which is physically located above die conductive Unes in the other direction and therefore closest to the touch surface of die sensor array 22. The upper set of conductive lines tends to partially shield the lower set of conductive Unes from capacitive changes occurring above the surface of the sensor array 22. The finger pressure is obtained by summing the capacitances measured on the sense Unes. This value is already present in the denominator accumulator after subtracting die offset OD. A finger is present if the pressure exceeds a suitable threshold value. This threshold may be chosen experiment-ally and is a function of surface material and circuit timing. The threshold may be adjusted to suit the tastes of the individual user.
The pressure reported by the device is a simple function f(XD YD) of the denominators for die X and Y directions as implemented in block 178 of FIG. 8. Possible functions include choosing one preferred denominator value, or summing the denominators. In a presendy preferred embodiment, the smaller of the two denominators is chosen. This choice has the desirable effect of causing the pressure to go below die tiireshold if the finger moves sUghtly off the edge of the pad, where die X sensors are producing valid data, but the Y sensors are not, or vise versa. This acts as an electronic bezel which can take the place of a mechanical bezel at the periphery of the sensor area.
In the example of FIG. 8, the Y denominator is chosen for momtoring because it is the most sensitive. The chosen denominator is referred to as Z for the puφoses of the calibration algorithm. The current saved offset value for this denominator is referred to as O_7.
The goal of the calibration algorithm is to track gradual variations in the resting Z level whUe making sure not to calibrate to the finger, nor to calibrate to instantaneous spikes arising from noise. As wiU be apparent to those of ordinary skill in the art from the following disclosure, the calibration algorithm could be implemented in digital or analog hardware, or in software. In a current embodiment actually tested by the inventors, it is implemented in software.
As Z values arrive in die calibration unit, tiiey are passed through filter 182. History buffer 184, which operates in conjunction with filter 182, keeps a "mnning average" of recent Z values.
When a new Z value arrives, the current mnning average Fz is updated according to the 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 cuπent Z value. In the preferred embodiment, alpha is approximately 0.95. The intention is for Fz to change slowly enough to follow gradual variations, witiiout being greatly affected by short perturbations in Z. The filter 182 receives a signal ENABLE from control unit 186. The mnning 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 cuπent Z.
The history buffer 184 records the several most recent values of Fz. In the present embodiment, die history buffer records the two previous Fz values. The history buffer might be implemented as a shift register, circular queue, or analog delay Une. When the history buffer receives a REWIND signal from control unit 186, it restores the cuπent mnning 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 the history buffer. The puφose of the history buffer is to permit such retroactive disabUng.
The current mnning average Fz is compared against the cuπent Z value and die cuπent offset Oz by absolute difference units 188 and 190, and comparator 192. Absolute difference unit 188 subtracts the values Z and Fz and outputs the absolute value of their difference. Absolute difference unit 190 subtracts the values Oz and Fz and outputs the absolute value of tiieir difference. Comparator 192 asserts the UPDATE signal if the output of absolute difference unit
188 is less than the output of absolute difference unit 190, i.e., if Fz is closer to Z than it is to
Oχ. The UPDATE signal wdl tend to be asserted when the mean value of Z shifts to a new resting level. It wiU tend not to be asserted when Z makes a brief excursion away from its normal resting level. The filter constant a determines die length of an excursion which wdl be considered "brief for this puφose.
Subtractor unit 194 is a simple subtractor that computes the signed difference between Z and Oz.
This subtractor is actuaUy redundant with subtractor 172 in figure 8, and so may be merged with it in the actual implementation. The output Cz of this subtractor is the cahbrated Z value, an estimate of the finger pressure. This pressure value is compared against a positive and negative Z direshold by comparators 196 and 198. These thresholds are shown as Z^ and -ZτH, although tiiey are not actuaUy required to be equal in magnitude.
If pressure signal Cz is greater than ΓH, the signal FINGER is asserted indicating the possible presence of a finger. The Zπ-j threshold used by the cahbration unit is simdar to that used by the rest of the system to detect the presence of die finger, or it may have a different value. In the present embodiment, die calibration
Figure imgf000032_0001
is set somewhat lower than the main JΉ to ensure diat die cahbration unit makes a conservative choice about the presence of a finger. If pressure signal Cz is less than - π-j, the signal FORCE is asserted. Since Oz is meant to be equal to die resting value of Z wim no finger present, and a finger can only increase the sensor capacitance and tiius the value of Z, a largely negative Cz implies at die device must have incoπectly cahbrated itself to a finger, which has just been removed. Calibration logic 200 uses tiiis fact to force a recaUbration now that the finger is no longer present. Control logic 186 is responsible for preventing mnning average Fz from being influenced by Z values diat occur when a finger is present. Output ENABLE is generally off when the FINGER signal is tme, and on when the FINGER signal is false. However, when FINGER transitions from false to true, the control logic also pulses the REWIND signal. When FINGER transitions from tme to false, the control logic waits a short amount of time (comparable to the depdi of die history buffer) before asserting ENABLE. Thus, the running average is prevented from following Z whenever a finger is present, as well as for a short time before and after the finger is present.
Calibration logic 200 produces signal RECAL from the outputs of the three comparators 192, 196, and 198. When RECAL is asserted, the offset registers ON and OD wiU be reloaded from e cuπent accumulator values. RECAL is produced from the foUowing logic equation:
RECAL = FORCE or (UPDATE and not FINGER). [Eq. 8]
In addition, caUbration logic 200 aπanges to assert RECAL once when the system is first initiaUzed, possibly after a brief period to wait for the charge integrators and other circuits to stabdize.
From the descriptions of control logic 186 and calibration logic 200, it wiU be apparent to those of ordinary skdl in the art that 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 skid in the art that the caUbration algorithm described is not specific to the particular system of charge integrators and accumulators of the 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 cahbration 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 presently prefeπed embodiment of the invention, all of the bias transistors 108 (FIG. 4b) of charge integrator circuits 44- 1 through 44-n have their gates connected to a single source of bias voltage, although persons of ordinary skiU in die art recognize that other anangements are possible. There are a number of ways in which to generate the bias voltage required by charge integrator circuits 44-1 through 4-n.
As may be seen from an examination of FIG. 10, the bias voltage generating circuit 46 is an overdamped servo system. A reference source which approximates the cuπent source function of a typical one of die charge integrator circuits 44-1 through 44-n includes a capacitor 202 having one of its plates grounded. The other one of its plates is connected to the VDD power supply through a first pass gate 204 and to a current source transistor 206 through a second passgate 208. A filter circuit 210, identical to the filter circuits 48-1 through 48-n and controlled by die same signal as filter circuits 48-1 through 48-n is connected to sample the voltage on capacitor 202 in the same manner that the filter-and-sample/hold circuits 48-1 through 48-n sample the voltages on the sensor conductor capacitances in the sensor array 22.
The output of filter circuit 210 is fed to the non-inverting input of a weak transconductance ampHfier 212, having a bias cuπent in the range of from about 0.1-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 through passgate 222. Capacitor 220 is chosen to be much larger than capacitor 218. In a typical embodiment of the 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 the drain and gate of N-Channel MOS transistor 228. The source of P-Channel MOS transistor 226 is connected to VDD and the 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 initialize die 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 the new sample differs from the previous sample, the output voltage of transconductance ampUfier 212 wdl 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 the large size difference between capacitors 218 and 220, capacitor 218 cannot supply enough charge to equalize the voltage during the period when passgate 222 is open. This anangement prevents large changes in bias voltage from cycle to cycle. Capacitor 202 should look as much as possible Idee one of the sensor aπay channels and has a value equal to the background capacitance of a typical sensor line, (i.e., with 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 aπay, configured to approximate one of the active sensor Unes but shielded from finger capacitance by a ground plane, etc. Alternately, capacitor 202 may be a capacitor formed in the integrated circuit or connected thereto and having a value selected to match that of a typical sensor Une. In this respect, the signal source comprising capacitor 202 and filter circuit 210 is somewhat Uke the circuitry for generating the V--.-J- and V,^ reference voltages, in that it mimics a typical sensor line.
As anodier altemative, one of the actual sensor lines may be employed to set the bias voltage. The measured voltage on the two end-point sensor Unes may be compared and the one having the lowest value may be selected on the theory that, if a finger or other object is proximate to the sensor aπay, it wdl not be present at sensor lines located at the opposite edges of die aπay.
According to another aspect of die present invention, an "edge motion" feature may be implemented when die object position sensor of the 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 small mouse pad is used with a computer mouse, or when an object position sensor of the kind described herein has a smaU touch sensor area.
In touch sensor applications, this problem is especially acute during a "drag" gesture. If die user Ufts die finger to begin a second stroke, the 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 the long-distance drag problem has been to provide an acceleration feature, i.e., a "ballistic" curve, where the gain varies as a function of finger speed, allowing die user to move long distances, albeit clumsdy, using a repeated finger swishing motion. This technique can be used with any variable-speed pointing device, for example, with 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 system of the present invention can distinguish between die commonly used "cUck", "double cUck" and "drag" mouse gestures. The single-click and double-cUck gestures are implemented in a mouse using the mouse to move the cursor to the object of interest on the computer screen and dien "clicking" once or twice a mouse button connected to an electrical switch in the mouse body. A significant advantage of die present invention is diat die need for mechanical switches is eliminated, and the single-click and double-cUck gestures are implemented in the present invention by moving the cursor to die object of interest and tiien tapping a finger tip once or twice on the selected object. The present system can easdy distinguish these gestures from the drag gesture in which the finger is placed on die touch sensor surface and dragged across the surface in a desired direction while maintaining contact with die surface.
According to a presently preferred embodiment of the invention, the edge motion feature of the object position sensor is implemented by motion unit 18 of FIG. 1 and works by defining two zones in die sensing plane 10 containing the touch sensor array 22. As shown in FIG. 11, the sensing plane 10 is preferably divided into an inner zone 240 comprising most of the central portion of the surface of sensing plane 10 and an outer zone 242, typicaUy comprising a thin marginal area at the periphery of the sensor aπay. The center of the sensing plane 10 may be described as the origin (Xcenter, Ycenter) a cartesian coordinate system. Those of ordinary skiU in the art wiU recognize however that 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 line
X0, lower dashed line -Y0 and left-hand dashed line -XQ. Outer zone 242 is the region between the outer edges of the sensing plane 10 defined by Ymax, -Ymax- X a and -Xma an^ the outer borders of inner zone 240 defined by Y0, X0, -Y0, and -XQ.
According to this 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 the art, the standard way to communicate mouse motion to a host computer may also be employed in the present invention to communicate finger motion to a host computer. After the finger position is established as disclosed herein, the information communicated to the host computer is:
ΔX = A(Xcur - Xold) [Eq. 9]
ΔY = A(Ycur - Yold) .Eq. 10]
where ΔX is die change in the X position of the finger, ΔY is die change in the Y position of the finger, Xcur is the cuπent X position of the finger and XoId is the last reported X position of die finger, Ycur is the current Y position of the finger and Yold is the last reported Y position of the finger, and A is a "gain factor" which is commonly encountered in mouse cursor control applications. Typically, the host computer takes (ΔX-ΔY) events and moves the cursor by the indicated amount in each axis, thus reconstructing die 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 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 whether the finger is in the outer zone is a simple determination:
[-X0 < Xcur < XQ] is FALSE, OR [-Y0 < Ycur < Y0] is FALSE [Eq. 11]
Referring now to FIG. 12, 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 Ulustrates a hardware embodiment for determining whether a finger is in the outer zone 242, but those of ordinary skid in the art wdl readdy recognize that this determination could readdy 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 tme signal when the quantity X^ at one of its inputs is greater than the fixed quantity X0 presented to its other input. Comparator 248 puts out a tme signal when the quantity Xcur at one of its inputs is less tiian the fixed quantity -X0 presented to its other input. Comparator 250 puts out a tme signal when the quantity Ycur at one of its inputs is greater than the fixed quantity Y0 presented to its other input. Comparator 252 puts out a tme signal when the quantity Ycur at one of its inputs is less than the fixed quantity -Y0 presented to its other input.
The outputs of comparators 246, 248, 250, and 252 are ORed togedier by OR gate 254. As wiU be appreciated by those of ordinary skill in the art, the FingerOuter signal ouφut of OR gate 254 is tme only when the necessary conditions of Eq. 11 are satisfied.
It is presently prefeπed that the edge motion aspect of the present invention may be selectively enabled or disabled by a user. When the edge motion feature is enabled and die finger is reported as being in the outer zone as set forth above, a second component is added to the (ΔX.ΔY) events reported: ΔX =A (Xcur - Xold)+ S(Xcur - Xcenler) [Eq. 12]
ΔY = A(Ycur - Y0]d)+ S(Ycur - Yceπter) [Eq. 13]
where Xcenter is the X coordinate of the center of the pad, Ycenter *s e γ 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 the display screen.
For example, if the finger is held a good distance to the right (so diat 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 aπay has different dimensions in X and Y, it is useful to set die multipUcative speed factor S parameters in the X and Y directions to differ by die same ratio as the pad dimensions, so mat a finger held at die left or right edge of die sensor aπay will produce the same cursor speed as a finger held at the top or bottom edge. In the presendy preferred embodiment of die sensor aπay, there are 24 X traces and 18 Y traces. Therefore, since X is 4/3 wider than Y (24 traces vs. 18 traces), the X multipUcative speed factor S is set to be to be 3/4 as large as the multipUcative speed factor Sγ>
The gUde speed of the cursor during edge motion is clearly a direct function of die distance of the finger from the center of the pad, and die glide direction is equal to die direction of the finger from the center. If the outer zone has the prefeπed "edge margin" shape as shown in FIG. 11 , then the finger wdl always be roughly the same distance from die center whenever edge motion is activated (within a factor of the square root of 2 = 1.41, assuming a square pad). Thus, the psychological effect is that edge motion involves a constant glide speed where the direction is set by the position around the sensor aπay edge.
The square root of 2 variation may be canceled out by dividing the edge motion terms in equations (12 and 13) by a normalizing factor of the form:
^ ( Cur ~ xcenter) + (γcur ~ γcenter) [Eq. 14]
but this is a computationally intensive step applied to fix a problem that is barely noticeable to the average user; thus, it may be omitted. 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 witii the drag gesture, it is presently prefeπed to aπange for it to occur only during a drag, i.e., only when me gesture logic is virtually "holding die mouse button down." The drag gesture and other gestures are implemented by gesture unit 20 of FIG. 1.
At times when die edge-motion function is not desired, the outer zone 242 "goes away" (i.e., is ignored) and the inner zone 240 effectively expands to cover the entire sensing plane 10. It has been found diat this is much less confusing in practice, probably because the user is more likely to be consciously aware of the cursor control device during a drag gesture than during simple cursor motions.
Assuming the prefeπed zone boundary shape of FIG. 11, the following algorithm may be employed to implement the edge motion feature of the present invention:
IF NOT (-X0 < Xcur < X0 AND - Y0 < Ycur < Y0)
AND (optionaUy) a drag gesture in progress, THEN Let eX = Sx (Xcur - Xcenter)
Let eY = Sγ(Ycur - Ycenter) ELSE
Let eX = eY = O. END IF Next, the dX and dY motion terms are computed from die regular algoridim: i.e., Let dX = A(Xcur - Xold) Let dY = A(Ycur - Yold)
Finally, the resultant packet (ΔX = dX+eX, ΔY = dY+eY) is transmitted to the host computer. Those of ordinary skill in the art wiU recognize that a Unear proportionaUty is described by die above equation. As used herein, "proportionaUty" means that the signal generated is a monotonic function. Those of ordinary skill in the art wiU recognize that other monotonic functions, including but not limited to inverse proportionaUty, and non-Unear proportionaUty such as logarithmic or exponential functions, could be employed in the present invention witi out departing from the principles disclosed herein.
A hardware implementation of this algorithm is iUustrated in FIG. 13 in schematic diagram form. While circuit 256 is shown implemented in the X direction only, those of ordinary skill in the art wiU recognize diat an identical circuit wdl also be employed in die Y direction. Such skiUed persons wdl also immediately appreciate the complete equivalence of implementing die hardware solution of FIG. 13 as a software routine.
Edge-motion circuit 256 includes a subtractor circuit 258 in which the previous value of Xcur, stored in delay 260, is subtracted from the present value of Xcur. The ouφut of subtractor circuit 258 is presented to multipUer 262, which multipUes the result by the gain factor "A". The output of multipUer 262 is die term dX.
The term Xcur is also presented to subtractor circuit 264 in which the value of Xcen--r *s subtracted from the present value of Xcur. The output of subtractor circuit 264 is presented to multiplier 266, which multiplies the result by d e gain factor "S".
A two-input AND gate 268 has its input terms the value FingerOuter from the circuit of FIG.
12 and the value MotionEnable which is a toggled on/off enable signal for the edge motion feature of the present invention. If both FingerOuter and MotionEnable are tme, switch 270 is configured to pass the ouφut of multiplier 266 to adder circuit 272. If either FingerOuter or MotionEnable is false, then switch 270 is configured to pass the value zero to adder 272. The output of switch 270 is the eX term. The output of adder 272 is passed to the 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 the gesture unit as will be more fully disclosed.
In an altemate form, the dX term may be replaced by the eX term, and likewise for dY and eY, when die finger is in the "outer" zone, rather than adding the two terms in that zone. This results in a more "pure" edge motion which is harder for the user to guide. User tests have shown that the dX+eX form shown above feels better and is easier to use.
Another altemative 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 the distance of the finger into the outer zone rather than the distance from the center of the pad. Thus, as the finger enters the outer zone the glide speed starts at zero and increases to some reasonable limit as the finger reaches the edge of die pad. The result is a smoother transition between edge-motion and normal behavior. It is not difficult to modify the above formulas to produce this altemate behavior. This variant was tried by the inventors because the transition into edge-motion mode seemed too ab pt; tests showed that tiiis abruptness 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 the user by suφrise. Those of ordinary skill in the art wdl appreciate that a solution midway between the two described methods can also be employed to produce a less abmpt transition. An altemate solution to die long-distance drag problem has been to provide a "locking" drag, but tiiis can be confusing since the lock state becomes a hidden mode, a weU-known undesirable item in the study of user interfaces.
The edge motion feature of the present invention is used advantageously with one or more finger gestures which may be performed by a user on the sensor aπay and are recognized by the system. Of particular interest are the basic tap and drag gestures. The tap gesture is analogous to the cUcking of the mouse button on a conventional mouse, and the concept of dragging objects is famdiar to aU mouse users. The drag gesture consists of tapping once, foUowed by bringing the finger back down to die touch surface and moving it in the desired fashion. The host computer sees the virtual mouse button being held down during tiiis entire gesture.
Referring back to FIG. 1, gesmre unit 20 detects the tap and drag gestures as follows. There are four state variables used to recognize the tap and drag gestures: TapState, NONE if there is no gesture in progress, TAP if a tap gesture is in progress, or DRAG if a drag gesture is in process; TapOkay, TRUE if high enough Z (finger pressure) has been seen to quahfy as a tap; DownTime, the time when the finger last touched down on the sensor pad; and DownPos, the starting (X,Y) position of the current tap.
The parameters utihzed are: TapTime is the maximum duration of a tap gesture; DragTime is the maximum duration of a tap-and-drag gesture; TapRadius is the maximum distance moved during a tap gesture; Ztap is the minimum pressure (Z) for a tap gesture; and Zthresh is the minimum pressure (Z) to detect a finger.
A process according to die present invention for recognizing tap and drag gestures is illustrated in the flow diagrams of FIGS. 14a- 14c.
Processing begins at step 280 for every new set of (X,Y,Z) data to arrive from the arithmetic unit 16 of FIG. 1. In a cuπent embodiment of the system, such data arrive 40 times per second.
In step 282, the Z (pressure) value is compared against the Z threshold Zthresh to determine whether a finger is present ("down") or not ("up"). Instead of a simple threshold comparison, two thresholds may be used to provide hysteresis as is well-known in the art.
In step 284, die finger is known to be down. The previous Z is checked to see whether the finger was previously down or is just now touching down on the pad. In step 286, a finger-down transition has been detected. If a tap gesture has recently been reported (Tapstate = TAP), then, in step 288 this pending tap gesture is converted into a potential drag gesmre.
Step 290 records the position and die time at which the finger touched down.
Step 292 initiaUzes the TapOkay flag, which records whether or not the Z (pressure) information ever exceeds the Ztap threshold during the current tap.
In step 294, the finger is known to be up. The previous Z is checked to see whether the finger was previously up or is just now being lifted from the pad.
In step 296, a finger-up transition has been detected. Various tests are made of the most recent finger-down period to see if it quaUfies as a tap. To quaUfy, the finger-down period 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 qualify.
During the finger-down period which has quaUfied as a tap, a smaU amount of motion may have occurred due to natural vibration of die finger and od er variations. This motion wdl have already been transmitted to die host, causing die cursor to drift shghtiy away from the intended target of the tap gesture. In step 298, this spurious motion is replayed to the host in reverse in order to cancel it out. The motion may be sent in a single lump-sum packet or replayed packet by packet If die host computer is not expected to apply extreme non-linear gain ("ballistics") to die received packets, a simple lump-sum transmission will suffice.
Steps 300 and 302 give special consideration to multiple taps. If a tap gesture is recognized, and a previous tap gesture (at this point a potential drag gesture) is pending, then one or more packets reporting a release of d e virtual mouse button are sent to the host. This prevents the virtual button presses resulting from the two taps from mnning together into a single long virtual button press. The special button-release packet may be accompUshed by sending an extra packet to the host, or by setting a flag to suppress the virtual mouse button for the next subsequent packet.
Step 304 records that a tap gesture is now in progress.
In step 306, the finger is still away from the pad. If the finger has been away from the pad long enough so that the cuπent tap gesture (if any) no longer qualifies to be extended into a drag (i.e., Curtime minus DownTime exceeds Drag Time), or if a drag gesture is pending (TapState is
DRAG), then the current tap or drag is terminated in step 308 (causing the virtual mouse button to be released).
Steps 310 and 312 compare Z against Ztap. If Z is ever greater than Ztap during a given finger- down period, the TapOkay flag is set.
Steps 314, 316, and 318 cause die virtual mouse button to be pressed during a tap or drag gesture, and released at all other times.
In a current embodiment of an actual system according to the present invention, TapTime is a fraction of a second and may be adjusted by the user, DragTime is approximately equal to TapTime, and TapRadius is approximately 5-10% of the pad widtii.
The "MotionEnable" signal into AND gate 268 of FIG. 13 is obtained by either MotionEnable = (TapState = DRAG) or MotionEnable = (TapState = DRAG) OR (TapState = TAP).
While the foregoing disclosure refers to two particular gestures, those of ordinary skiU in the art wiU recognize that other gestures may be employed in the system of the present invention.
Referring next to FIG 15, a simpUfied block diagram of a host computer system 400 as used in accordance witii the present invention is shown. The host computer system 400 has a central processing unit (CPU) 402 controUed by an operating system 404. AppUcations 406, capable of being run by operating system 404 and CPU 402 are loaded into the memory of the host computer system 400 as is well known in the art. As discussed in the prior art, documents in the appUcations 406 as weU as features and controls of the appUcations 406 are displayed graphically in a window on a visual display 408.
Many of the controls and features of an apphcation 406 are not provided by executable code (software) which is part of the application 406, but rather exists as pieces of software known in the art as a dynamically Unked Ubrary (DLL) 410 in the memory of the host computer system 400. In order to add the feature or control implemented by a DLL 410, an application 406 accesses at mntime a DLL 410 for the desired feature or control through an operating system 404 facdity caUed a dynamic linker. The dynamic linker wiU link an appUcation 406 to any DLL 410 desired by die application 406, thereby adding die feature represented by the DLL 410 to the application 406 without the need for executable code for diat feature to be actuaUy included in the code for the application 406. Depending on the operating system 404, a wide variety of DLL's 410 are provided by the operating system 404 for the use of applications 406. For example, various versions of the
Microsoft® Windows™ provide a rich set of standard DLL's for implementing most typical control and display functions. As a consequence, most appUcations are generaUy written to expect many controls and display functions to be DLL's. The DLL's wdl be located and linked by the dynamic linker in the operating system at runtime.
One of the most common display functions provided operating systems as a DLL, and consequentiy implemented almost universally by appUcations through a DLL, is the scrollbar. Shown in FIG. 16 is a typical scrollbar 420 found in a graphical display. Usually, the scroUbar 420 is graphicaUy depicted along one edge of an application display window. Scrollbar 420 provides a means for moving through a document displayed in an application window, wherein die document is typically larger tiian can be displayed in its entirety in the window at one time. With the aid of the scrollbar 420, the apphcation user can move through the document incrementally either one line or approximately one page at a time or in large steps.
The scroUbar 420 shown in FIG. 16 comprises several graphically depicted components. These include an elevator 422, a shaft 424, and up and down scroll aπows 426 and 428, respectively. The elevator 422 is the central moving portion of the scroUbar 420. The elevator 422 is also commonly known in the art as the tab or thumb. The elevator 422 is positioned within the shaft 424 and the elevator 422 may be moved within the shaft 424 either by sUding the elevator 422 along the shaft 424 with a drag gesture, as described above, by positioning the cursor eidier above or below die elevator 422 in the shaft 424 and implementing a tap gesmre to move the elevator a single large step in the desired direction, or as in the present invent, by positioning the cursor over either of the up or down scroU aπows 426 and 428 and implementing a drag gesture to activate either of the scroU aπows 426 or 428. In the prior art, when the scroll aπows are activated die document will be scroUed in die display at a constant rate.
The elevator 422 shows die relative location of the viewing window witiiin the document. For example, when the elevator 422 is near die top of the shaft 424 of scrollbar 420, me document in die viewing window is near the beginning, when the elevator 422 is near the bottom of the shaft 424 of scrollbar 420 the document in the viewing window is near the end. By moving the elevator 422 up and down in shaft 424, any portion of the document may be positioned in the viewing window.
Altematively, when the cursor is positioned either above or below the elevator 422 in the shaft 424 and a tap gesture is implemented, the position of the document in die viewing window wdl move either up or down by approximately the size of a single viewing window. It is also known in die art that when die cursor is positioned in the shaft 424 and a tap gesture is implemented, the position of the document in the viewing window will correspond to the relative position of the cursor on the shaft 424 where the tap gesture was made.
In the present invention, when the cursor is position over either of the up or down scroll aπows 426 and 428 and a drag gesmre is made, the scroUing function is implemented. Unlike the prior art, which implements the scroUing function at a constant rate, the present invention utilizes pressure information Z to vary the rate of the scrolling function according to the fmger pressure. Accordingly, when the user presses on a scroU aπow firmly, the document wdl scroll quickly. When the user presses lightly, the scrolling would slow down or even stop. This enhancement to conventional scrolhng features makes navigation dirough documents easier and more natural.
For virtually aU graphical interfaces in computer systems, the host computer system keeps track of the position of the cursor on the graphical interface. When the cursor is positioned over either the up or down scroll aπow and the scroll aπow is activated, usuaUy by depressing a mouse button, in a mouse driven system, the operating system sends a message to the application program. The apphcation receives the message and is Unked to the operating system DLL implementing the scroll aπow function. In prior art systems, when the scroll aπow is depressed, die document wiU be scrolled through the viewing window at a constant rate which is usuaUy set by the operating system.
Operating systems provide many functions, In addition to sending messages to appUcations programs mat certain controls, like the scroU anows described herein, are to be implemented, most convention operating systems also allow or provide for these messages to detected, intercepted and modified.
Accordingly, referring again to FIG. 15, in the present invention, a scroll modifier unit 412, implemented in the prefened embodiment as a software driver loaded and running simultaneously with the operating system 404 on the host computer system 400, instructs the operating system 404 that all scroll aπow messages are not to be sent to applications 406, but rather are to be sent to the scroll modifier unit 412. Though the scroU modifier unit 412 is implemented as a software driver, tiiose of ordinary skid in the wdl recognize that a hardware state machine is a known equivalent and would also be a reasonable implementation of the scroll modifier unit 412.
As explained above, in conventional systems, when the scroll aπow is activated the document wdl scroU at a fixed rate. In the present invention, the scroU modifier unit 414 has access to the Z pressure information sensed by the touchpad sensor 414. With the pressure information, the scroU modifier is able to modify the scroll messages being sent by the operating system 404 to the applications 406.
Shown in FIG. 17 is a flow chart according to die present invention. At step 450 the host computer system polls the object position information suppUed from the touch pad sensor. At, step 452, when the operating system determines that the position of the cursor is over the scroll anow and a drag gesture has been implemented, a scroU message is sent. It should be appreciated by those of ordinary skill in the art diat a virtual button implemented by a drag gesture may be implemented by other gestures as well. It should also be appreciated by those of ordinary skill in the art that using the position information to determine when the cursor is over the scroll anow is also well known.
At step 454, the scroll message which is sent by the operating system is sent to the scroU modifier unit as it has instructed the operating system to do. At step 456, the scroll modifier unit modifies the scroU rate using the Z pressure information by making the scroU rate a function of the pressure information from the touchpad sensor. In the prefened embodiment, the scroll rate is Unearly proportional to the pressure information. Those of ordinary skill in the art wiU recognize that odier monotonic functions, including but not limited to inverse proportionality, and non-Unear proportionaUty such as logarithmic or exponential functions, could be employed in die present invention without departing from the principles disclosed herein.
At step 458, the scroll message is then relayed to die application by the scroll modifier unit with a scroll rate which has been modified by the scroU modifier unit to be a function of the Z pressure infoπnation.
At step 460, the application Unks to the DLL for the scroUing function using the dynamic linker, and the document is scrolled as a function of the Z pressure information.
The increased sensitivity of the touch sensor system of the present invention aUows for a Ughter input finger touch which makes it easy for human use. Increased sensitivity also makes it easier to use other input objects, like pen styli, etc. Additionally this sensitivity aUows for a trade-off against a thicker protective layer, or different materials, which both 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 aUow derivation of die 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 the prior art. This offers several obvious side effects. First, for the same level of signal processing, the circuitry can be tumed off most of the 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 cahbrates out process and systematic enors. It wdl process the capacitive information from the sensor and provide digital information to an extemal device, for example, a microprocessor.
Because of the unique physical features of the present invention, there are several ergonomically interesting appUcations that were not previously possible. Presently a mouse or trackball is not physically convenient to use on portable computers. The present invention provides a very convenient and easy-to-use cursor position solution diat 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 tiiis location, the thumb of the user may be used as the position pointer on the sensor to control the cursor position on the computer screen. The cursor may then be moved without the need for die user's fingers to leave the keyboard. Ergonomically, this is similar to the concept of the Macintosh Power Book with it's trackball, however the present invention provides a significant advantage in size over the trackball. Extensions of tiiis basic idea are possible in that two sensors could be placed below die "space bar" key for even more feature control.
The computer display widi it's cursor feedback is one small example of a very general area of application where a display could be a field of lights or LED's, 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 the articulating abihty of this interface, one or more of those inputs could be combined into one of the inputs described with respect to the present invention.
Consumer Electronic Equipment (stereos, graphic equahzers, mixers) applications often utiUze significant front panel surface area for slide potentiometers because variable control is needed. The present invention can provide such control in one small 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 TV/VCR/Stereo controls could be ergonomically formed and allow for more powerful features if this sensor technology is used.
The sensor of the 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 abtiity of the sensor technology of the present invention is also key to this apphcation. Computer games, "remote" controls (hobby electronics, planes) , and machine tool controls are a few examples of appUcations which would benefit from the sensor technology of the present invention.
Musical keyboards (synthesizers, electric pianos) require velocity sensitive keys which can be provided by die pressure sensing abUity of this sensor. There are also pitch bending controls, and other sUde switches tiiat could be replaced with 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 the 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 wdl serve very well as an input device to virtual reality machines. It is easy to envision a constmction that aUows position- monitoring in three dimensions and some degree of response (pressure) to actions.
While embodiments and appUcations of tiiis invention have been shown and described, it would be apparent to those skdled in the art that many more modifications than mentioned above are possible without departing from the inventive concepts herein. The invention, therefore, is not to be restricted except in the spirit of the appended claims.

Claims

What is Claimed is:
1. A method for modifying a scroUbar message generated by a computer system operating system in response to object position information sensed by a touch sensor pad and transmitted by a touchpad driver to said operating system, including die steps of: generating pressure infoπnation from object contact information from the touch pad sensor; intercepting the scroUbar message generated by the operating system; modifying the scrolUng rate of the scroUbar message to be a function of the pressure information from the touch pad sensor; and transmitting said modified scrollbar message to an apphcation.
PCT/US1996/017862 1995-11-13 1996-11-06 Pressure sensitive scrollbar feature WO1997018508A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP96940319A EP0861462A1 (en) 1995-11-13 1996-11-06 Pressure sensitive scrollbar feature
JP9518925A JPH11511580A (en) 1995-11-13 1996-11-06 Pressure-sensitive scroll bar function
KR1019980702712A KR19990064226A (en) 1995-11-13 1996-11-06 Pressure Sensing Scroll Bar Features

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/558,114 1995-11-13
US08/558,114 US5889236A (en) 1992-06-08 1995-11-13 Pressure sensitive scrollbar feature

Publications (1)

Publication Number Publication Date
WO1997018508A1 true WO1997018508A1 (en) 1997-05-22

Family

ID=24228267

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1996/017862 WO1997018508A1 (en) 1995-11-13 1996-11-06 Pressure sensitive scrollbar feature

Country Status (6)

Country Link
US (1) US5889236A (en)
EP (1) EP0861462A1 (en)
JP (1) JPH11511580A (en)
KR (1) KR19990064226A (en)
CN (1) CN1202254A (en)
WO (1) WO1997018508A1 (en)

Cited By (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
GB2330668A (en) * 1997-10-24 1999-04-28 Sony Uk Ltd User interface for audio processing apparatus uses touch-sensitive controls
WO1999045521A1 (en) * 1998-03-06 1999-09-10 Audiovelocity, Inc. Multimedia linking device with page identification and active physical scrollbar
WO1999057630A1 (en) * 1998-05-01 1999-11-11 Scientific-Atlanta, Inc. Method and apparatus to increase functionality of a user input device
US6195389B1 (en) 1998-04-16 2001-02-27 Scientific-Atlanta, Inc. Motion estimation system and methods
WO2001045123A1 (en) * 1998-09-04 2001-06-21 Armstrong Brad A Remote controller with pressure sensitive buttons
EP1202155A2 (en) * 2000-10-30 2002-05-02 Sony Computer Entertainment Inc. Electronic device for controlling a cursor
US6400303B2 (en) 1998-09-04 2002-06-04 Brad A. Armstrong Remote controller with analog pressure sensor (S)
GB2330670B (en) * 1997-10-24 2002-09-11 Sony Uk Ltd Data processing
US6529920B1 (en) 1999-03-05 2003-03-04 Audiovelocity, Inc. Multimedia linking device and method
WO2003058589A2 (en) 2002-01-08 2003-07-17 Koninklijke Philips Electronics N.V. User interface for electronic devices for controlling the displaying of long sorted lists
US6729543B1 (en) 1998-03-06 2004-05-04 Audiovelocity, Inc. Page identification system and method
CN1695105A (en) * 2001-12-28 2005-11-09 皇家飞利浦电子股份有限公司 Touch-screen image scrolling system and method
WO2006009516A1 (en) 2004-07-19 2006-01-26 Creative Technology Ltd Method and apparatus for touch scrolling
DE102005002777A1 (en) * 2005-01-20 2006-09-14 Hermstedt, Jörg Electronic handset
JP2006268073A (en) * 2005-03-22 2006-10-05 Matsushita Electric Ind Co Ltd Data processor
WO2008085770A2 (en) * 2007-01-07 2008-07-17 Apple Inc. Portable multifunction device, method and graphical user interface for interpreting a finger swipe
WO2011093420A1 (en) 2010-01-28 2011-08-04 富士フイルム株式会社 Conductive sheet, method for using conductive sheet, and touch panel
EP2390771A2 (en) 2010-05-27 2011-11-30 Fujifilm Corporation Conductive sheet and capacitive touch panel
US8127046B2 (en) 2006-12-04 2012-02-28 Deka Products Limited Partnership Medical device including a capacitive slider assembly that provides output signals wirelessly to one or more remote medical systems components
EP2447818A1 (en) * 2010-10-07 2012-05-02 Research in Motion Limited Method and portable electronic device for presenting text
WO2012157555A1 (en) 2011-05-13 2012-11-22 富士フイルム株式会社 Conductive sheet and touch panel
WO2012157559A1 (en) 2011-05-13 2012-11-22 富士フイルム株式会社 Conductive sheet and touch panel
WO2012157557A1 (en) 2011-05-13 2012-11-22 富士フイルム株式会社 Conductive sheet and touch panel
WO2012157556A1 (en) 2011-05-13 2012-11-22 富士フイルム株式会社 Conductive sheet and touch panel
WO2013036437A1 (en) * 2011-09-08 2013-03-14 Google Inc. User gestures indicating rates of execution of functions
WO2013051548A1 (en) 2011-10-05 2013-04-11 富士フイルム株式会社 Conductive sheet, touch panel, display device, and method and program for producing conductive sheet
WO2013089085A1 (en) 2011-12-16 2013-06-20 富士フイルム株式会社 Conductive sheet and touch panel
WO2013094729A1 (en) 2011-12-22 2013-06-27 富士フイルム株式会社 Conductive sheet and touch panel
JP2013535744A (en) * 2010-07-28 2013-09-12 サーク・コーポレーション Reduction of noise sensitivity through axis swap in mutual capacitance touchpad
US8547344B2 (en) 2008-04-30 2013-10-01 Chimei Innolux Corporation Display device with touch screen
US8665225B2 (en) 2007-01-07 2014-03-04 Apple Inc. Portable multifunction device, method, and graphical user interface for interpreting a finger gesture
US9081426B2 (en) 1992-03-05 2015-07-14 Anascape, Ltd. Image controller
US9312048B2 (en) 2011-02-24 2016-04-12 Fujifilm Corporation Electroconductive sheet and touch panel
US9591743B2 (en) 2011-07-11 2017-03-07 Fujifilm Corporation Conductive laminate body, touch panel, and display device
US9642245B2 (en) 2011-07-11 2017-05-02 Fujifilm Corporation Conductive sheet, touch panel, display device, method for producing said conductive sheet, and non-transitory recording medium
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
US10299377B2 (en) 2011-12-22 2019-05-21 Fujifilm Corporation Conductive sheet and touch panel
US10620812B2 (en) 2016-06-10 2020-04-14 Apple Inc. Device, method, and graphical user interface for managing electronic communications
US10795488B2 (en) 2015-02-02 2020-10-06 Apple Inc. Flexible self-capacitance and mutual capacitance touch sensing system architecture
US10852894B2 (en) 2016-07-29 2020-12-01 Apple Inc. Touch sensor panel with multi-power domain chip configuration
US10936120B2 (en) 2014-05-22 2021-03-02 Apple Inc. Panel bootstraping architectures for in-cell self-capacitance
US11086444B2 (en) 2013-12-13 2021-08-10 Apple Inc. Integrated touch and display architectures for self-capacitive touch sensors
US11188168B2 (en) 2010-06-04 2021-11-30 Apple Inc. Device, method, and graphical user interface for navigating through a user interface using a dynamic object selection indicator
US11662867B1 (en) 2020-05-30 2023-05-30 Apple Inc. Hover detection on a touch sensor panel

Families Citing this family (378)

* 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
US6347997B1 (en) 1997-10-01 2002-02-19 Brad A. Armstrong Analog controls housed with electronic displays
US6344791B1 (en) 1998-07-24 2002-02-05 Brad A. Armstrong Variable sensor with tactile feedback
US6351205B1 (en) 1996-07-05 2002-02-26 Brad A. Armstrong Variable-conductance sensor
US8674932B2 (en) * 1996-07-05 2014-03-18 Anascape, Ltd. Image controller
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
US6456778B2 (en) 1997-10-01 2002-09-24 Brad A. Armstrong Analog controls housed with electronic displays for video recorders and cameras
US6415707B1 (en) 1997-10-01 2002-07-09 Brad A. Armstrong Analog controls housed with electronic displays for coffee makers
US6532000B2 (en) 1997-10-01 2003-03-11 Brad A. Armstrong Analog controls housed with electronic displays for global positioning systems
US6404584B2 (en) 1997-10-01 2002-06-11 Brad A. Armstrong Analog controls housed with electronic displays for voice recorders
GB9722766D0 (en) 1997-10-28 1997-12-24 British Telecomm Portable computers
US6740960B1 (en) * 1997-10-31 2004-05-25 Micron Technology, Inc. Semiconductor package including flex circuit, interconnects and dense array external contacts
US6131047A (en) * 1997-12-30 2000-10-10 Ericsson Inc. Radiotelephones having contact-sensitive user interfaces and methods of operating same
US7808479B1 (en) 2003-09-02 2010-10-05 Apple Inc. Ambidextrous mouse
US7663607B2 (en) 2004-05-06 2010-02-16 Apple Inc. Multipoint touchscreen
US6610917B2 (en) 1998-05-15 2003-08-26 Lester F. Ludwig Activity indication, external source, and processing loop provisions for driven vibrating-element environments
US6429846B2 (en) 1998-06-23 2002-08-06 Immersion Corporation Haptic feedback for touchpads and other touch controls
US6681031B2 (en) 1998-08-10 2004-01-20 Cybernet Systems Corporation Gesture-controlled interfaces for self-service machines and other applications
US6950534B2 (en) * 1998-08-10 2005-09-27 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
US20010008561A1 (en) * 1999-08-10 2001-07-19 Paul George V. Real-time object tracking system
US7904187B2 (en) 1999-02-01 2011-03-08 Hoffberg Steven M Internet appliance system and method
US6396523B1 (en) 1999-07-29 2002-05-28 Interlink Electronics, Inc. Home entertainment device remote control
DE60043112D1 (en) * 1999-08-09 2009-11-19 Sonavation Inc PIEZOELECTRIC THIN LASER FEEDBACK PRINTING KEY
EP1222651A4 (en) * 1999-10-07 2004-06-09 Interlink Electronics Inc Home entertainment device remote control
US7027034B2 (en) 2000-01-14 2006-04-11 Sony Computer Entertainment Inc. Method of moving objects on TV monitor, the computer and recording medium for executing the method
TW592757B (en) * 2000-01-14 2004-06-21 Sony Computer Entertainment Inc Recording medium, method of entering items to be displayed and computer for executing the method
US20010008396A1 (en) * 2000-01-14 2001-07-19 Nobuhiro Komata Recording medium, computer and method for selecting computer display items
US7154484B2 (en) * 2000-01-14 2006-12-26 Sony Computer Entertainment Inc. Recording medium, computer and method for selecting computer display items
US6822635B2 (en) * 2000-01-19 2004-11-23 Immersion Corporation Haptic interface for laptop computers and other portable devices
US6856326B1 (en) * 2000-01-28 2005-02-15 International Business Machines Corporation Smooth scrolling system and method
US20030001459A1 (en) * 2000-03-23 2003-01-02 Cross Match Technologies, Inc. Secure wireless sales transaction using print information to verify a purchaser's identity
CA2403394C (en) * 2000-03-23 2012-01-03 Cross Match Technologies, Inc. Piezoelectric identification device and applications thereof
US7067962B2 (en) * 2000-03-23 2006-06-27 Cross Match Technologies, Inc. Multiplexer for a piezo ceramic identification device
US6456952B1 (en) 2000-03-29 2002-09-24 Ncr Coporation System and method for touch screen environmental calibration
US6765557B1 (en) 2000-04-10 2004-07-20 Interlink Electronics, Inc. Remote control having touch pad to screen mapping
EP1184414A3 (en) 2000-08-30 2003-08-06 JSR Corporation Conjugated diene-based rubber and method of producing the same, oil extended rubber and rubber composition containing the same
US7765095B1 (en) 2000-10-26 2010-07-27 Cypress Semiconductor Corporation Conditional branching in an in-circuit emulation system
US8103496B1 (en) 2000-10-26 2012-01-24 Cypress Semicondutor Corporation Breakpoint control in an in-circuit emulation system
US8176296B2 (en) 2000-10-26 2012-05-08 Cypress Semiconductor Corporation Programmable microcontroller architecture
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
US8160864B1 (en) 2000-10-26 2012-04-17 Cypress Semiconductor Corporation In-circuit emulator and pod synchronized boot
US7688315B1 (en) * 2000-11-30 2010-03-30 Palm, Inc. Proximity input detection system for an electronic device
US7289083B1 (en) * 2000-11-30 2007-10-30 Palm, Inc. Multi-sided display for portable computer
CA2446600A1 (en) * 2001-05-11 2002-11-21 Shoot The Moon Products Ii, Llc Interactive book reading system using rf scanning circuit
US7202857B2 (en) * 2001-08-29 2007-04-10 Microsoft Corporation Manual controlled scrolling
US6972749B2 (en) * 2001-08-29 2005-12-06 Microsoft Corporation Touch-sensitive device for scrolling a document on a display
US6690365B2 (en) * 2001-08-29 2004-02-10 Microsoft Corporation Automatic scrolling
US7312785B2 (en) * 2001-10-22 2007-12-25 Apple Inc. Method and apparatus for accelerated scrolling
US7046230B2 (en) * 2001-10-22 2006-05-16 Apple Computer, Inc. Touch pad handheld device
US7345671B2 (en) * 2001-10-22 2008-03-18 Apple Inc. Method and apparatus for use of rotational user inputs
US20070085841A1 (en) * 2001-10-22 2007-04-19 Apple Computer, Inc. Method and apparatus for accelerated scrolling
US7084856B2 (en) * 2001-10-22 2006-08-01 Apple Computer, Inc. Mouse having a rotary dial
US7406674B1 (en) 2001-10-24 2008-07-29 Cypress Semiconductor Corporation Method and apparatus for generating microcontroller configuration information
US7038664B2 (en) * 2001-11-01 2006-05-02 Fellowes, Inc. Input device for scrolling a computer display
US9471170B2 (en) * 2002-11-04 2016-10-18 Neonode Inc. Light-based touch screen with shift-aligned emitter and receiver lenses
US9052777B2 (en) 2001-11-02 2015-06-09 Neonode Inc. Optical elements with alternating reflective lens facets
US9052771B2 (en) * 2002-11-04 2015-06-09 Neonode Inc. Touch screen calibration and update methods
US8339379B2 (en) * 2004-04-29 2012-12-25 Neonode Inc. Light-based touch screen
US9164654B2 (en) * 2002-12-10 2015-10-20 Neonode Inc. User interface for mobile computer unit
US8674966B2 (en) 2001-11-02 2014-03-18 Neonode Inc. ASIC controller for light-based touch screen
US9778794B2 (en) 2001-11-02 2017-10-03 Neonode Inc. Light-based touch screen
US8095879B2 (en) * 2002-12-10 2012-01-10 Neonode Inc. User interface for mobile handheld computer unit
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
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
US7774190B1 (en) 2001-11-19 2010-08-10 Cypress Semiconductor Corporation Sleep and stall in an in-circuit emulation system
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
JP2003296015A (en) * 2002-01-30 2003-10-17 Casio Comput Co Ltd Electronic equipment
US7333092B2 (en) * 2002-02-25 2008-02-19 Apple Computer, Inc. Touch pad for handheld device
US8103497B1 (en) 2002-03-28 2012-01-24 Cypress Semiconductor Corporation External interface for event architecture
US7308608B1 (en) 2002-05-01 2007-12-11 Cypress Semiconductor Corporation Reconfigurable testing system and method
TWI277021B (en) * 2002-05-30 2007-03-21 Mattel Inc Interactive multi-sensory reading system electronic teaching/learning device
US11275405B2 (en) 2005-03-04 2022-03-15 Apple Inc. Multi-functional hand-held device
US7656393B2 (en) 2005-03-04 2010-02-02 Apple Inc. Electronic device having display and surrounding touch sensitive bezel for user interface and control
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
US8587562B2 (en) * 2002-11-04 2013-11-19 Neonode Inc. Light-based touch screen using elliptical and parabolic reflectors
US8416217B1 (en) 2002-11-04 2013-04-09 Neonode Inc. Light-based finger gesture user interface
US8896575B2 (en) * 2002-11-04 2014-11-25 Neonode Inc. Pressure-sensitive touch screen
AU2003293449A1 (en) * 2002-12-08 2004-06-30 Immersion Corporation Methods and systems for providing a virtual touch haptic effect to handheld communication devices
US8830161B2 (en) 2002-12-08 2014-09-09 Immersion Corporation Methods and systems for providing a virtual touch haptic effect to handheld communication devices
US8059088B2 (en) * 2002-12-08 2011-11-15 Immersion Corporation Methods and systems for providing haptic messaging to handheld communication devices
US9195344B2 (en) * 2002-12-10 2015-11-24 Neonode Inc. Optical surface using a reflected image for determining three-dimensional position information
US8403203B2 (en) * 2002-12-10 2013-03-26 Neonoda Inc. Component bonding using a capillary effect
US8902196B2 (en) * 2002-12-10 2014-12-02 Neonode Inc. Methods for determining a touch location on a touch screen
US9389730B2 (en) * 2002-12-10 2016-07-12 Neonode Inc. Light-based touch screen using elongated light guides
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
US7336266B2 (en) 2003-02-20 2008-02-26 Immersion Corproation Haptic pads for use with user-interface devices
US20060181517A1 (en) * 2005-02-11 2006-08-17 Apple Computer, Inc. Display actuator
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
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
US8442331B2 (en) 2004-02-15 2013-05-14 Google Inc. Capturing text from rendered documents using supplemental information
US7707039B2 (en) 2004-02-15 2010-04-27 Exbiblio B.V. Automatic modification of web pages
US20050168443A1 (en) * 2004-01-29 2005-08-04 Ausbeck Paul J.Jr. Method and apparatus for producing one-dimensional signals with a two-dimensional pointing device
CN101390034B (en) * 2004-01-29 2012-03-14 辛纳普蒂克斯有限公司 Method and apparatus for initiating one-dimensional signals with a two-dimensional pointing device
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
TWI240208B (en) * 2004-02-17 2005-09-21 Elan Microelectronics Corp Capacitance touch panel with simplified scanning lines and the detection method thereof
CN100461079C (en) * 2004-02-18 2009-02-11 义隆电子股份有限公司 Device with capacitive contact plate as input interface
US7295049B1 (en) 2004-03-25 2007-11-13 Cypress Semiconductor Corporation Method and circuit for rapid alignment of signals
US9116890B2 (en) 2004-04-01 2015-08-25 Google Inc. Triggering actions in response to optically or acoustically capturing keywords from a rendered document
US20060098900A1 (en) 2004-09-27 2006-05-11 King Martin T Secure data gathering from rendered documents
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
US9143638B2 (en) 2004-04-01 2015-09-22 Google Inc. Data capture from rendered documents using handheld device
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
US9008447B2 (en) 2004-04-01 2015-04-14 Google Inc. Method and system for character recognition
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
US8713418B2 (en) 2004-04-12 2014-04-29 Google Inc. Adding value to a rendered document
US8489624B2 (en) 2004-05-17 2013-07-16 Google, Inc. Processing techniques for text capture from a rendered document
US8874504B2 (en) 2004-12-03 2014-10-28 Google Inc. Processing techniques for visual capture data from a rendered document
US8620083B2 (en) 2004-12-03 2013-12-31 Google Inc. Method and system for character recognition
US7554531B2 (en) * 2004-05-18 2009-06-30 Interlink Electronics, Inc. Annular potentiometric touch sensor
US7310089B2 (en) * 2004-05-18 2007-12-18 Interlink Electronics, Inc. Annular potentiometric touch sensor
EP1787281A2 (en) * 2004-07-15 2007-05-23 N-Trig Ltd. Automatic switching for a dual mode digitizer
US7649524B2 (en) * 2004-07-15 2010-01-19 N-Trig Ltd. Tracking window for a digitizer system
US8346620B2 (en) 2004-07-19 2013-01-01 Google Inc. Automatic modification of web pages
US20080129707A1 (en) * 2004-07-27 2008-06-05 Pryor Timothy R Method and apparatus employing multi-functional controls and displays
US8069436B2 (en) 2004-08-13 2011-11-29 Cypress Semiconductor Corporation Providing hardware independence to automate code generation of processing device firmware
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
CN100555200C (en) * 2004-08-16 2009-10-28 苹果公司 The method of the spatial resolution of touch sensitive devices and raising touch sensitive devices
US20100231506A1 (en) * 2004-09-07 2010-09-16 Timothy Pryor Control of appliances, kitchen and home
US8232969B2 (en) 2004-10-08 2012-07-31 Immersion Corporation Haptic feedback for button and scrolling action simulation in touch input devices
KR100740507B1 (en) * 2004-12-01 2007-07-19 구정오 Keyboard pad
US7332976B1 (en) 2005-02-04 2008-02-19 Cypress Semiconductor Corporation Poly-phase frequency synthesis oscillator
US8250493B2 (en) * 2005-02-05 2012-08-21 Samsung Electronics Co., Ltd. User interface method, medium, and apparatus with gesture-recognition
CN101326531A (en) * 2005-02-09 2008-12-17 西奎公司 A touchpad integrated into a key cap of a keyboard for improved user interaction
JP4419903B2 (en) * 2005-04-15 2010-02-24 ソニー株式会社 INPUT DEVICE, INPUT METHOD, INPUT CONTROL PROGRAM, REPRODUCTION DEVICE, REPRODUCTION CONTROL METHOD, AND REPRODUCTION CONTROL PROGRAM
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
US7710397B2 (en) * 2005-06-03 2010-05-04 Apple Inc. Mouse with improved input mechanisms using touch sensors
US8089461B2 (en) 2005-06-23 2012-01-03 Cypress Semiconductor Corporation Touch wake for electronic devices
US8050876B2 (en) * 2005-07-18 2011-11-01 Analog Devices, Inc. Automatic environmental compensation of capacitance based proximity sensors
US7671837B2 (en) * 2005-09-06 2010-03-02 Apple Inc. Scrolling input arrangements using capacitive sensors on a flexible membrane
KR20070034767A (en) * 2005-09-26 2007-03-29 엘지전자 주식회사 Mobile communication terminal having multiple display areas and data display method between displays using same
US7880729B2 (en) * 2005-10-11 2011-02-01 Apple Inc. Center button isolation ring
US7307485B1 (en) 2005-11-14 2007-12-11 Cypress Semiconductor Corporation Capacitance sensor using relaxation oscillators
US7331245B2 (en) * 2005-11-22 2008-02-19 Avago Technologies Ecbu Ip Pte Ltd Pressure distribution sensor and sensing method
US8085067B1 (en) 2005-12-21 2011-12-27 Cypress Semiconductor Corporation Differential-to-single ended signal converter circuit and method
US20070152983A1 (en) * 2005-12-30 2007-07-05 Apple Computer, Inc. Touch pad with symbols based on mode
US8077147B2 (en) * 2005-12-30 2011-12-13 Apple Inc. Mouse with optical sensing surface
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
US8067948B2 (en) * 2006-03-27 2011-11-29 Cypress Semiconductor Corporation Input/output multiplexer bus
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
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
US20070262951A1 (en) * 2006-05-09 2007-11-15 Synaptics Incorporated Proximity sensor device and method with improved indication of adjustment
CN101078965B (en) * 2006-05-24 2010-08-04 鸿富锦精密工业(深圳)有限公司 Non-linear page positioning system and method
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
DE102007016083A1 (en) * 2006-05-31 2007-12-06 Mizukawa, Suehiro, Settsu Method and device for bending a knife element
KR101295943B1 (en) 2006-06-09 2013-08-13 애플 인크. Touch screen liquid crystal display
US20070291016A1 (en) * 2006-06-20 2007-12-20 Harald Philipp Capacitive Position Sensor
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
US8743060B2 (en) * 2006-07-06 2014-06-03 Apple Inc. Mutual capacitance touch sensing device
US20080006454A1 (en) * 2006-07-10 2008-01-10 Apple Computer, Inc. Mutual capacitance touch sensing device
US8040321B2 (en) 2006-07-10 2011-10-18 Cypress Semiconductor Corporation Touch-sensor with shared capacitive sensors
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
US9766738B1 (en) 2006-08-23 2017-09-19 Cypress Semiconductor Corporation Position and usage based prioritization for capacitance sense interface
EP2067119A2 (en) 2006-09-08 2009-06-10 Exbiblio B.V. Optical scanners, such as hand-held optical scanners
US7795553B2 (en) 2006-09-11 2010-09-14 Apple Inc. Hybrid button
US20080088597A1 (en) * 2006-10-11 2008-04-17 Apple Inc. Sensor configurations in a user input device
US8274479B2 (en) 2006-10-11 2012-09-25 Apple Inc. Gimballed scroll wheel
US20080088600A1 (en) * 2006-10-11 2008-04-17 Apple Inc. Method and apparatus for implementing multiple push buttons in a user input device
US20080088595A1 (en) * 2006-10-12 2008-04-17 Hua Liu Interconnected two-substrate layer touchpad capacitive sensing device
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
US8089288B1 (en) 2006-11-16 2012-01-03 Cypress Semiconductor Corporation Charge accumulation capacitance sensor with linear transfer characteristic
US8072429B2 (en) * 2006-12-22 2011-12-06 Cypress Semiconductor Corporation Multi-axial touch-sensor device with multi-touch resolution
US7920129B2 (en) 2007-01-03 2011-04-05 Apple Inc. Double-sided touch-sensitive panel with shield and drive combined layer
US9710095B2 (en) 2007-01-05 2017-07-18 Apple Inc. Touch screen stack-ups
US8058937B2 (en) 2007-01-30 2011-11-15 Cypress Semiconductor Corporation Setting a discharge rate and a charge rate of a relaxation oscillator circuit
JP2008262326A (en) * 2007-04-11 2008-10-30 Matsushita Electric Ind Co Ltd Touch panel
US8040266B2 (en) 2007-04-17 2011-10-18 Cypress Semiconductor Corporation Programmable sigma-delta analog-to-digital converter
US7737724B2 (en) 2007-04-17 2010-06-15 Cypress Semiconductor Corporation Universal digital block interconnection and channel routing
US8092083B2 (en) 2007-04-17 2012-01-10 Cypress Semiconductor Corporation Temperature sensor with digital bandgap
US8516025B2 (en) 2007-04-17 2013-08-20 Cypress Semiconductor Corporation Clock driven dynamic datapath chaining
US9564902B2 (en) 2007-04-17 2017-02-07 Cypress Semiconductor Corporation Dynamically configurable and re-configurable data path
US8026739B2 (en) 2007-04-17 2011-09-27 Cypress Semiconductor Corporation System level interconnect with programmable switching
US8130025B2 (en) 2007-04-17 2012-03-06 Cypress Semiconductor Corporation Numerical band gap
US8266575B1 (en) 2007-04-25 2012-09-11 Cypress Semiconductor Corporation Systems and methods for dynamically reconfiguring a programmable system on a chip
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
US8144126B2 (en) 2007-05-07 2012-03-27 Cypress Semiconductor Corporation Reducing sleep current in a capacitance sensing system
US7750895B2 (en) * 2007-06-29 2010-07-06 Microsoft Corporation Navigating lists using input motions
US7804307B1 (en) 2007-06-29 2010-09-28 Cypress Semiconductor Corporation Capacitance measurement systems and methods
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
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
US8169238B1 (en) * 2007-07-03 2012-05-01 Cypress Semiconductor Corporation Capacitance to frequency converter
US8570053B1 (en) 2007-07-03 2013-10-29 Cypress Semiconductor Corporation Capacitive field sensor with sigma-delta modulator
US20090008161A1 (en) * 2007-07-04 2009-01-08 Jones Christopher W Capacitive sensor array and gesture recognition
US8471830B2 (en) * 2007-07-06 2013-06-25 Neonode Inc. Scanning of a touch screen
US9654104B2 (en) * 2007-07-17 2017-05-16 Apple Inc. Resistive force sensor with capacitive discrimination
US20090058801A1 (en) * 2007-09-04 2009-03-05 Apple Inc. Fluid motion user interface control
US8683378B2 (en) 2007-09-04 2014-03-25 Apple Inc. Scrolling techniques for user interfaces
WO2009032898A2 (en) * 2007-09-04 2009-03-12 Apple Inc. Compact input device
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
US8638363B2 (en) 2009-02-18 2014-01-28 Google Inc. Automatically capturing information, such as capturing information using a document-aware device
US8416198B2 (en) * 2007-12-03 2013-04-09 Apple Inc. Multi-dimensional scroll wheel
US9612659B2 (en) 2008-01-04 2017-04-04 Tactus Technology, Inc. User interface system
US9720501B2 (en) 2008-01-04 2017-08-01 Tactus Technology, Inc. Dynamic tactile interface
US9128525B2 (en) 2008-01-04 2015-09-08 Tactus Technology, Inc. Dynamic tactile interface
US8547339B2 (en) 2008-01-04 2013-10-01 Tactus Technology, Inc. System and methods for raised touch screens
US8947383B2 (en) 2008-01-04 2015-02-03 Tactus Technology, Inc. User interface system and method
US20160187981A1 (en) 2008-01-04 2016-06-30 Tactus Technology, Inc. Manual fluid actuator
US8922510B2 (en) 2008-01-04 2014-12-30 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
US9298261B2 (en) 2008-01-04 2016-03-29 Tactus Technology, Inc. Method for actuating a tactile interface layer
US9274612B2 (en) 2008-01-04 2016-03-01 Tactus Technology, Inc. User interface system
US9557915B2 (en) 2008-01-04 2017-01-31 Tactus Technology, Inc. Dynamic tactile interface
US8154527B2 (en) 2008-01-04 2012-04-10 Tactus Technology User interface system
US9588683B2 (en) 2008-01-04 2017-03-07 Tactus Technology, Inc. Dynamic tactile interface
US8456438B2 (en) 2008-01-04 2013-06-04 Tactus Technology, Inc. User interface system
US9423875B2 (en) 2008-01-04 2016-08-23 Tactus Technology, Inc. Dynamic tactile interface with exhibiting optical dispersion characteristics
US8570295B2 (en) 2008-01-04 2013-10-29 Tactus Technology, Inc. User interface system
US9372565B2 (en) 2008-01-04 2016-06-21 Tactus Technology, Inc. Dynamic tactile interface
US9052790B2 (en) 2008-01-04 2015-06-09 Tactus Technology, Inc. User interface and methods
US8922503B2 (en) * 2008-01-04 2014-12-30 Tactus Technology, Inc. User interface system
US8243038B2 (en) 2009-07-03 2012-08-14 Tactus Technologies Method for adjusting the user interface of a device
US9063627B2 (en) 2008-01-04 2015-06-23 Tactus Technology, Inc. User interface and methods
US9552065B2 (en) 2008-01-04 2017-01-24 Tactus Technology, Inc. Dynamic tactile interface
US8553005B2 (en) 2008-01-04 2013-10-08 Tactus Technology, Inc. User interface system
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
US8487912B1 (en) 2008-02-01 2013-07-16 Cypress Semiconductor Corporation Capacitive sense touch device with hysteresis threshold
US8820133B2 (en) * 2008-02-01 2014-09-02 Apple Inc. Co-extruded materials and methods
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
US8358142B2 (en) 2008-02-27 2013-01-22 Cypress Semiconductor Corporation Methods and circuits for measuring mutual and self capacitance
US8319505B1 (en) 2008-10-24 2012-11-27 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
KR100909546B1 (en) * 2008-03-04 2009-07-27 지송학 A pointing device
US9454256B2 (en) 2008-03-14 2016-09-27 Apple Inc. Sensor configurations of an input device that are switchable based on mode
US8169332B2 (en) * 2008-03-30 2012-05-01 Pressure Profile Systems Corporation Tactile device with force sensitive touch input surface
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
US9152258B2 (en) 2008-06-19 2015-10-06 Neonode Inc. User interface for a touch screen
KR20100006987A (en) * 2008-07-11 2010-01-22 삼성모바일디스플레이주식회사 Touch screen panel and fabricating method for the same
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
US20100026654A1 (en) * 2008-07-29 2010-02-04 Honeywell International Inc. Coordinate input device
US8604364B2 (en) * 2008-08-15 2013-12-10 Lester F. Ludwig Sensors, algorithms and applications for a high dimensional touchpad
US20100058251A1 (en) * 2008-08-27 2010-03-04 Apple Inc. Omnidirectional gesture detection
US9383217B2 (en) * 2008-09-10 2016-07-05 GM Global Technology Operations LLC Methods and systems for displaying content selections in vehicles
US8816967B2 (en) 2008-09-25 2014-08-26 Apple Inc. Capacitive sensor having electrodes arranged on the substrate and the flex circuit
US8321174B1 (en) 2008-09-26 2012-11-27 Cypress Semiconductor Corporation System and method to measure capacitance of capacitive sensor array
US8174504B2 (en) * 2008-10-21 2012-05-08 Synaptics Incorporated Input device and method for adjusting a parameter of an electronic system
US8487639B1 (en) 2008-11-21 2013-07-16 Cypress Semiconductor Corporation Receive demodulator for capacitive sensing
US20100126784A1 (en) * 2008-11-26 2010-05-27 Honeywell International Inc. Continuously variable knob input device
US8395590B2 (en) * 2008-12-17 2013-03-12 Apple Inc. Integrated contact switch and touch sensor elements
US9588684B2 (en) 2009-01-05 2017-03-07 Tactus Technology, Inc. Tactile interface for a computing device
KR101521932B1 (en) * 2009-01-19 2015-05-20 엘지전자 주식회사 Terminal and method for controlling the same
US8775023B2 (en) 2009-02-15 2014-07-08 Neanode Inc. Light-based touch controls on a steering wheel and dashboard
US8643628B1 (en) 2012-10-14 2014-02-04 Neonode Inc. Light-based proximity detection system and user interface
US9063614B2 (en) 2009-02-15 2015-06-23 Neonode Inc. Optical touch screens
US8917239B2 (en) 2012-10-14 2014-12-23 Neonode Inc. Removable protective cover with embedded proximity sensors
DE202010018551U1 (en) * 2009-03-12 2017-08-24 Google, Inc. Automatically deliver content associated with captured information, such as information collected in real-time
US8447066B2 (en) 2009-03-12 2013-05-21 Google Inc. Performing actions based on capturing information from rendered documents, such as documents under copyright
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
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
TWI466004B (en) * 2009-04-17 2014-12-21 Egalax Empia Technology Inc Method and device for resistive multi-point touch
US9448964B2 (en) 2009-05-04 2016-09-20 Cypress Semiconductor Corporation Autonomous control in a programmable system
US9354751B2 (en) * 2009-05-15 2016-05-31 Apple Inc. Input device with optimized capacitive sensing
US10705692B2 (en) 2009-05-21 2020-07-07 Sony Interactive Entertainment Inc. Continuous and dynamic scene decomposition for user interface
EP2449452B1 (en) 2009-07-03 2016-02-10 Tactus Technology User interface enhancement system
US8872771B2 (en) * 2009-07-07 2014-10-28 Apple Inc. Touch sensing device having conductive nodes
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
JP5549145B2 (en) * 2009-08-04 2014-07-16 日本テキサス・インスツルメンツ株式会社 Capacitance detection device
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.
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
US9081799B2 (en) 2009-12-04 2015-07-14 Google Inc. Using gestalt information to identify locations in printed information
US9323784B2 (en) 2009-12-09 2016-04-26 Google Inc. Image search using text-based elements within the contents of images
WO2011087816A1 (en) 2009-12-21 2011-07-21 Tactus Technology User interface system
US9298262B2 (en) 2010-01-05 2016-03-29 Tactus Technology, Inc. Dynamic tactile interface
US8619035B2 (en) 2010-02-10 2013-12-31 Tactus Technology, Inc. Method for assisting user input to a device
KR20110093097A (en) * 2010-02-11 2011-08-18 삼성전자주식회사 Apparatus and method for editing of list in portable terminal
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
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
EP2544079A4 (en) * 2010-03-05 2016-07-13 Nec Corp Portable terminal device
WO2011112984A1 (en) 2010-03-11 2011-09-15 Tactus Technology User interface system
EP2555088A1 (en) 2010-03-29 2013-02-06 Sharp Kabushiki Kaisha Display device having touch panel functionality
KR20130141344A (en) 2010-04-19 2013-12-26 택투스 테크놀로지, 아이엔씨. Method of actuating a tactile interface layer
WO2011133604A1 (en) 2010-04-19 2011-10-27 Tactus Technology User interface system
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
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
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
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
KR20120017258A (en) * 2010-08-18 2012-02-28 삼성모바일디스플레이주식회사 Thin film charged body sensor
US8626324B2 (en) * 2010-09-17 2014-01-07 Apple Inc. Altering sound output on a virtual music keyboard
US8516386B2 (en) 2010-09-29 2013-08-20 Apple Inc. Scrolling virtual music keyboard
CN103124946B (en) 2010-10-20 2016-06-29 泰克图斯科技公司 User interface system and method
WO2012054780A1 (en) 2010-10-20 2012-04-26 Tactus Technology User interface system
US8797283B2 (en) 2010-11-22 2014-08-05 Sony Computer Entertainment America Llc Method and apparatus for performing user-defined macros
US8804056B2 (en) 2010-12-22 2014-08-12 Apple Inc. Integrated touch screens
US8907903B2 (en) 2011-01-13 2014-12-09 Sony Computer Entertainment America Llc Handing control of an object from one touch input to another touch input
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
JP5615856B2 (en) * 2011-02-18 2014-10-29 富士フイルム株式会社 Conductive sheet and touch panel
US9442652B2 (en) 2011-03-07 2016-09-13 Lester F. Ludwig General user interface gesture lexicon and grammar frameworks for multi-touch, high dimensional touch pad (HDTP), free-space camera, and other user interfaces
US9268441B2 (en) 2011-04-05 2016-02-23 Parade Technologies, Ltd. Active integrator for a capacitive sense array
TWI447635B (en) * 2011-04-29 2014-08-01 Shih Hua Technology Ltd Method for detecting touch trace based on resistive touch panel
TWI454978B (en) * 2011-05-02 2014-10-01 Shih Hua Technology Ltd Touching based input device
US10254873B2 (en) 2011-05-05 2019-04-09 Synaptics Incorporated System and method for determining user input using dual baseline modes
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.
US9417754B2 (en) 2011-08-05 2016-08-16 P4tents1, LLC User interface system, method, and computer program product
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
US9501098B2 (en) 2011-09-19 2016-11-22 Samsung Electronics Co., Ltd. Interface controlling apparatus and method using force
US9519350B2 (en) 2011-09-19 2016-12-13 Samsung Electronics Co., Ltd. Interface controlling apparatus and method using force
US10430066B2 (en) 2011-12-06 2019-10-01 Nri R&D Patent Licensing, Llc Gesteme (gesture primitive) recognition for advanced touch user interfaces
US9823781B2 (en) 2011-12-06 2017-11-21 Nri R&D Patent Licensing, Llc Heterogeneous tactile sensing via multiple sensor types
FR2985049B1 (en) 2011-12-22 2014-01-31 Nanotec Solution CAPACITIVE MEASURING DEVICE WITH SWITCHED ELECTRODES FOR TOUCHLESS CONTACTLESS INTERFACES
SG11201403920WA (en) * 2012-01-29 2014-08-28 Neonode Inc User interface for a touch screen
WO2013133026A1 (en) * 2012-03-06 2013-09-12 三菱電機株式会社 Touch screen, touch panel, display device and electronic device
US8710344B2 (en) * 2012-06-07 2014-04-29 Gary S. Pogoda Piano keyboard with key touch point detection
US9493342B2 (en) 2012-06-21 2016-11-15 Nextinput, Inc. Wafer level MEMS force dies
US9032818B2 (en) 2012-07-05 2015-05-19 Nextinput, Inc. Microelectromechanical load sensor and methods of manufacturing the same
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
US9207800B1 (en) 2014-09-23 2015-12-08 Neonode Inc. Integrated light guide and touch screen frame and multi-touch determination method
US9164625B2 (en) 2012-10-14 2015-10-20 Neonode Inc. Proximity sensor for determining two-dimensional coordinates of a proximal object
US9921661B2 (en) 2012-10-14 2018-03-20 Neonode Inc. Optical proximity sensor and associated user interface
US10324565B2 (en) 2013-05-30 2019-06-18 Neonode Inc. Optical proximity sensor
US9741184B2 (en) 2012-10-14 2017-08-22 Neonode Inc. Door handle with optical proximity sensors
US10585530B2 (en) 2014-09-23 2020-03-10 Neonode Inc. Optical proximity sensor
US10282034B2 (en) 2012-10-14 2019-05-07 Neonode Inc. Touch sensitive curved and flexible displays
US9092093B2 (en) 2012-11-27 2015-07-28 Neonode Inc. Steering wheel user interface
US9336723B2 (en) 2013-02-13 2016-05-10 Apple Inc. In-cell touch for LED
JP5844002B2 (en) * 2013-03-07 2016-01-13 三菱電機株式会社 Display device
US9678591B2 (en) 2013-06-10 2017-06-13 The Board Of Trustees Of The Leland Stanford Junior University Method and apparatus for sensing touch
US9557813B2 (en) 2013-06-28 2017-01-31 Tactus Technology, Inc. Method for reducing perceived optical distortion
US10108305B2 (en) * 2013-08-13 2018-10-23 Samsung Electronics Company, Ltd. Interaction sensing
US10042446B2 (en) 2013-08-13 2018-08-07 Samsung Electronics Company, Ltd. Interaction modes for object-device interactions
WO2015106246A1 (en) 2014-01-13 2015-07-16 Nextinput, Inc. Miniaturized and ruggedized wafer level mems force sensors
US9176633B2 (en) 2014-03-31 2015-11-03 Synaptics Incorporated Sensor device and method for estimating noise in a capacitive sensing device
US10133382B2 (en) 2014-05-16 2018-11-20 Apple Inc. Structure for integrated touch screen
JP5992976B2 (en) * 2014-09-24 2016-09-14 レノボ・シンガポール・プライベート・リミテッド Method, computer and computer program for processing pointing stick input
WO2016072983A1 (en) 2014-11-05 2016-05-12 Onamp Research Llc Common electrode driving and compensation for pixelated self-capacitance touch screen
US10146359B2 (en) 2015-04-28 2018-12-04 Apple Inc. Common electrode auto-compensation method
CN104881157B (en) * 2015-06-09 2017-12-01 温州聚龙知识产权有限公司 The mobile wrist guard mouse mat of one kind auxiliary
EP3307671B1 (en) 2015-06-10 2022-06-15 Nextinput, Inc. Ruggedized wafer level mems force sensor with a tolerance trench
US10386962B1 (en) 2015-08-03 2019-08-20 Apple Inc. Reducing touch node electrode coupling
US10019122B2 (en) 2016-03-31 2018-07-10 Synaptics Incorporated Capacitive sensing using non-integer excitation
WO2018148510A1 (en) 2017-02-09 2018-08-16 Nextinput, Inc. Integrated piezoresistive and piezoelectric fusion force sensor
CN116907693A (en) 2017-02-09 2023-10-20 触控解决方案股份有限公司 Integrated digital force sensor and related manufacturing method
US10386965B2 (en) 2017-04-20 2019-08-20 Apple Inc. Finger tracking in wet environment
WO2019018641A1 (en) 2017-07-19 2019-01-24 Nextinput, Inc. Strain transfer stacking in a mems force sensor
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
US11579028B2 (en) 2017-10-17 2023-02-14 Nextinput, Inc. Temperature coefficient of offset compensation for force sensor and strain gauge
WO2019090057A1 (en) 2017-11-02 2019-05-09 Nextinput, Inc. Sealed force sensor with etch stop layer
WO2019099821A1 (en) 2017-11-16 2019-05-23 Nextinput, Inc. Force attenuator for force sensor
US10760949B2 (en) * 2018-09-11 2020-09-01 Acertara Acoustic Laboratories, LLC Piezoelectric pressure wave analysis
EP3887192B1 (en) 2018-11-28 2023-06-07 Neonode Inc. Motorist user interface sensor
US10962427B2 (en) 2019-01-10 2021-03-30 Nextinput, Inc. Slotted MEMS force sensor
WO2021081821A1 (en) * 2019-10-30 2021-05-06 深圳市汇顶科技股份有限公司 Common-mode noise filtering method, mcu, touch device, and storage medium
US11842014B2 (en) 2019-12-31 2023-12-12 Neonode Inc. Contactless touch input system
KR20230074269A (en) 2020-09-30 2023-05-26 네오노드, 인크. optical touch sensor
US11474625B1 (en) 2022-01-31 2022-10-18 Cirque Corporation Pressure gesture

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0394614A2 (en) * 1989-04-28 1990-10-31 International Business Machines Corporation Advanced user interface

Family Cites Families (131)

* 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
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
US4058765A (en) * 1976-06-07 1977-11-15 David Richardson General displacement sensor
US4071691A (en) * 1976-08-24 1978-01-31 Peptek, Inc. Human-machine interface apparatus
US4302011A (en) * 1976-08-24 1981-11-24 Peptek, Incorporated Video game apparatus and method
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
US4056696A (en) * 1976-09-15 1977-11-01 Bell Telephone Laboratories, Incorporated Flat panel telephone station set
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
US4246452A (en) * 1979-01-05 1981-01-20 Mattel, Inc. Switch apparatus
US4430917A (en) * 1979-08-22 1984-02-14 Peptek, Incorporated Hand-held musical instrument and systems including a man-machine interface apparatus
US4293734A (en) * 1979-02-23 1981-10-06 Peptek, Incorporated Touch panel system and method
DE2907811B1 (en) * 1979-02-28 1980-03-20 Agfa Gevaert Ag Function input unit with touch buttons
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
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
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
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
FR2615941B1 (en) * 1987-05-25 1991-12-06 Sfena DEVICE FOR DETECTING THE POSITION OF A CONTROL MEMBER ON A TOUCH TABLET
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
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
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
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
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
JP3171866B2 (en) 1991-03-08 2001-06-04 パイオニア株式会社 Pattern input device
US5287105A (en) 1991-08-12 1994-02-15 Calcomp Inc. Automatic tracking and scanning cursor for digitizers
US5376942A (en) 1991-08-20 1994-12-27 Sumitomo Electric Industries, Ltd. Receiving device with separate substrate surface
JP3190074B2 (en) 1991-09-11 2001-07-16 株式会社東芝 Handwriting input device
JPH0769767B2 (en) 1991-10-16 1995-07-31 インターナショナル・ビジネス・マシーンズ・コーポレイション Touch overlay for detecting finger touch or stylus position, and detection system
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
US5583542A (en) 1992-05-26 1996-12-10 Apple Computer, Incorporated Method for deleting objects on a computer display
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
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0394614A2 (en) * 1989-04-28 1990-10-31 International Business Machines Corporation Advanced user interface

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"PRESSURE-SENSITIVE ICONS", IBM TECHNICAL DISCLOSURE BULLETIN, vol. 33, no. 1B, 1 June 1990 (1990-06-01), pages 277/278, XP000122887 *
"SCROLL CONTROL BOX", IBM TECHNICAL DISCLOSURE BULLETIN, vol. 36, no. 4, 1 April 1993 (1993-04-01), pages 399 - 403, XP000364559 *
WILTON R.: "microsoft windows 3 developer's workshop", MICROSOFT PRESS, 1991, XP002027032 *

Cited By (92)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9081426B2 (en) 1992-03-05 2015-07-14 Anascape, Ltd. Image controller
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
GB2330668A (en) * 1997-10-24 1999-04-28 Sony Uk Ltd User interface for audio processing apparatus uses touch-sensitive controls
US7443385B2 (en) 1997-10-24 2008-10-28 Sony United Kingdom Limited Data processing
GB2330670B (en) * 1997-10-24 2002-09-11 Sony Uk Ltd Data processing
GB2330668B (en) * 1997-10-24 2002-10-09 Sony Uk Ltd Audio processing
US6729543B1 (en) 1998-03-06 2004-05-04 Audiovelocity, Inc. Page identification system and method
WO1999045521A1 (en) * 1998-03-06 1999-09-10 Audiovelocity, Inc. Multimedia linking device with page identification and active physical scrollbar
US6195389B1 (en) 1998-04-16 2001-02-27 Scientific-Atlanta, Inc. Motion estimation system and methods
WO1999057630A1 (en) * 1998-05-01 1999-11-11 Scientific-Atlanta, Inc. Method and apparatus to increase functionality of a user input device
US6400303B2 (en) 1998-09-04 2002-06-04 Brad A. Armstrong Remote controller with analog pressure sensor (S)
WO2001045123A1 (en) * 1998-09-04 2001-06-21 Armstrong Brad A Remote controller with pressure sensitive buttons
US6529920B1 (en) 1999-03-05 2003-03-04 Audiovelocity, Inc. Multimedia linking device and method
EP1202155A2 (en) * 2000-10-30 2002-05-02 Sony Computer Entertainment Inc. Electronic device for controlling a cursor
EP1202155A3 (en) * 2000-10-30 2004-01-02 Sony Computer Entertainment Inc. Electronic device for controlling a cursor
CN1695105A (en) * 2001-12-28 2005-11-09 皇家飞利浦电子股份有限公司 Touch-screen image scrolling system and method
CN1695105B (en) * 2001-12-28 2014-12-24 皇家飞利浦电子股份有限公司 Touch-screen image scrolling system and method
WO2003058589A2 (en) 2002-01-08 2003-07-17 Koninklijke Philips Electronics N.V. User interface for electronic devices for controlling the displaying of long sorted lists
USRE46659E1 (en) 2002-01-08 2018-01-02 Koninklijke Philips N.V. User interface for electronic devices for controlling the displaying of long sorted lists
EP1956468A1 (en) * 2002-01-08 2008-08-13 Koninklijke Philips Electronics N.V. User interface for electronic devices for controlling the displaying of long sorted lists
WO2006009516A1 (en) 2004-07-19 2006-01-26 Creative Technology Ltd Method and apparatus for touch scrolling
DE102005002777A1 (en) * 2005-01-20 2006-09-14 Hermstedt, Jörg Electronic handset
JP4715257B2 (en) * 2005-03-22 2011-07-06 パナソニック株式会社 Data processing device
JP2006268073A (en) * 2005-03-22 2006-10-05 Matsushita Electric Ind Co Ltd Data processor
US8127046B2 (en) 2006-12-04 2012-02-28 Deka Products Limited Partnership Medical device including a capacitive slider assembly that provides output signals wirelessly to one or more remote medical systems components
US9229634B2 (en) 2007-01-07 2016-01-05 Apple Inc. Portable multifunction device, method, and graphical user interface for interpreting a finger gesture
WO2008085770A3 (en) * 2007-01-07 2008-08-28 Apple Inc Portable multifunction device, method and graphical user interface for interpreting a finger swipe
WO2008085770A2 (en) * 2007-01-07 2008-07-17 Apple Inc. Portable multifunction device, method and graphical user interface for interpreting a finger swipe
US20140340327A1 (en) * 2007-01-07 2014-11-20 Apple Inc. Portable multifunction device, method, and graphical user interface for interpreting a finger gesture
US8665225B2 (en) 2007-01-07 2014-03-04 Apple Inc. Portable multifunction device, method, and graphical user interface for interpreting a finger gesture
US8547344B2 (en) 2008-04-30 2013-10-01 Chimei Innolux Corporation Display device with touch screen
US10268330B2 (en) 2010-01-28 2019-04-23 Fujifilm Corporation Conductive component and conductive component for touch panel
US10430014B2 (en) 2010-01-28 2019-10-01 Fujifilm Corporation Conductive component and conductive component for touch panel
US9851860B2 (en) 2010-01-28 2017-12-26 Fujifilm Corporation Conductive sheet and conductive sheet for touch panel
US9684423B2 (en) 2010-01-28 2017-06-20 Fujifilm Corporation Conductive sheet and conductive sheet for touch panel
WO2011093420A1 (en) 2010-01-28 2011-08-04 富士フイルム株式会社 Conductive sheet, method for using conductive sheet, and touch panel
US10031635B2 (en) 2010-01-28 2018-07-24 Fujifilm Corporation Conductive member, touch sensor and touch panel
US8917252B2 (en) 2010-01-28 2014-12-23 Fujifilm Corporation Conductive sheet, method for using conductive sheet, and touch panel
US10055080B2 (en) 2010-01-28 2018-08-21 Fujifilm Corporation Conductive member, touch sensor and touch panel
US8686308B2 (en) 2010-05-27 2014-04-01 Fujifilm Corporation Conductive sheet and capacitive touch panel
EP2390771A2 (en) 2010-05-27 2011-11-30 Fujifilm Corporation Conductive sheet and capacitive touch panel
US11709560B2 (en) 2010-06-04 2023-07-25 Apple Inc. Device, method, and graphical user interface for navigating through a user interface using a dynamic object selection indicator
US11188168B2 (en) 2010-06-04 2021-11-30 Apple Inc. Device, method, and graphical user interface for navigating through a user interface using a dynamic object selection indicator
JP2013535744A (en) * 2010-07-28 2013-09-12 サーク・コーポレーション Reduction of noise sensitivity through axis swap in mutual capacitance touchpad
EP2447818A1 (en) * 2010-10-07 2012-05-02 Research in Motion Limited Method and portable electronic device for presenting text
US9312048B2 (en) 2011-02-24 2016-04-12 Fujifilm Corporation Electroconductive sheet and touch panel
WO2012157556A1 (en) 2011-05-13 2012-11-22 富士フイルム株式会社 Conductive sheet and touch panel
WO2012157555A1 (en) 2011-05-13 2012-11-22 富士フイルム株式会社 Conductive sheet and touch panel
US9280185B2 (en) 2011-05-13 2016-03-08 Fujifilm Corporation Conductive sheet and touch panel
WO2012157559A1 (en) 2011-05-13 2012-11-22 富士フイルム株式会社 Conductive sheet and touch panel
US9370095B2 (en) 2011-05-13 2016-06-14 Fujifilm Corporation Conductive sheet and touch panel
US9386691B2 (en) 2011-05-13 2016-07-05 Fujifilm Corporation Conductive sheet and touch panel
WO2012157557A1 (en) 2011-05-13 2012-11-22 富士フイルム株式会社 Conductive sheet and touch panel
US9591743B2 (en) 2011-07-11 2017-03-07 Fujifilm Corporation Conductive laminate body, touch panel, and display device
US9642245B2 (en) 2011-07-11 2017-05-02 Fujifilm Corporation Conductive sheet, touch panel, display device, method for producing said conductive sheet, and non-transitory recording medium
WO2013036437A1 (en) * 2011-09-08 2013-03-14 Google Inc. User gestures indicating rates of execution of functions
KR20140068152A (en) 2011-10-05 2014-06-05 후지필름 가부시키가이샤 Conductive sheet, touch panel, display device, and method and program for producing conductive sheet
US9541785B2 (en) 2011-10-05 2017-01-10 Fujifilm Corporation Conductive sheet, touch panel, display device, method for producing conductive sheet, and recording medium
WO2013051548A1 (en) 2011-10-05 2013-04-11 富士フイルム株式会社 Conductive sheet, touch panel, display device, and method and program for producing conductive sheet
US9055680B2 (en) 2011-12-16 2015-06-09 Fujifilm Corporation Electroconductive sheet and touch panel
EP2781996A2 (en) 2011-12-16 2014-09-24 Fujifilm Corporation Conductive sheet and touch panel
KR20140090176A (en) 2011-12-16 2014-07-16 후지필름 가부시키가이샤 Electroconductive sheet and touch panel
WO2013089085A1 (en) 2011-12-16 2013-06-20 富士フイルム株式会社 Conductive sheet and touch panel
US9078364B2 (en) 2011-12-16 2015-07-07 Fujifilm Corporation Electroconductive sheet and touch panel
US10299377B2 (en) 2011-12-22 2019-05-21 Fujifilm Corporation Conductive sheet and touch panel
US11782559B2 (en) 2011-12-22 2023-10-10 Fujifilm Corporation Conductive sheet and touch panel
US10117330B2 (en) 2011-12-22 2018-10-30 Fujifilm Corporation Touch panel
KR20140104449A (en) 2011-12-22 2014-08-28 후지필름 가부시키가이샤 Conductive sheet and touch panel
US10928963B2 (en) 2011-12-22 2021-02-23 Fujifilm Corporation Conductive sheet and touch panel
US11520447B2 (en) 2011-12-22 2022-12-06 Fujifilm Corporation Conductive sheet and touch panel
US10433419B2 (en) 2011-12-22 2019-10-01 Fujifilm Corporation Conductive sheet and touch panel
US10111326B2 (en) 2011-12-22 2018-10-23 Fujifilm Corporation Conductive sheet and touch panel
EP3570152A1 (en) 2011-12-22 2019-11-20 Fujifilm Corporation Conductive sheet and touch panel
US10492295B2 (en) 2011-12-22 2019-11-26 Fujifilm Corporation Touch panel
WO2013094729A1 (en) 2011-12-22 2013-06-27 富士フイルム株式会社 Conductive sheet and touch panel
US10653008B2 (en) 2011-12-22 2020-05-12 Fujifilm Corporation Conductive sheet and touch panel
US9877385B2 (en) 2011-12-22 2018-01-23 Fujifilm Corporation Conductive sheet and touch panel
US11086444B2 (en) 2013-12-13 2021-08-10 Apple Inc. Integrated touch and display architectures for self-capacitive touch sensors
US10936120B2 (en) 2014-05-22 2021-03-02 Apple Inc. Panel bootstraping architectures for in-cell self-capacitance
US10739947B2 (en) 2014-05-30 2020-08-11 Apple Inc. Swiping functions for messaging applications
US11226724B2 (en) 2014-05-30 2022-01-18 Apple Inc. Swiping functions for messaging applications
US9898162B2 (en) 2014-05-30 2018-02-20 Apple Inc. Swiping functions for messaging applications
US11068157B2 (en) 2014-06-01 2021-07-20 Apple Inc. Displaying options, assigning notification, ignoring messages, and simultaneous user interface displays in a messaging application
US11494072B2 (en) 2014-06-01 2022-11-08 Apple Inc. Displaying options, assigning notification, ignoring messages, and simultaneous user interface displays in a messaging application
US10416882B2 (en) 2014-06-01 2019-09-17 Apple Inc. Displaying options, assigning notification, ignoring messages, and simultaneous user interface displays in a messaging application
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
US11868606B2 (en) 2014-06-01 2024-01-09 Apple Inc. Displaying options, assigning notification, ignoring messages, and simultaneous user interface displays in a messaging application
US10795488B2 (en) 2015-02-02 2020-10-06 Apple Inc. Flexible self-capacitance and mutual capacitance touch sensing system architecture
US11353985B2 (en) 2015-02-02 2022-06-07 Apple Inc. Flexible self-capacitance and mutual capacitance touch sensing system architecture
US10620812B2 (en) 2016-06-10 2020-04-14 Apple Inc. Device, method, and graphical user interface for managing electronic communications
US10852894B2 (en) 2016-07-29 2020-12-01 Apple Inc. Touch sensor panel with multi-power domain chip configuration
US11662867B1 (en) 2020-05-30 2023-05-30 Apple Inc. Hover detection on a touch sensor panel

Also Published As

Publication number Publication date
US5889236A (en) 1999-03-30
JPH11511580A (en) 1999-10-05
EP0861462A1 (en) 1998-09-02
KR19990064226A (en) 1999-07-26
CN1202254A (en) 1998-12-16

Similar Documents

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

Legal Events

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

Ref document number: 96198286.1

Country of ref document: CN

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

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 1019980702712

Country of ref document: KR

ENP Entry into the national phase

Ref document number: 1997 518925

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 1996940319

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1996940319

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1019980702712

Country of ref document: KR

WWG Wipo information: grant in national office

Ref document number: 1019980702712

Country of ref document: KR

WWW Wipo information: withdrawn in national office

Ref document number: 1996940319

Country of ref document: EP