WO1996030890A1 - System for extending the drag function - Google Patents

System for extending the drag function Download PDF

Info

Publication number
WO1996030890A1
WO1996030890A1 PCT/US1996/004244 US9604244W WO9630890A1 WO 1996030890 A1 WO1996030890 A1 WO 1996030890A1 US 9604244 W US9604244 W US 9604244W WO 9630890 A1 WO9630890 A1 WO 9630890A1
Authority
WO
WIPO (PCT)
Prior art keywords
cursor
location
border
pointing object
distance
Prior art date
Application number
PCT/US1996/004244
Other languages
French (fr)
Inventor
George E. Gerpheide
Jack S. Kelliher
Everett D. Robinson
Original Assignee
Cirque Corporation
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 Cirque Corporation filed Critical Cirque Corporation
Priority to DE19681316T priority Critical patent/DE19681316T1/en
Priority to JP52963996A priority patent/JP3833709B2/en
Priority to AU53768/96A priority patent/AU5376896A/en
Publication of WO1996030890A1 publication Critical patent/WO1996030890A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • 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

Definitions

  • This invention relates to computer pointing devices and accompanying methods used to control cursor movement on a display. More specifically, the present invention relates to touch sensitive input devices for data input to computers and other data utilizing devices. 2.
  • Input devices for computers are well known in the art. There are several types of input devices including the ubiquitous and familiar "mouse.” The mouse has become so popular because, when combined with a graphical user interface (GUI) , it is so much easier to use than typed keyboard commands. The mouse has been accepted as a "user friendly" input device for both experienced and novice computer users. The popularity which the mouse has achieved in the art can be given large credit for fostering the explosive growth of the personal computer industry since a mouse provides a simple means for users to input data to a computer.
  • GUI graphical user interface
  • mice While mice are currently the most popular non- keyboard input device, a mouse generally requires a free-rolling surface, i.e. a table top, on which it can operate. Disadvantageously, a mouse is not well suited for use in cramped spaces or with a portable computer, particularly laptop, notebook, sub-notebook, and palmtop computers.
  • Such alternative input devices include devices commonly referred to as track balls, track pens, track point devices, as well as various devices which sense the position of a pointing object on a position sensing surface.
  • the devices which sense the position of a pointing object on a sensing surface generally have the advantages of being simple to use, being easily integrated with current computers and other computing devices, reliability, ruggedness, compactness, and the ability to be transported and used in a variety of locations.
  • a tablet-like coordinate detecting apparatus including a resistive film for determining the coordinate position data of a point on a plane indicated by the touch of a finger tip or other load
  • U.S. Patent No. 4,103,252 to Bobick A position sensing tablet with electrodes located on the boundaries of a sensing region which detects a human touch by the change in capacitive charge caused by the touch which varies the time constant of an RC network which is part of an oscillator
  • a proximity sensor includes a sensor matrix array which senses changes in capacitance between horizontal and vertical conductors connected to the position sensing pad to determine x, y, & z position information
  • the Gerpheide patent discloses devices and methods which overcome the drawbacks inherent in other devices which utilize a sensing tablet or sensing surface.
  • the devices and methods of the Gerpheide patent include a touch sensitive input pad upon which a user conveniently inputs position information with a finger. In operation, the user's finger tip is brought in close proximity to the top surface of the position sensing surface of the touch sensitive pad.
  • the device of the Gerpheide patent detects the position of the finger tip in the x and y directions of the touch pad as well as the finger's proximity in the z direction in relation to the sensing surface.
  • the pointing object can be any other conductive object.
  • FIG. 1 Illustrated in Figure 1 is a representation of a computer 16 to which is attached a mouse 10 which acts as a cursor locator input device.
  • the mouse 10 generally includes two buttons 12 and 14 which are activated by the user to provide instructions to the computer 16.
  • the movement of the mouse 10 is translated into movement of a cursor on a display 20 connected to the computer 16 in real time.
  • the mouse driver 18 can follow any of a number of protocols which are available in the industry.
  • any input device to be used with the computer 16 be compatible therewith.
  • a cursor locating device can interface directly with the computer 16, for example via an operating system or some other technique which does not require a mouse driver.
  • any input device must provide the "click” and "drag” functions which are also provided by the mouse 10.
  • the click function entails depressing and releasing one of the mouse buttons 12 or 14.
  • the click function may entail single, double, or triple clicking.
  • the drag function entails moving the cursor over text or an object on the display 20, depressing a mouse button 12 or 14, keeping the mouse button depressed while "dragging" the text or object to a new location on the display 20, and releasing the mouse button to position the text or object on the new location on the display 20.
  • a touch-sensitive positioning device generally referred to at 26, which includes a position sensing surface 22 and a pointing object 24.
  • buttons 28 and 30 which emulate the functions of mouse buttons 12 and 14, respectively.
  • the sensing surface of any touch sensitive device must include only a small position sensing surface 22, for example anywhere from one by two inches up to three by five inches.
  • Some touch-sensitive input devices are used as absolute cursor location devices in which the cursor is placed on the display 20 in the same relative location as the position of the pointing object on the touch-sensitive surface 22. When used as an absolute positioning device, however, the small touchpads make precise cursor location difficult and inconvenient for a user.
  • touch-sensitive devices are used as relative cursor positioning devices in which the cursor is moved across the display using one or more strokes across the position sensing surface 22.
  • the movement of the cursor on the display 20 is scaled to the user's movement of the pointing object across the position sensing surface 22.
  • the pointing object 24 in order to move the cursor long distances (for example, completely across the display 20) , the pointing object 24 must be repeatedly touched down, stroked across the position sensing surface 22, and lifted off from the position sensing surface 22. Even when the cursor is only moved a short distance, if a user starts the stroke near the edge of the position sensing surface 22, the user's pointing object 24 will hit the edge of the position sensing surface 22 before the desired new cursor location is reached.
  • the user When performing a drag function the user must keep the pointing object 24 on the position sensing surface 22 until the new location for the cursor is reached to efficiently carry out the drag operation.
  • the drag operation will terminate and the text or object which was being dragged will immediately drop into whatever location it is at on the display 20.
  • the text or object being dragged will snap back to its beginning location when the pointing object 24 is lifted from the sensing surface 22 after the pointing object has reached the edge of the sensing surface 22. It is very inconvenient and frustrating for the user to have the cursor drag operation unintentionally terminated in the described fashion.
  • the present invention provides an advantageous method and system for extending the distance which a user can drag a cursor across a computer display device when using certain pointing devices.
  • the present invention is beneficial when a touch sensitive pointing device, such as one which allows the user to move the cursor on the display by moving a stylus or finger upon a position sensing surface, is used as a relative cursor locating device.
  • a touch sensitive pointing device such as one which allows the user to move the cursor on the display by moving a stylus or finger upon a position sensing surface
  • a relative cursor locating device When such relative cursor locating devices are used, it is often difficult or inconvenient to carry out dragging of text and objects which appear on the computer display.
  • Such touch sensitive pointing devices generally have a small position sensing surface and when the user reaches its outer perimeter the cursor will not move further on the display and the user must terminate the drag operation (which causes the object to drop wherever it happens to be located on the display) and start another movement on the position sensing surface to complete dragging operation.
  • the present invention defines a border within the outer perimeter of the position sensing surface. The method of the present invention then detects when the pointing object enters the border on the position sensing surface. It is then determined if the user is carrying out a drag operation (i.e. the drag function is engaged) when the pointing device enters the border.
  • the present invention maintains the drag mode (causing the cursor to be held at the location on the computer display where it was when the pointing object entered the border) while the user moves the pointing device, e . g. stylus or finger, to a new position not within the border on the position sensing surface.
  • the user then continues the dragging function from where the cursor is held on the computer display to a desired end location on the computer display as the user moves the pointing device from the new position to an end position on the position sensing surface.
  • the present invention also desirably allows the time which the drag mode will be maintained ( i . e . the time which the cursor will be held while the user moves the pointing object) to be varied for the convenience of the user.
  • the present invention also preferably maintains the drag mode until some action of the user, such as the user releasing the drag function or the user employing a click function, is carried out.
  • the present invention utilizes a touch sensitive pointing device which allows a user to locate the cursor on the computer display using a single finger and emulate the click and drag functions of a mouse by tapping on the position sensing surface with a finger.
  • Figure 2 is a block diagram representing the structure of a particular embodiment of the present invention described herein.
  • Figures 3A-C are diagrams showing the operation of the embodiment of the present invention described herein.
  • Figure 4 is a flow chart showing the principle steps carried in accordance with the present invention.
  • Figure 5 is a flow chart showing particular steps carried out by the embodiment of the present invention described herein.
  • Figure 6 is a flow chart showing the steps carried out by the embodiment of the present invention described herein to determine if the drag mode should be entered.
  • Figure 7 is a flow chart showing the steps carried out by the embodiment of the present invention described herein to determine if the user has moved the pointing object to a border of a touch sensitive pad.
  • Figure 8 is a flow chart showing the steps carried out by the embodiment of the present invention described herein to extend to drag mode beyond the edge of the position sensing surface.
  • FIG. 2 is a block diagram representing one presently preferred embodiment of the present invention. It will be appreciated that the present invention may be embodied in specific forms other than those described herein. The described embodiments are, however, the those presently preferred for carrying out the present invention.
  • a touch sensitive pointing device 100 which includes a touch pad 102 and an interface circuit 104.
  • the touch pad 102 has a position sensing surface which senses the position of a pointing object 103, such as a stylus or a user's finger, which is manipulated by the user.
  • the interface circuit 104 includes those components, whether embodied in software, firmware, or hardware, which are necessary to interpret the position information obtained from the touch pad 102 to industry standard signals understandable by the computer 112.
  • the computer 112 may include a component or driver 114, for example a mouse driver, or some other cursor positioning utility to interpret the signals received from the touch pad 102.
  • a component or driver 114 for example a mouse driver, or some other cursor positioning utility to interpret the signals received from the touch pad 102.
  • those skilled in the art can arrive at many other techniques for the touch pad to communicate with the computer 112. It is particularly preferred that the touch sensitive pointing device which is described in U.S. Patent No. 5,305,017 be used with the present invention.
  • U.S. Patent No. 5,305,017 is particularly advantageous in that the cursor positioning, clicking, and dragging functions can all be accurately carried out by a user using only a single finger as a pointing object.
  • Other advantages of the touch sensitive pointing device described in U.S. Patent No. 5,305,017 are described therein or will be apparent from use of the invention.
  • U.S. Patent No. 5,305,017 is now incorporated herein by reference in its entirety. Using the information set forth in U.S. Patent No. 5,305,017 and the information set forth herein, a system for carrying out the present invention can be readily arrived at by those skilled in the art. Importantly, the present invention is readily adaptable for use with numerous other pointing devices such as those mentioned earlier.
  • the touch sensitive pointing device 100 of the present invention is connected to the computer 112.
  • the computer 112 is connected to a display 116 upon which various text and other objects are displayed and a cursor is located.
  • the components of the interface circuit 104 will be described shortly.
  • Figure 3A is a representation of the touch pad 102 which has four edges 121A-D which will be referred to herein as a top edge 121A, a right edge 121B, a bottom edge 121C, and a left edge 121D. While the represented touch pad 102 is preferred for use with the present invention, it will be appreciated that touch pads of different shapes and configurations can also be used. Moreover, other cursor locating devices, such as tablets and those exemplary devices mentioned earlier, also benefit from the present invention. Also represented in Figure 3A is the display 116. In this example of the present invention, the touch pad 102 serves as a relative cursor locating device.
  • Cursor position a represents a beginning cursor location.
  • Cursor position c represents a desired ending cursor location.
  • location a represents the beginning position of a pointing object, such as a stylus or a user's finger, and the position where the user begins the drag operation intending to move text or other object to the desired location c on the display. Since the touch pad is being used as a relative cursor positioning device, disadvantageously, when the user moves the pointing object to position b at the right edge 121B of the touch pad 102, the cursor has only reached corresponding location b on the display 116.
  • the pointing object may be a user's finger or any other appropriate object.
  • FIG.3B is a further representation of the touch pad 102.
  • border areas 120A-D are defined adjacent to each edge 121A-D of the touch pad 102.
  • the respective limits of the border areas 120A-D are represented by the lines 122A-D.
  • any position on the touch pad 102 can be defined by an x, y coordinate, with both values expressed as positive values as suggested in Figure 3B.
  • the touch pad 102 of the present invention also provide a vertical z component to determine if the pointing object is present on the surface of the touch pad 102.
  • the present invention utilize the pointing object making appropriate "taps" on the surface of the touch pad 102 to invoke the click and drag functions which must be provided.
  • Obtaining z position information which can be used to carry out such "tap” functions is described in U.S. Patent No. 5,305,017 but alternative methods, such as mechanical or touch sensitive buttons, can be used within the scope of the present invention to access the click and drag functions .
  • Figure 3C is a representation of the touch pad 102 and the display 116 with a preferred embodiment of the present invention operating therewith.
  • the user when a user desires to move the cursor from position a to position c on the display 116, the user begins the movement of the pointing object on the touch pad 102 at location a on the touch pad 102 by engaging the drag mode. As the user moves the pointing object to position b within boundary 102B, the drag mode is maintained (which causes the cursor to be held at position Jb on the display 116) while the user lifts the pointing object from the surface of the touch pad 102.
  • the user moves the pointing object to a new position on the surface of the touch pad 102, for example to position b neu , and continues to stroke the touch pad 102 in the desired direction.
  • the cursor which was held at position Jb on the display 116, now continues to move to the desired cursor position c on the display 116.
  • the user releases the drag function as explained earlier. Releasing the drag function can, for example, cause the text or object (not represented in Figure 3C) to be dropped at position c.
  • the present invention allows the user to reposition the pointing object anywhere on the touch pad 102, including within the borders 120A-D, and continue the drag operation in any direction.
  • the present invention will allow a user to utilize multiple strokes across the touch pad 102 while maintaining the drag mode each time a border 120A-D is entered.
  • the output of the touch sensitive pointing device 100 is scaled to require many strokes across the surface of the touch pad 102 to cross the display 116 (in order to provide very accurate cursor locating) the user can repeatedly stroke the touch pad while the drag mode is engaged without interruption as the cursor slowly moves across the display 116.
  • the present invention's feature of allowing multiple strokes across the touch pad 102 while maintaining the drag mode is a great benefit.
  • the present invention advantageously allows a user to extend the drag function of a computer pointing device in a manner not previously known or suggested.
  • the present invention allows the user to extend the drag function easily, conveniently, and without requiring long practice or accustomization to the method or apparatus.
  • FIG. 4 is a flow chart showing the principle steps carried out in accordance with the present invention.
  • the flow chart of Figure 4 starts at 150 and illustrates one preferred method of the present invention.
  • a border area is defined at step 152.
  • the touch pad (102 Figures 3A-C) and associated structures detect when the pointing object is within the border (120A-D) . It will be appreciated that those skilled in the art can arrive at many different methods and structures to determine when the pointing object is on, near, or in the border.
  • the drag mode is maintained and the cursor is held at a first location.
  • the first location is the location of the cursor on the display when the pointing object was lifted off from the touch pad 102.
  • the drag mode is maintained and the cursor is held at the first position on the display (116 in Figure 3A-C) while the user moves the pointing object to another position on the touch pad 102.
  • the drag function continues so that the cursor continues to move on the display 116 as the user moves the pointing object from the new position on the touch pad 102 to an end position.
  • the end position corresponds to the desired location of the cursor on the display 116.
  • any method or structure which functions to hold the cursor in a location on a real-time display while the user reposition a pointing object to another position on a position sensing surface and then allows the cursor movement to continue from the location on the display as the user continues movement of the pointing object, all while maintaining the drag mode, is intended to fall within the scope of the present invention.
  • FIG. 5 provides further information regarding preferred embodiments of the present invention. Using the information set forth herein, those skilled in the art will be able to readily arrive at many different arrangements of software, firmware, and/or hardware which will carry out the present invention.
  • the border limits (122A-D in Figure 3B) are initialized. Desirably, the positions of border limits (122A-D) can be altered by the user and each of the border limits (122A-D) can be initialized differently by the user.
  • the method waits in a loop until position information is available from the touch pad (102 in Figures 3A-C) or other position sensing device. If position information is available from the touch pad 102, at step 168 the x, y, z position information is processed.
  • the click and drag functions be invoked by the user tapping on the surface of the touch pad 102.
  • the present invention allows a user to tap once to invoke a click function, tap twice to invoke a double click function, and tap once immediately followed by holding the pointing object against the surface of the touch pad (102 in Figures 3A- C) to invoke the drag function.
  • step 170 whether the drag mode is engaged is determined. Further information regarding the steps used to determine if the drag mode is engaged and whether the drag mode should continue is set forth in Figure 6 which will be discussed shortly.
  • the method next determines if the pointing object is in the border (120A-C in Figure 3B) as will be further discussed in connection with Figure 7.
  • the drag extend mode is activated as will be further discussed in connection with Figure 8.
  • the x, y, z and button information is sent to the computer 116 for processing, for example by a mouse driver 114 which is resident in the computer 112. The method then loops back to step 166 and continues processing.
  • the method determines at step 180 if a pointing object is on the touch pad (102 in Figures 3A-C) . If a pointing object is on the touch pad 102, a timer is set at step 182. The length of the timer can beneficially be altered by the user to accommodate different preferences.
  • the method determines if the pointing object is off the touch pad 102. If the pointing object is not off the touch pad 102, the method proceeds to step 190 and it is determined if the pointing object moved on the touch pad 102.
  • the method determines if the timer has timed out at step 192. If the timer has timed out at step 192, the method returns to step 184; If the timer has not timed out at step 192, the method proceeds to step 200 where a button up signal is set. Also, if the pointing object moved at step 190, the method also proceeds to step 200 where a button up signal is set. Returning again to step 184, if the pointing object is off the touch pad at step 184, the method sets a button down signal at step 186 and a timer is set at step 188.
  • the method determines whether a pointing object is on the touch pad (102 in Figures 3A- C) . If the pointing object is on the touch pad 102, the method determines if the timer (step 188) has timed out at step 198; If the timer has not timed out at step 198 the method loops back to step 196. The method proceeds to step 200 if the timer (step 188) has timed out. If at step 196 it is determined that the pointing object is on the touch pad (102 in Figures 3A-C) , the method proceeds to step 202 and sets a timer.
  • step 202 the method proceeds to step 204 and determines if the pointing object is off the touch pad 102 and if so, the method sets a button up signal (step 214) , proceeds through a set button down routine (step 216) , and then proceeds to step 200 and sets a button up signal.
  • step 204 determines if the pointing object is not off the touch pad (102 in Figures 3A-C) . If at step 204 it is determined that the pointing object is not off the touch pad (102 in Figures 3A-C) , the method proceeds to step 206 and determines if the timer set in step 202 has timed out. If the timer has not timed out at step 206, the method loops back to step 204. If the timer has timed out at step 206, the method proceeds to step 208 and the method engages the drag mode. At step 210 the method determines if the pointing object is off the touch pad 102. If the pointing object is not off the touch pad 102, the method waits in a loop at step 210.
  • step 212 a set no drag routine is executed followed by step 200 which sets a button up signal. From step 200, the method again determines if the pointing object is off the touch pad 102. If the pointing object is not off the touch pad 102, the method waits by looping back on step 194. If the pointing object is off the touch pad 102 the method returns back to step 180.
  • the foregoing method provides that the user can conveniently perform click functions and engage the drag function using taps with a single finger or with another appropriate pointing object.
  • the present invention provides the signals which are required by an industry standard mouse driver (114 in Figure 2) and can emulate a mouse device.
  • the present invention can also communicate with the computer (112 in Figure 2) in a variety of other ways which are now available or which may become available in the future.
  • the present invention also most preferably allows the user to engage the drag mode, as well as perform clicking operations, without pushing any buttons. Still, the present invention provides advantages not previously available with a touch sensitive pointing device, regardless of whether buttons must or need not be used to invoke and engage the click and drag functions.
  • Figure 7 is a flow chart illustrating the preferred method of the present invention to determine if the pointing object is within a border (120A-D in Figure 3B) as mentioned earlier at step 172 of Figure 5.
  • the method determines if the drag mode is engaged at step 232. If the drag mode is not engaged, a set not at edge flag routine is performed at step 242 and the method exits at step 248.
  • the method determines if the x position of the pointing object is less than the left limit 122D (step 234) , if the y position of the pointing object is greater than the bottom limit 122C (step 236) , if the x position of the pointing object is greater than the right limit 122B (step 238) , or the y position of the pointing object is less than the top limit 122A, then the method proceeds to step 244 and an at edge flag is set and the method exits at step 248.
  • step 2334 determines that the x position of the pointing object is not less than the left limit 122D (step 234) , if the y position of the pointing object is not greater than the bottom limit 122C (step 236) , if the x position of the pointing object is not greater than the right limit 122B (step 238) , or the y position of the pointing object is not less than the top limit 122A, then the method proceeds to step 246 and a not at edge flag is set and the method exits at step 248. In the described fashion, the method of the present invention efficiently determines if the pointing object is in a border.
  • Figure 8 is a flow chart illustrating the preferred method to extend the drag mode beyond the edge of the position sensing surface of the touch sensitive pointing device 100 and is an example of the drag extend routine indicted at step 174 in Figure 5.
  • the method first determines if the drag mode is engaged at step 252. If the drag mode is not engaged, the method waits in a loop at step 252. If the drag mode is engaged, the method next determines if the pointing object is in the border (120A-D in Figure 3B) . If the pointing object is not in the border, the method returns to step 252.
  • the method determines if the pointing object is off the touch pad 102 at step 256. If the pointing object is not off the touch pad 102, the method returns to step 254. If the pointing object is off the touch pad at step 256, the method proceeds to step 258 where a drag signal is set and a timer is set. It is presently preferred that the timer be set for a period of two seconds but it is preferred that the time be adjustable to meet the desires of the user.
  • the periods of all of the timers described in connection with Figures 6-8 be user adjustable.
  • the period of the timer set at step 258 determines how long a use will have to move the pointing object from one of the borders 120A-D to a new position on the touch pad 102 as explained in connection with Figure 3C.
  • the method determines if the pointing object is on the touch pad 102 and, if so, the method returns to step 254. If it is determined at step 260 that the pointing object is not on the touch pad 102, the method proceeds to step 262 where it is determined if the timer (step 258) has timed out. If the timer has not timed out at step 262, the method returns to step 260. If the timer has timed out at step 262, the method proceeds to step 264 and a no drag signal is set at step 264 and the method returns to step 252.
  • FIG. 2 is a block diagram representing one presently preferred system of the present invention. From the forgoing description, it will be appreciated that the method of the present invention can be embodied in many different apparatus and systems. Depending upon the application to which the present invention is to be employed, the present invention may be embodied as software, firmware, hardware, or a combination of the foregoing.
  • a position detection means which performs the functions necessary to use the touch pad.
  • structures which carry out the present invention in cooperation with the position sensing structures.
  • Shown in Figure 2 at 106 is a means for detecting when the pointing device is on the edge of the border or beyond. Also represented at 108 is a means for activating a drag function. Represented at 110 in Figure 2 is a means for maintaining the drag mode and holding the cursor at a first location on the display. Also depicted in Figure 2 at 109 is a means for continuing the dragging function from the first location on the display to a second location on the display. 22
  • the present invention provides a system and method for extending the drag function of computer pointing device which is reliable and easy to use.
  • the present invention also provides a system and method for extending the drag function of a computer pointing device which is particularly adapted for use with a touch sensitive pointing device and which can operate with a user's finger as the only pointing object.

Abstract

Method and system for extending the distance which a user can drag a cursor across a computer display device (116). A border (120A-D) within the outer perimeter of the position sensing surface (102) is defined and when a pointing object (103) enters the border (120A-D) on the position sensing surface (102) it is detected. It is then determined if the drag function is engaged for the cursor when the pointing objet (103) enters the border (120A-D). If the drag function is engaged, the system holds the cursor at the location on the computer display (116) while the user moves the pointing object (103) to a new position on the position sensing surface (102) from which position the user continues the dragging function to a desire end location on the computer display (116).

Description

System for Extending the Drag Function
BACKGROUND 1. The Field of the Invention.
This invention relates to computer pointing devices and accompanying methods used to control cursor movement on a display. More specifically, the present invention relates to touch sensitive input devices for data input to computers and other data utilizing devices. 2. The Background Art.
Input devices for computers are well known in the art. There are several types of input devices including the ubiquitous and familiar "mouse." The mouse has become so popular because, when combined with a graphical user interface (GUI) , it is so much easier to use than typed keyboard commands. The mouse has been accepted as a "user friendly" input device for both experienced and novice computer users. The popularity which the mouse has achieved in the art can be given large credit for fostering the explosive growth of the personal computer industry since a mouse provides a simple means for users to input data to a computer.
While mice are currently the most popular non- keyboard input device, a mouse generally requires a free-rolling surface, i.e. a table top, on which it can operate. Disadvantageously, a mouse is not well suited for use in cramped spaces or with a portable computer, particularly laptop, notebook, sub-notebook, and palmtop computers. In answer to the long existing need for a more convenient input device suitable for both portable and desktop computers, various alternative input devices have been proposed. Such alternative input devices include devices commonly referred to as track balls, track pens, track point devices, as well as various devices which sense the position of a pointing object on a position sensing surface. The devices which sense the position of a pointing object on a sensing surface generally have the advantages of being simple to use, being easily integrated with current computers and other computing devices, reliability, ruggedness, compactness, and the ability to be transported and used in a variety of locations.
Numerous types of input devices utilize a position sensing surface. Examples are provided in the following patent references: U.S. Pat. No. 3,886,311, Rodgers et al. (Writing pen for detecting time varying electrostatic field produced by a writing tablet) ; U.S. Patent No. 4,672,154, to Rodgers et al . (Cordless stylus which emits a directional electric field from the tip of a conductive pen cartridge sensed by a digitizer tablet having an X-Y coordinate system) ; U.S. Pat. No. 4,680,430 to Yoshikawa et al . (A tablet-like coordinate detecting apparatus including a resistive film for determining the coordinate position data of a point on a plane indicated by the touch of a finger tip or other load) ; U.S. Patent No. 4,103,252 to Bobick (A position sensing tablet with electrodes located on the boundaries of a sensing region which detects a human touch by the change in capacitive charge caused by the touch which varies the time constant of an RC network which is part of an oscillator) ; U.S. Patent No. 4,736,191 to Matzke (A touch activated control device comprising individual conductive plates wherein a user's touch on the dielectric layer overlaying the plates is detected by individually charging and discharging each of the sectors in the plates in a sequential manner to determine the increased capacitance of the sector) ; U.S. Patent No. 4,550,221 to Mabusth (A touch sensitive control device which translates touch location to output signals and which includes a substrate that supports first and second interleaved, closely spaced, non-overlapping conducting plates) ; U.S. Patent No. 4,639,720 to Rympalski et al. (An electronic sketch pad which contains a graphics input pad having an array of transparent capacitive pixels, the capacitance characteristics of which are changed in response to the passing of a conductive tipped stylus over the surface of the pad) ; and, European Patent Publication No. 574,213 (A proximity sensor includes a sensor matrix array which senses changes in capacitance between horizontal and vertical conductors connected to the position sensing pad to determine x, y, & z position information) .
A particularly useful and advantageous input device is disclosed in U.S. Patent No. 5,305,017 to Gerpheide. The Gerpheide patent discloses devices and methods which overcome the drawbacks inherent in other devices which utilize a sensing tablet or sensing surface. The devices and methods of the Gerpheide patent include a touch sensitive input pad upon which a user conveniently inputs position information with a finger. In operation, the user's finger tip is brought in close proximity to the top surface of the position sensing surface of the touch sensitive pad. The device of the Gerpheide patent detects the position of the finger tip in the x and y directions of the touch pad as well as the finger's proximity in the z direction in relation to the sensing surface. In addition to a finger, the pointing object can be any other conductive object.
The above mentioned devices, as well as other devices which incorporate a position sensing tablet or surface, inherently have a drawback when certain functions are carried out. Illustrated in Figure 1 is a representation of a computer 16 to which is attached a mouse 10 which acts as a cursor locator input device. The mouse 10 generally includes two buttons 12 and 14 which are activated by the user to provide instructions to the computer 16. It is common for the computer to include a device driver 18, generally referred to as a software mouse driver 18, which interfaces the signals generated by the mouse 10 to the computer 16. The movement of the mouse 10 is translated into movement of a cursor on a display 20 connected to the computer 16 in real time. The mouse driver 18 can follow any of a number of protocols which are available in the industry. In many cases, it is desirable that any input device to be used with the computer 16 be compatible therewith. Alternatively, a cursor locating device can interface directly with the computer 16, for example via an operating system or some other technique which does not require a mouse driver. In order to be compatible the computer 16, any input device must provide the "click" and "drag" functions which are also provided by the mouse 10. The click function entails depressing and releasing one of the mouse buttons 12 or 14. The click function may entail single, double, or triple clicking. The drag function entails moving the cursor over text or an object on the display 20, depressing a mouse button 12 or 14, keeping the mouse button depressed while "dragging" the text or object to a new location on the display 20, and releasing the mouse button to position the text or object on the new location on the display 20.
Also represented in Figure 1 is a touch-sensitive positioning device, generally referred to at 26, which includes a position sensing surface 22 and a pointing object 24. Also represented are buttons 28 and 30 which emulate the functions of mouse buttons 12 and 14, respectively. When the touch-sensitive devices described in the above mentioned patents are used in place of a mouse 10, the drag and drop functions may be difficult or inconvenient to carry out. In order to be practicably used with a portable computer, the sensing surface of any touch sensitive device must include only a small position sensing surface 22, for example anywhere from one by two inches up to three by five inches. Some touch-sensitive input devices are used as absolute cursor location devices in which the cursor is placed on the display 20 in the same relative location as the position of the pointing object on the touch-sensitive surface 22. When used as an absolute positioning device, however, the small touchpads make precise cursor location difficult and inconvenient for a user.
More typically, touch-sensitive devices are used as relative cursor positioning devices in which the cursor is moved across the display using one or more strokes across the position sensing surface 22. The movement of the cursor on the display 20 is scaled to the user's movement of the pointing object across the position sensing surface 22. In such circumstances, in order to move the cursor long distances (for example, completely across the display 20) , the pointing object 24 must be repeatedly touched down, stroked across the position sensing surface 22, and lifted off from the position sensing surface 22. Even when the cursor is only moved a short distance, if a user starts the stroke near the edge of the position sensing surface 22, the user's pointing object 24 will hit the edge of the position sensing surface 22 before the desired new cursor location is reached. When performing a drag function the user must keep the pointing object 24 on the position sensing surface 22 until the new location for the cursor is reached to efficiently carry out the drag operation. When the pointing object 24 reaches the edge of the position sensing surface 22 and the user lifts the pointing object 24 off the position sensing surface 22, the drag operation will terminate and the text or object which was being dragged will immediately drop into whatever location it is at on the display 20. Furthermore, in accordance with some industry protocols, the text or object being dragged will snap back to its beginning location when the pointing object 24 is lifted from the sensing surface 22 after the pointing object has reached the edge of the sensing surface 22. It is very inconvenient and frustrating for the user to have the cursor drag operation unintentionally terminated in the described fashion.
One solution to the problems encountered with the drag and drop functions encountered when using a touch- sensitive input device is described in U.S. Patent No. 5,327,161 to Logan et al. The method described in the Logan et al . patent detects when the pointing object 24 nears the edge of the position sensing surface 22 and, if the drag mode is engaged, movement of the cursor continues across the display 20 as if the user were still directing the movement through the touch pad. With the Logan et al . scheme, the cursor movement continues in the direction imparted to the cursor before the pointing object reached the edge of the position sensing surface 22. The cursor continues to skid across the display 20 until the user takes action to stop it such as pressing a button 28 or 30 or lifting the pointing object 24. While the scheme described in the Logan et al . patent allows a user to extend the drag function beyond the edge of the position sensing surface 22, disadvantageously, some users have difficulty learning the scheme and until the user becomes proficient at carrying out the scheme the user may find it awkward. Thus, it would be an advance in the art to provide a superior system and method for extending the drag function of a computer pointing device. BRIEF SUMMARY AND OBJECTS OF THE INVENTION In view of the above described state of the art, the present invention seeks to realize the following objects and advantages. It is a primary object of the present invention to provide a system and method for extending the drag function of computer pointing device.
It is also an object of the present invention to provide a system and method for extending the drag function of a computer pointing device which is easy for a user to learn and carry out .
It is a further object of the present invention to provide a system and method for extending the drag and drop function of a computer pointing device which is particularly adapted for use with a touch sensitive pointing device.
It is another object of the present invention to provide a system and method for extending the drag function of a computer pointing device which is well suited for use with a touch sensitive pointing device which can operate with a user's finger as the only pointing object.
These and other objects and advantages of the invention will become more fully apparent from the description and claims which follow, or may be learned by the practice of the invention.
The present invention provides an advantageous method and system for extending the distance which a user can drag a cursor across a computer display device when using certain pointing devices. In particular, the present invention is beneficial when a touch sensitive pointing device, such as one which allows the user to move the cursor on the display by moving a stylus or finger upon a position sensing surface, is used as a relative cursor locating device. When such relative cursor locating devices are used, it is often difficult or inconvenient to carry out dragging of text and objects which appear on the computer display. Such touch sensitive pointing devices generally have a small position sensing surface and when the user reaches its outer perimeter the cursor will not move further on the display and the user must terminate the drag operation (which causes the object to drop wherever it happens to be located on the display) and start another movement on the position sensing surface to complete dragging operation. In order to overcome this long-existing problem in the industry, the present invention defines a border within the outer perimeter of the position sensing surface. The method of the present invention then detects when the pointing object enters the border on the position sensing surface. It is then determined if the user is carrying out a drag operation (i.e. the drag function is engaged) when the pointing device enters the border. If a drag function is being carried out by the user, the present invention maintains the drag mode (causing the cursor to be held at the location on the computer display where it was when the pointing object entered the border) while the user moves the pointing device, e . g. stylus or finger, to a new position not within the border on the position sensing surface. The user then continues the dragging function from where the cursor is held on the computer display to a desired end location on the computer display as the user moves the pointing device from the new position to an end position on the position sensing surface. The present invention also desirably allows the time which the drag mode will be maintained ( i . e . the time which the cursor will be held while the user moves the pointing object) to be varied for the convenience of the user. The present invention also preferably maintains the drag mode until some action of the user, such as the user releasing the drag function or the user employing a click function, is carried out. Most preferably, the present invention utilizes a touch sensitive pointing device which allows a user to locate the cursor on the computer display using a single finger and emulate the click and drag functions of a mouse by tapping on the position sensing surface with a finger.
BRIEF DESCRIPTION OF THE DRAWINGS In order to better appreciate how the above-recited and other advantages and objects of the invention are obtained, a more particular description of the invention briefly described above will be rendered by reference to specific embodiments thereof which are illustrated in the appended drawings. Understanding that these drawings depict only a typical embodiment of the invention and are not therefore to be considered limiting of its scope, the invention will be described and explained with additional specificity and detail through the use of the accompanying drawings in which: Figure 1 is a block diagram representing available computer pointing devices.
Figure 2 is a block diagram representing the structure of a particular embodiment of the present invention described herein. Figures 3A-C are diagrams showing the operation of the embodiment of the present invention described herein.
Figure 4 is a flow chart showing the principle steps carried in accordance with the present invention. Figure 5 is a flow chart showing particular steps carried out by the embodiment of the present invention described herein.
Figure 6 is a flow chart showing the steps carried out by the embodiment of the present invention described herein to determine if the drag mode should be entered.
Figure 7 is a flow chart showing the steps carried out by the embodiment of the present invention described herein to determine if the user has moved the pointing object to a border of a touch sensitive pad.
Figure 8 is a flow chart showing the steps carried out by the embodiment of the present invention described herein to extend to drag mode beyond the edge of the position sensing surface.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Reference will now be made to the drawings wherein like structures will be provided with like reference designations.
Reference will next be made to Figure 2 which is a block diagram representing one presently preferred embodiment of the present invention. It will be appreciated that the present invention may be embodied in specific forms other than those described herein. The described embodiments are, however, the those presently preferred for carrying out the present invention. Represented in Figure 2 is a touch sensitive pointing device 100 which includes a touch pad 102 and an interface circuit 104. The touch pad 102 has a position sensing surface which senses the position of a pointing object 103, such as a stylus or a user's finger, which is manipulated by the user. The interface circuit 104 includes those components, whether embodied in software, firmware, or hardware, which are necessary to interpret the position information obtained from the touch pad 102 to industry standard signals understandable by the computer 112. The computer 112 may include a component or driver 114, for example a mouse driver, or some other cursor positioning utility to interpret the signals received from the touch pad 102. Alternatively, those skilled in the art can arrive at many other techniques for the touch pad to communicate with the computer 112. It is particularly preferred that the touch sensitive pointing device which is described in U.S. Patent No. 5,305,017 be used with the present invention. The touch sensitive pointing device described in U.S. Patent No. 5,305,017 is particularly advantageous in that the cursor positioning, clicking, and dragging functions can all be accurately carried out by a user using only a single finger as a pointing object. Other advantages of the touch sensitive pointing device described in U.S. Patent No. 5,305,017 are described therein or will be apparent from use of the invention. U.S. Patent No. 5,305,017 is now incorporated herein by reference in its entirety. Using the information set forth in U.S. Patent No. 5,305,017 and the information set forth herein, a system for carrying out the present invention can be readily arrived at by those skilled in the art. Importantly, the present invention is readily adaptable for use with numerous other pointing devices such as those mentioned earlier. The touch sensitive pointing device 100 of the present invention is connected to the computer 112. The computer 112 is connected to a display 116 upon which various text and other objects are displayed and a cursor is located. The components of the interface circuit 104 will be described shortly.
Reference will next be made to Figures 3A-C to explain the drag extend function of the present invention. Figure 3A is a representation of the touch pad 102 which has four edges 121A-D which will be referred to herein as a top edge 121A, a right edge 121B, a bottom edge 121C, and a left edge 121D. While the represented touch pad 102 is preferred for use with the present invention, it will be appreciated that touch pads of different shapes and configurations can also be used. Moreover, other cursor locating devices, such as tablets and those exemplary devices mentioned earlier, also benefit from the present invention. Also represented in Figure 3A is the display 116. In this example of the present invention, the touch pad 102 serves as a relative cursor locating device. Illustrated in the display 116 are three cursor positions a, b & c . Cursor position a represents a beginning cursor location. Cursor position c represents a desired ending cursor location. On the touch pad 102 location a represents the beginning position of a pointing object, such as a stylus or a user's finger, and the position where the user begins the drag operation intending to move text or other object to the desired location c on the display. Since the touch pad is being used as a relative cursor positioning device, disadvantageously, when the user moves the pointing object to position b at the right edge 121B of the touch pad 102, the cursor has only reached corresponding location b on the display 116. The user must then lift the pointing object from the surface of the touch pad 102, which without the present invention, would cause the drag operation to terminate. In some instances, lifting the pointing object would even cause the cursor to snap back to the beginning position a. It is to be understood that even though a pointing object is not explicitly represented in Figures 3A-C, the pointing object may be a user's finger or any other appropriate object.
Reference will be made next to Figure.3B which is a further representation of the touch pad 102. In accordance with the present invention, border areas 120A-D are defined adjacent to each edge 121A-D of the touch pad 102. The respective limits of the border areas 120A-D are represented by the lines 122A-D. As is understood in the art, any position on the touch pad 102 can be defined by an x, y coordinate, with both values expressed as positive values as suggested in Figure 3B. As will be explained shortly, it is preferred that the touch pad 102 of the present invention also provide a vertical z component to determine if the pointing object is present on the surface of the touch pad 102. It is preferred that the present invention utilize the pointing object making appropriate "taps" on the surface of the touch pad 102 to invoke the click and drag functions which must be provided. Obtaining z position information which can be used to carry out such "tap" functions is described in U.S. Patent No. 5,305,017 but alternative methods, such as mechanical or touch sensitive buttons, can be used within the scope of the present invention to access the click and drag functions .
Reference will next be made to Figure 3C which is a representation of the touch pad 102 and the display 116 with a preferred embodiment of the present invention operating therewith. With the present invention in operation, as will be described in further detail shortly, when a user desires to move the cursor from position a to position c on the display 116, the user begins the movement of the pointing object on the touch pad 102 at location a on the touch pad 102 by engaging the drag mode. As the user moves the pointing object to position b within boundary 102B, the drag mode is maintained (which causes the cursor to be held at position Jb on the display 116) while the user lifts the pointing object from the surface of the touch pad 102. The user moves the pointing object to a new position on the surface of the touch pad 102, for example to position bneu, and continues to stroke the touch pad 102 in the desired direction. The cursor, which was held at position Jb on the display 116, now continues to move to the desired cursor position c on the display 116. Once the cursor reaches the position c, the user releases the drag function as explained earlier. Releasing the drag function can, for example, cause the text or object (not represented in Figure 3C) to be dropped at position c. Most beneficially, the present invention allows the user to reposition the pointing object anywhere on the touch pad 102, including within the borders 120A-D, and continue the drag operation in any direction. Moreover, the present invention will allow a user to utilize multiple strokes across the touch pad 102 while maintaining the drag mode each time a border 120A-D is entered. Thus, when the output of the touch sensitive pointing device 100 is scaled to require many strokes across the surface of the touch pad 102 to cross the display 116 (in order to provide very accurate cursor locating) the user can repeatedly stroke the touch pad while the drag mode is engaged without interruption as the cursor slowly moves across the display 116. Still further, when working with documents or spread sheets so large that only a small portion can be windowed on the display 116 at one time, the present invention's feature of allowing multiple strokes across the touch pad 102 while maintaining the drag mode is a great benefit. In the described fashion, the present invention advantageously allows a user to extend the drag function of a computer pointing device in a manner not previously known or suggested. The present invention allows the user to extend the drag function easily, conveniently, and without requiring long practice or accustomization to the method or apparatus.
Reference will next be made to Figure 4 which is a flow chart showing the principle steps carried out in accordance with the present invention. The flow chart of Figure 4 starts at 150 and illustrates one preferred method of the present invention. A border area is defined at step 152. At step 154, the touch pad (102 Figures 3A-C) and associated structures detect when the pointing object is within the border (120A-D) . It will be appreciated that those skilled in the art can arrive at many different methods and structures to determine when the pointing object is on, near, or in the border. At step 156 it is determined if the drag function is engaged. If the drag function is engaged (step 156), and the pointing object is within the border (step 154) , in accordance with the present invention and as shown at step 158, the drag mode is maintained and the cursor is held at a first location. For purposes of this explanation, the first location is the location of the cursor on the display when the pointing object was lifted off from the touch pad 102. The drag mode is maintained and the cursor is held at the first position on the display (116 in Figure 3A-C) while the user moves the pointing object to another position on the touch pad 102. At step 160, the drag function continues so that the cursor continues to move on the display 116 as the user moves the pointing object from the new position on the touch pad 102 to an end position. In this explanation, the end position corresponds to the desired location of the cursor on the display 116.
It will be appreciated that any method or structure which functions to hold the cursor in a location on a real-time display while the user reposition a pointing object to another position on a position sensing surface and then allows the cursor movement to continue from the location on the display as the user continues movement of the pointing object, all while maintaining the drag mode, is intended to fall within the scope of the present invention.
Reference will next be made to Figures 5-8 which provide further information regarding preferred embodiments of the present invention. Using the information set forth herein, those skilled in the art will be able to readily arrive at many different arrangements of software, firmware, and/or hardware which will carry out the present invention. In the flow chart of Figure 5, beginning at start 162, the border limits (122A-D in Figure 3B) are initialized. Desirably, the positions of border limits (122A-D) can be altered by the user and each of the border limits (122A-D) can be initialized differently by the user. Importantly, it is within the scope of the present invention to size and position the borders (120A-D in Figure 3B) anywhere on the touch pad (116 in Figure 3B) to create a border of any shape or size in accordance with the needs and desires of the user.
At step 166, the method waits in a loop until position information is available from the touch pad (102 in Figures 3A-C) or other position sensing device. If position information is available from the touch pad 102, at step 168 the x, y, z position information is processed. In the present invention, it is most preferred that the click and drag functions be invoked by the user tapping on the surface of the touch pad 102. In its most preferred embodiment, the present invention allows a user to tap once to invoke a click function, tap twice to invoke a double click function, and tap once immediately followed by holding the pointing object against the surface of the touch pad (102 in Figures 3A- C) to invoke the drag function. If the user lifts the pointing object off the touch pad (102 in Figures 3A-C) outside of the borders (120A-D in Figure 3B) , the drag mode ends. At step 170, whether the drag mode is engaged is determined. Further information regarding the steps used to determine if the drag mode is engaged and whether the drag mode should continue is set forth in Figure 6 which will be discussed shortly.
At step 172, the method next determines if the pointing object is in the border (120A-C in Figure 3B) as will be further discussed in connection with Figure 7. At step 174 the drag extend mode is activated as will be further discussed in connection with Figure 8. Next, at step 176, the x, y, z and button information is sent to the computer 116 for processing, for example by a mouse driver 114 which is resident in the computer 112. The method then loops back to step 166 and continues processing.
Reference will next be made to the flow chart of Figure 6 to describe the most preferred method for determining whether the drag mode is engaged as mentioned at step 170 in Figure 5. Starting at 178, the method determines at step 180 if a pointing object is on the touch pad (102 in Figures 3A-C) . If a pointing object is on the touch pad 102, a timer is set at step 182. The length of the timer can beneficially be altered by the user to accommodate different preferences. At step 184 the method determines if the pointing object is off the touch pad 102. If the pointing object is not off the touch pad 102, the method proceeds to step 190 and it is determined if the pointing object moved on the touch pad 102. If the pointing object did not move on the touch pad 102, the method determines if the timer has timed out at step 192. If the timer has timed out at step 192, the method returns to step 184; If the timer has not timed out at step 192, the method proceeds to step 200 where a button up signal is set. Also, if the pointing object moved at step 190, the method also proceeds to step 200 where a button up signal is set. Returning again to step 184, if the pointing object is off the touch pad at step 184, the method sets a button down signal at step 186 and a timer is set at step 188. At step 196, the method determines whether a pointing object is on the touch pad (102 in Figures 3A- C) . If the pointing object is on the touch pad 102, the method determines if the timer (step 188) has timed out at step 198; If the timer has not timed out at step 198 the method loops back to step 196. The method proceeds to step 200 if the timer (step 188) has timed out. If at step 196 it is determined that the pointing object is on the touch pad (102 in Figures 3A-C) , the method proceeds to step 202 and sets a timer. After step 202, the method proceeds to step 204 and determines if the pointing object is off the touch pad 102 and if so, the method sets a button up signal (step 214) , proceeds through a set button down routine (step 216) , and then proceeds to step 200 and sets a button up signal.
If at step 204 it is determined that the pointing object is not off the touch pad (102 in Figures 3A-C) , the method proceeds to step 206 and determines if the timer set in step 202 has timed out. If the timer has not timed out at step 206, the method loops back to step 204. If the timer has timed out at step 206, the method proceeds to step 208 and the method engages the drag mode. At step 210 the method determines if the pointing object is off the touch pad 102. If the pointing object is not off the touch pad 102, the method waits in a loop at step 210. If the pointing object is off the touch pad 102, the method proceeds to step 212 where a set no drag routine is executed followed by step 200 which sets a button up signal. From step 200, the method again determines if the pointing object is off the touch pad 102. If the pointing object is not off the touch pad 102, the method waits by looping back on step 194. If the pointing object is off the touch pad 102 the method returns back to step 180. The foregoing method provides that the user can conveniently perform click functions and engage the drag function using taps with a single finger or with another appropriate pointing object.
It will be appreciated that the present invention provides the signals which are required by an industry standard mouse driver (114 in Figure 2) and can emulate a mouse device. The present invention can also communicate with the computer (112 in Figure 2) in a variety of other ways which are now available or which may become available in the future. The present invention also most preferably allows the user to engage the drag mode, as well as perform clicking operations, without pushing any buttons. Still, the present invention provides advantages not previously available with a touch sensitive pointing device, regardless of whether buttons must or need not be used to invoke and engage the click and drag functions.
Reference will next be made to Figure 7. Figure 7 is a flow chart illustrating the preferred method of the present invention to determine if the pointing object is within a border (120A-D in Figure 3B) as mentioned earlier at step 172 of Figure 5. Starting at 230, the method determines if the drag mode is engaged at step 232. If the drag mode is not engaged, a set not at edge flag routine is performed at step 242 and the method exits at step 248. If the drag mode is engaged at step 232, the method determines if the x position of the pointing object is less than the left limit 122D (step 234) , if the y position of the pointing object is greater than the bottom limit 122C (step 236) , if the x position of the pointing object is greater than the right limit 122B (step 238) , or the y position of the pointing object is less than the top limit 122A, then the method proceeds to step 244 and an at edge flag is set and the method exits at step 248. If the method determines that the x position of the pointing object is not less than the left limit 122D (step 234) , if the y position of the pointing object is not greater than the bottom limit 122C (step 236) , if the x position of the pointing object is not greater than the right limit 122B (step 238) , or the y position of the pointing object is not less than the top limit 122A, then the method proceeds to step 246 and a not at edge flag is set and the method exits at step 248. In the described fashion, the method of the present invention efficiently determines if the pointing object is in a border.
Reference will next be made to Figure 8. Figure 8 is a flow chart illustrating the preferred method to extend the drag mode beyond the edge of the position sensing surface of the touch sensitive pointing device 100 and is an example of the drag extend routine indicted at step 174 in Figure 5. Starting at 250 in Figure 8, the method first determines if the drag mode is engaged at step 252. If the drag mode is not engaged, the method waits in a loop at step 252. If the drag mode is engaged, the method next determines if the pointing object is in the border (120A-D in Figure 3B) . If the pointing object is not in the border, the method returns to step 252. If at step 254 it is determined that the pointing object is in the border, the method determines if the pointing object is off the touch pad 102 at step 256. If the pointing object is not off the touch pad 102, the method returns to step 254. If the pointing object is off the touch pad at step 256, the method proceeds to step 258 where a drag signal is set and a timer is set. It is presently preferred that the timer be set for a period of two seconds but it is preferred that the time be adjustable to meet the desires of the user.
It is preferred that the periods of all of the timers described in connection with Figures 6-8 be user adjustable. The period of the timer set at step 258 determines how long a use will have to move the pointing object from one of the borders 120A-D to a new position on the touch pad 102 as explained in connection with Figure 3C. After step 258, the method determines if the pointing object is on the touch pad 102 and, if so, the method returns to step 254. If it is determined at step 260 that the pointing object is not on the touch pad 102, the method proceeds to step 262 where it is determined if the timer (step 258) has timed out. If the timer has not timed out at step 262, the method returns to step 260. If the timer has timed out at step 262, the method proceeds to step 264 and a no drag signal is set at step 264 and the method returns to step 252.
In the described fashion, the preferred method of the present invention allows a user to extend the drag function of a pointing device beyond the edge of the touch pad 102. Reference will now to made again to Figure 2 which is a block diagram representing one presently preferred system of the present invention. From the forgoing description, it will be appreciated that the method of the present invention can be embodied in many different apparatus and systems. Depending upon the application to which the present invention is to be employed, the present invention may be embodied as software, firmware, hardware, or a combination of the foregoing.
Represented in the interface circuit 104 of Figure 2 at 107 is a position detection means which performs the functions necessary to use the touch pad. Also depicted in Figure 2 are structures which carry out the present invention in cooperation with the position sensing structures. Using the information set forth herein, it will be appreciated that the integration of the present invention into any number of cursor locating devices, both those presently available and those available in the future, can be readily accomplished by those skilled in the art, including the fabrication of any components and the creation of any necessary programming code.
Shown in Figure 2 at 106 is a means for detecting when the pointing device is on the edge of the border or beyond. Also represented at 108 is a means for activating a drag function. Represented at 110 in Figure 2 is a means for maintaining the drag mode and holding the cursor at a first location on the display. Also depicted in Figure 2 at 109 is a means for continuing the dragging function from the first location on the display to a second location on the display. 22
Importantly, the described structures can be embodied in many different forms, for example in a single integrated circuit. It is to be understood that any structures performing functions equivalent to the methods of the present invention are to be considered within the scope of the system of the present invention.
In view of the foregoing, it will be appreciated that the present invention provides a system and method for extending the drag function of computer pointing device which is reliable and easy to use. The present invention also provides a system and method for extending the drag function of a computer pointing device which is particularly adapted for use with a touch sensitive pointing device and which can operate with a user's finger as the only pointing object.
The present invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described embodiments are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is, therefore, indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.

Claims

CLAIMS 2 3
1. A method for extending the cursor dragging function of a pointing device used to control the movement of a cursor on a computing output device, the method comprising the steps of: defining a border area which is less than the maximum distance which can be traveled by a pointing object manipulated by a user; detecting when the pointing object is on the edge of the border or beyond; determining if the drag function is engaged when the pointing object enters the border; maintaining the drag function and holding the cursor at a first location on the computing output device while the pointing object is moved to a new position; and continuing the dragging function from the first location on the computing output device to a second location on the computing output device as the pointing object is moved from the new position to an end position.
2. A method as defined in claim 1 wherein the step of holding the cursor at a first location comprises the step of holding the cursor at the first location for a predetermined period of time before disengaging the drag function.
3. A method as defined in claim 1 wherein the new position is not within the border.
4. A method as defined in claim 1 further comprising the steps of: maintaining the drag function and holding the cursor at a third location on the computing output device while the pointing object is moved to another new position; and continuing the dragging function from the third location on the computing output device to a fourth location on the computing output device as the pointing object is moved from the another new position to a final position.
5. A method as defined in claim 1 wherein the step of holding the cursor at a first location comprises at least one step selected from the group consisting of: holding the cursor at the first location for a predetermined period of time; holding the cursor at the first location until the drag function is released; and holding the cursor at the first location until a click function is activated.
6. A method as defined in claim 1 wherein the pointing device comprises means for sensing the position of at least one finger upon a sensing surface.
7. A method as defined in claim 1 wherein the first location is the location of the cursor when the pointing object was lifted off the border.
8. A method as defined in claim 1 wherein the step of determining if the drag function is active comprises the step of determining the number of taps of at least one finger of the user upon the sensing surface and wherein the method further comprises varying the time which the cursor is held at the first location.
9. A method as defined in claim 1 wherein the step of defining a border comprises: defining a first border a first distance within the maximum distance; altering the first distance; defining a second border, adjacent to the first border, a second distance within the maximum distance; altering the second distance; defining a third border, adjacent to the second border, a third distance within the maximum distance; altering the third distance; defining a fourth border, adjacent to the third border, a fourth distance within the maximum distance; and altering the fourth distance.
10. A method for extending the distance which a user can drag a cursor across a display device which responds to user input in real time, the user employing a pointing object whose position is detected by a position sensing surface having a perimeter, the cursor following the movement of the pointing object upon the position sensing surface but the cursor not moving further once the pointing device reaches the perimeter of the sensing surface, the method comprising the steps of: defining a border within the perimeter of the position sensing surface; detecting when the pointing object enters the border of the position sensing surface; determining if the drag function is active for the cursor when the pointing object enters the border; holding the cursor at a first location on the display device, the first location being the location of the cursor when the pointing object entered the border, while the pointing object is moved to a new position; and continuing the dragging function from the first location on the display device to a second location on the display device as the pointing object is moved from the new position to an end position on the position sensing surface.
11. A method as defined in claim 10 wherein the step of holding the cursor at a first location comprises the step of holding the cursor at the first location for a predetermined period of time before releasing the cursor.
12. A method as defined in claim 10 wherein the step of holding the cursor at a first location comprises at least one step selected from the group consisting of: holding the cursor at the first location for a predetermined period of time; holding the cursor at the first location until the drag function is released; and holding the cursor at the first location until a click function is activated.
13. A method as defined in claim 10 wherein the pointing device comprises means for sensing the position of at least one finger upon a position sensing surface.
14. A method as defined in claim 10 wherein the step of determining if the drag function is active comprises the step of determining the number of taps of at least one finger upon the position sensing surface.
15. A method as defined in claim 10 wherein the step of defining a border comprises: defining a first border a first distance within the maximum distance; altering the first distance; defining a second border, adjacent to the first border, a second distance within the maximum distance; altering the second distance; defining a third border, adjacent to the second border, a third distance within the maximum distance; altering the third distance; defining a fourth border, adjacent to the third border, a fourth distance within the maximum distance; and altering the fourth distance.
16. A system for extending the cursor dragging function of a pointing device used to control the movement of a cursor on a display, the system comprising: sensing surface means for sensing the position of a pointing object thereon, the sensing surface having a perimeter; means for detecting when the pointing object is within a border distance from the perimeter on the sensing surface means; means for activating a drag function of the cursor; means for holding the cursor at a first location on the display when the pointing object is within the border distance from the perimeter on the sensing surface while the pointing object is moved to a new position on the sensing surface means; and means for maintaining the dragging function from the first location on the display to a second location on the display as the pointing object is moved from the new position to an end position on the sensing surface means .
17. A system as defined in claim 16 wherein the sensing surface means comprises a touch pad means.
18. A system as defined in claim 16 wherein the pointing object is a human finger.
19. A system as defined in claim 16 further comprising means for interfacing the sensing surface means with a mouse driver.
20. A system as defined in claim 16 further comprising: mouse driver means; means for interfacing the sensing surface means with the mouse driver means; computer means for processing information received from the mouse driver means and other input devices; display means, connected to the computer means, for displaying in real time the cursor in the location indicated by the mouse driver.
PCT/US1996/004244 1995-03-27 1996-03-27 System for extending the drag function WO1996030890A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE19681316T DE19681316T1 (en) 1995-03-27 1996-03-27 Drag extension system
JP52963996A JP3833709B2 (en) 1995-03-27 1996-03-27 Drag function expansion system
AU53768/96A AU5376896A (en) 1995-03-27 1996-03-27 System for extending the drag function

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/413,199 1995-03-27
US08/413,199 US5757368A (en) 1995-03-27 1995-03-27 System and method for extending the drag function of a computer pointing device

Publications (1)

Publication Number Publication Date
WO1996030890A1 true WO1996030890A1 (en) 1996-10-03

Family

ID=23636266

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1996/004244 WO1996030890A1 (en) 1995-03-27 1996-03-27 System for extending the drag function

Country Status (5)

Country Link
US (1) US5757368A (en)
JP (1) JP3833709B2 (en)
AU (1) AU5376896A (en)
DE (1) DE19681316T1 (en)
WO (1) WO1996030890A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008038239A3 (en) * 2006-09-29 2008-07-03 Nxp Bv Processing a signal from a pointing device sensor
EP2184671A1 (en) * 2008-10-29 2010-05-12 Giga-Byte Communications, Inc. Method and apparatus for switching touch screen of handheld electronic apparatus
EP2306284A1 (en) * 2009-09-25 2011-04-06 Apple Inc. Device, method, and graphical user interface using mid-drag gestures
WO2011084870A3 (en) * 2010-01-06 2011-11-10 Apple Inc. Device, method, and graphical user interface for manipulating information items in folders
US8645852B2 (en) 2006-06-23 2014-02-04 International Business Machines Corporation Drag and drop quoting mechanism for use with discussion forums

Families Citing this family (140)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5880411A (en) * 1992-06-08 1999-03-09 Synaptics, Incorporated Object position detector with edge motion feature and gesture recognition
JP3280559B2 (en) * 1996-02-20 2002-05-13 シャープ株式会社 Jog dial simulation input device
US6867790B1 (en) * 1996-08-09 2005-03-15 International Business Machines Corporation Method and apparatus to conditionally constrain pointer movement on a computer display using visual cues, controlled pointer speed and barriers on the display which stop or restrict pointer movement
US5910802A (en) * 1997-06-11 1999-06-08 Microsoft Corporation Operating system for handheld computing device having taskbar auto hide
GB9722766D0 (en) 1997-10-28 1997-12-24 British Telecomm Portable computers
US6188391B1 (en) 1998-07-09 2001-02-13 Synaptics, Inc. Two-layer capacitive touchpad and method of making same
JP2000122808A (en) * 1998-10-19 2000-04-28 Fujitsu Ltd Input processing method and input control unit
JP3449291B2 (en) * 1999-05-14 2003-09-22 株式会社デンソー Map display device
US6727892B1 (en) 1999-05-20 2004-04-27 Micron Technology, Inc. Method of facilitating the selection of features at edges of computer touch screens
US6411283B1 (en) * 1999-05-20 2002-06-25 Micron Technology, Inc. Computer touch screen adapted to facilitate selection of features at edge of screen
US6757002B1 (en) 1999-11-04 2004-06-29 Hewlett-Packard Development Company, L.P. Track pad pointing device with areas of specialized function
KR20010046646A (en) * 1999-11-15 2001-06-15 차종근 Touch-Pad Operating Mouse Button
DE60122708D1 (en) * 2000-05-11 2006-10-12 Nes Stewart Irvine ZERO CLICK
US6724220B1 (en) 2000-10-26 2004-04-20 Cyress Semiconductor Corporation Programmable microcontroller architecture (mixed analog/digital)
US8176296B2 (en) 2000-10-26 2012-05-08 Cypress Semiconductor Corporation Programmable microcontroller architecture
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
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
US6897853B2 (en) * 2000-11-10 2005-05-24 Microsoft Corp. Highlevel active pen matrix
JP3909230B2 (en) * 2001-09-04 2007-04-25 アルプス電気株式会社 Coordinate input device
US7406674B1 (en) 2001-10-24 2008-07-29 Cypress Semiconductor Corporation Method and apparatus for generating microcontroller configuration information
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
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
US7774190B1 (en) 2001-11-19 2010-08-10 Cypress Semiconductor Corporation Sleep and stall in an in-circuit emulation system
US8069405B1 (en) 2001-11-19 2011-11-29 Cypress Semiconductor Corporation User interface for efficiently browsing an electronic document using data-driven tabs
US7770113B1 (en) 2001-11-19 2010-08-03 Cypress Semiconductor Corporation System and method for dynamically generating a configuration datasheet
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
WO2004057439A2 (en) * 2002-05-31 2004-07-08 University Of Utah Research Foundation System and method for visual annotation and knowledge representation
US7761845B1 (en) 2002-09-09 2010-07-20 Cypress Semiconductor Corporation Method for parameterizing a user module
US7454707B2 (en) * 2002-09-30 2008-11-18 Canon Kabushiki Kaisha Image editing method, image editing apparatus, program for implementing image editing method, and recording medium recording program
US20050030048A1 (en) * 2003-08-05 2005-02-10 Bolender Robert J. Capacitive sensing device for use in a keypad assembly
JP4574194B2 (en) * 2004-03-05 2010-11-04 任天堂株式会社 Game program
US7295049B1 (en) 2004-03-25 2007-11-13 Cypress Semiconductor Corporation Method and circuit for rapid alignment of signals
US7394453B2 (en) * 2004-04-23 2008-07-01 Cirque Corporation Method for scrolling and edge motion on a touchpad
US20050283727A1 (en) * 2004-06-21 2005-12-22 Large William T Non-resident methods and systems for providing clickless user actuation of a webpage
US8281241B2 (en) 2004-06-28 2012-10-02 Nokia Corporation Electronic device and method for providing extended user interface
US20060007174A1 (en) * 2004-07-06 2006-01-12 Chung-Yi Shen Touch control method for a drag gesture and control module thereof
JP4471761B2 (en) * 2004-07-26 2010-06-02 任天堂株式会社 GAME PROGRAM, GAME DEVICE, AND INPUT DEVICE
JP3734819B1 (en) * 2004-07-26 2006-01-11 任天堂株式会社 GAME PROGRAM, GAME DEVICE, AND INPUT DEVICE
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
US7332976B1 (en) 2005-02-04 2008-02-19 Cypress Semiconductor Corporation Poly-phase frequency synthesis oscillator
US7400183B1 (en) 2005-05-05 2008-07-15 Cypress Semiconductor Corporation Voltage controlled oscillator delay cell and method
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
JP2007058785A (en) * 2005-08-26 2007-03-08 Canon Inc Information processor, and operating method for drag object in the same
US7307485B1 (en) 2005-11-14 2007-12-11 Cypress Semiconductor Corporation Capacitance sensor using relaxation oscillators
US8085067B1 (en) 2005-12-21 2011-12-27 Cypress Semiconductor Corporation Differential-to-single ended signal converter circuit and method
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
US7770126B2 (en) 2006-02-10 2010-08-03 Microsoft Corporation Assisting user interface element use
US20070097096A1 (en) * 2006-03-25 2007-05-03 Outland Research, Llc Bimodal user interface paradigm for touch screen devices
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
US20090213086A1 (en) * 2006-04-19 2009-08-27 Ji Suk Chae Touch screen device and operating method thereof
KR20070113018A (en) * 2006-05-24 2007-11-28 엘지전자 주식회사 Apparatus and operating method of touch screen
TWI328185B (en) 2006-04-19 2010-08-01 Lg Electronics Inc Touch screen device for potable terminal and method of displaying and selecting menus thereon
KR101269375B1 (en) * 2006-05-24 2013-05-29 엘지전자 주식회사 Touch screen apparatus and Imige displaying method of touch screen
KR20070113022A (en) 2006-05-24 2007-11-28 엘지전자 주식회사 Apparatus and operating method of touch screen responds to user input
KR20070113025A (en) * 2006-05-24 2007-11-28 엘지전자 주식회사 Apparatus and operating method of touch screen
KR101327581B1 (en) * 2006-05-24 2013-11-12 엘지전자 주식회사 Apparatus and Operating method of touch screen
TW200805131A (en) * 2006-05-24 2008-01-16 Lg Electronics Inc Touch screen device and method of selecting files thereon
US8089472B2 (en) 2006-05-26 2012-01-03 Cypress Semiconductor Corporation Bidirectional slider with delete function
US8537121B2 (en) 2006-05-26 2013-09-17 Cypress Semiconductor Corporation Multi-function slider in touchpad
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
US8106856B2 (en) 2006-09-06 2012-01-31 Apple Inc. Portable electronic device for photo management
US7856605B2 (en) * 2006-10-26 2010-12-21 Apple Inc. Method, system, and graphical user interface for positioning an insertion marker in a touch screen display
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
US8058937B2 (en) 2007-01-30 2011-11-15 Cypress Semiconductor Corporation Setting a discharge rate and a charge rate of a relaxation oscillator circuit
US8130025B2 (en) 2007-04-17 2012-03-06 Cypress Semiconductor Corporation Numerical band gap
US8026739B2 (en) 2007-04-17 2011-09-27 Cypress Semiconductor Corporation System level interconnect with programmable switching
US8040266B2 (en) 2007-04-17 2011-10-18 Cypress Semiconductor Corporation Programmable sigma-delta analog-to-digital converter
US9564902B2 (en) 2007-04-17 2017-02-07 Cypress Semiconductor Corporation Dynamically configurable and re-configurable data path
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
US7737724B2 (en) 2007-04-17 2010-06-15 Cypress Semiconductor Corporation Universal digital block interconnection and channel routing
US9720805B1 (en) 2007-04-25 2017-08-01 Cypress Semiconductor Corporation System and method for controlling a target device
US8266575B1 (en) 2007-04-25 2012-09-11 Cypress Semiconductor Corporation Systems and methods for dynamically reconfiguring a programmable system on a chip
US8065653B1 (en) 2007-04-25 2011-11-22 Cypress Semiconductor Corporation Configuration of programmable IC design elements
US8144126B2 (en) 2007-05-07 2012-03-27 Cypress Semiconductor Corporation Reducing sleep current in a capacitance sensing system
KR101397152B1 (en) * 2007-06-12 2014-05-20 삼성전자주식회사 Digital multimedia reproduction apparatus and the method thereof
US9500686B1 (en) 2007-06-29 2016-11-22 Cypress Semiconductor Corporation Capacitance measurement system and methods
US8570053B1 (en) 2007-07-03 2013-10-29 Cypress Semiconductor Corporation Capacitive field sensor with sigma-delta modulator
US8169238B1 (en) * 2007-07-03 2012-05-01 Cypress Semiconductor Corporation Capacitance to frequency converter
WO2009006556A1 (en) 2007-07-03 2009-01-08 Cypress Semiconductor Corporation Normalizing capacitive sensor array signals
US8089289B1 (en) 2007-07-03 2012-01-03 Cypress Semiconductor Corporation Capacitive field sensor with sigma-delta modulator
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
US9513765B2 (en) * 2007-12-07 2016-12-06 Sony Corporation Three-dimensional sliding object arrangement method and system
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
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
US8296670B2 (en) * 2008-05-19 2012-10-23 Microsoft Corporation Accessing a menu utilizing a drag-operation
US9152258B2 (en) 2008-06-19 2015-10-06 Neonode Inc. User interface for a touch screen
US8321174B1 (en) 2008-09-26 2012-11-27 Cypress Semiconductor Corporation System and method to measure capacitance of capacitive sensor array
US20100107116A1 (en) * 2008-10-27 2010-04-29 Nokia Corporation Input on touch user interfaces
US20100107067A1 (en) * 2008-10-27 2010-04-29 Nokia Corporation Input on touch based user interfaces
US8487639B1 (en) 2008-11-21 2013-07-16 Cypress Semiconductor Corporation Receive demodulator for capacitive sensing
US8866500B2 (en) 2009-03-26 2014-10-21 Cypress Semiconductor Corporation Multi-functional capacitance sensing circuit with a current conveyor
US9448964B2 (en) 2009-05-04 2016-09-20 Cypress Semiconductor Corporation Autonomous control in a programmable system
US8723827B2 (en) 2009-07-28 2014-05-13 Cypress Semiconductor Corporation Predictive touch surface scanning
JP5207145B2 (en) * 2009-12-24 2013-06-12 ブラザー工業株式会社 Head mounted display
US8698762B2 (en) 2010-01-06 2014-04-15 Apple Inc. Device, method, and graphical user interface for navigating and displaying content in context
GB2477528B (en) * 2010-02-04 2014-01-15 Imagination Tech Ltd Touch sensitive screen for scrolling through sets of data
FR2957266B1 (en) * 2010-03-11 2012-04-20 Parrot METHOD AND APPARATUS FOR REMOTE CONTROL OF A DRONE, IN PARTICULAR A ROTATING SAIL DRONE.
KR101667586B1 (en) * 2010-07-12 2016-10-19 엘지전자 주식회사 Mobile terminal and method for controlling the same
US9513791B2 (en) 2010-09-29 2016-12-06 Sony Corporation Electronic device system with process continuation mechanism and method of operation thereof
US9047006B2 (en) 2010-09-29 2015-06-02 Sony Corporation Electronic device system with information processing mechanism and method of operation thereof
US9268441B2 (en) 2011-04-05 2016-02-23 Parade Technologies, Ltd. Active integrator for a capacitive sense array
KR101859099B1 (en) * 2011-05-31 2018-06-28 엘지전자 주식회사 Mobile device and control method for the same
JP5360140B2 (en) * 2011-06-17 2013-12-04 コニカミノルタ株式会社 Information browsing apparatus, control program, and control method
JP5488622B2 (en) * 2012-01-16 2014-05-14 コニカミノルタ株式会社 Image forming apparatus
US9395852B2 (en) * 2012-05-07 2016-07-19 Cirque Corporation Method for distinguishing between edge swipe gestures that enter a touch sensor from an edge and other similar but non-edge swipe actions
US20140118281A1 (en) * 2012-10-26 2014-05-01 Cirque Corporation DETERMINING WHAT INPUT TO ACCEPT BY A TOUCH SENSOR AFTER INTENTIONAL AND ACCIDENTAL LIFT-OFF and SLIDE-OFF WHEN GESTURING OR PERFORMING A FUNCTION
WO2014168932A2 (en) * 2013-04-08 2014-10-16 Cirque Corporation Capacitive sensor integrated in an integrated circuit package
JP5809202B2 (en) * 2013-06-21 2015-11-10 シャープ株式会社 Image display device capable of screen operation and operation method thereof
US11038718B2 (en) 2016-01-27 2021-06-15 Securrency, Inc. Method, apparatus, and computer-readable medium for transaction management spanning multiple heterogeneous computing networks
DK201670609A1 (en) 2016-06-12 2018-01-02 Apple Inc User interfaces for retrieving contextually relevant media content
AU2017100670C4 (en) 2016-06-12 2019-11-21 Apple Inc. User interfaces for retrieving contextually relevant media content
US20170357644A1 (en) 2016-06-12 2017-12-14 Apple Inc. Notable moments in a collection of digital assets
DK180171B1 (en) 2018-05-07 2020-07-14 Apple Inc USER INTERFACES FOR SHARING CONTEXTUALLY RELEVANT MEDIA CONTENT
US11086935B2 (en) 2018-05-07 2021-08-10 Apple Inc. Smart updates from historical database changes
US11243996B2 (en) 2018-05-07 2022-02-08 Apple Inc. Digital asset search user interface
US10846343B2 (en) 2018-09-11 2020-11-24 Apple Inc. Techniques for disambiguating clustered location identifiers
US10803135B2 (en) 2018-09-11 2020-10-13 Apple Inc. Techniques for disambiguating clustered occurrence identifiers
DK201970535A1 (en) 2019-05-06 2020-12-21 Apple Inc Media browsing user interface with intelligently selected representative media items
US11527329B2 (en) 2020-07-28 2022-12-13 Xifin, Inc. Automatically determining a medical recommendation for a patient based on multiple medical images from multiple different medical imaging modalities

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5164713A (en) * 1991-10-15 1992-11-17 Bain Lee L Cursor position controller for use with mouse and display 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

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CH539837A (en) * 1972-03-22 1973-07-31 Ulrich Meyer Hans Capacitive length measuring device
US3886311A (en) * 1972-05-16 1975-05-27 Talos Systems Electrical writing pen and sensor
US4032841A (en) * 1975-11-28 1977-06-28 A. P. C. Industries, Inc. Method and apparatus for measuring the capacitance of telephone cable pairs
US4071691A (en) * 1976-08-24 1978-01-31 Peptek, Inc. Human-machine interface apparatus
US4103252A (en) * 1976-11-26 1978-07-25 Xerox Corporation Capacitive touch-activated transducer system including a plurality of oscillators
US4246452A (en) * 1979-01-05 1981-01-20 Mattel, Inc. Switch apparatus
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
JPS56132028A (en) * 1980-03-19 1981-10-16 Casio Comput Co Ltd Touch switch device
US4495485A (en) * 1980-12-12 1985-01-22 General Electric Company Touch control arrangement for data entry
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
US4455452A (en) * 1982-09-13 1984-06-19 Touch Activated Switch Arrays, Inc. Touch activated controller for generating X-Y output information
US4550221A (en) * 1983-10-07 1985-10-29 Scott Mabusth Touch sensitive control device
ATE35062T1 (en) * 1983-12-26 1988-06-15 Renault METHOD AND DEVICE FOR DETERMINING THE COORDINATES OF A CONTACT POINT ON A SEMI-ANALOGUE SENSITIVE SURFACE.
JPS60192033A (en) * 1984-01-17 1985-09-30 Katsuyoshi Harada Mud forced-feeding tank device
AU552619B2 (en) * 1984-02-29 1986-06-12 Fujitsu Limited Co-ordinate detecting apparatus
GB8408847D0 (en) * 1984-04-05 1984-05-16 Ti Group Services Ltd Electrical switches
DE3417458A1 (en) * 1984-05-11 1985-11-21 Alfred Teves Gmbh, 6000 Frankfurt FLUID CONTROL VALVE
US4587378A (en) * 1984-07-30 1986-05-06 Koala Technologies Corporation Two-layer touch tablet
JPS61115118A (en) * 1984-11-09 1986-06-02 Hitachi Ltd Information i/o display device
US4740781A (en) * 1985-02-08 1988-04-26 Itt Gilfillan Touch panel data entry device for thin film electroluminescent panels
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
US4698641A (en) * 1985-08-08 1987-10-06 Gte Sprint Communications Corp Adjustment device for platform mounted horn antenna
US4707845A (en) * 1986-08-26 1987-11-17 Tektronix, Inc. Touch panel with automatic nulling
DE3722890C2 (en) * 1987-07-10 1995-11-30 Euchner & Co Manually operated position encoder
US5333247A (en) * 1988-06-10 1994-07-26 International Business Machines Corporation Scrolling tool for text and graphics in a display system
US4853498A (en) * 1988-06-13 1989-08-01 Tektronix, Inc. Position measurement apparatus for capacitive touch panel system
US4975830A (en) * 1988-12-05 1990-12-04 Dayna Communications, Inc. Computer communication system having supplemental formats
US5252951A (en) * 1989-04-28 1993-10-12 International Business Machines Corporation Graphical user interface with gesture recognition in a multiapplication environment
US5305017A (en) * 1989-08-16 1994-04-19 Gerpheide George E Methods and apparatus for data input
EP0486617B1 (en) * 1989-08-16 1998-03-04 GERPHEIDE, George E. Apparatus for data input
JP2784825B2 (en) * 1989-12-05 1998-08-06 ソニー株式会社 Information input control device
US5309555A (en) * 1990-05-15 1994-05-03 International Business Machines Corporation Realtime communication of hand drawn images in a multiprogramming window environment
US5491495A (en) * 1990-11-13 1996-02-13 Wang Laboratories, Inc. User interface having simulated devices
US5196838A (en) * 1990-12-28 1993-03-23 Apple Computer, Inc. Intelligent scrolling
JPH0827700B2 (en) * 1990-12-31 1996-03-21 インターナショナル・ビジネス・マシーンズ・コーポレイション Computer display control system
US5422993A (en) * 1991-12-17 1995-06-06 International Business Machines Corporation Method and system for performing direct manipulation operations in a computer system
US5543590A (en) * 1992-06-08 1996-08-06 Synaptics, Incorporated Object position detector with edge motion feature
US5530865A (en) * 1993-03-03 1996-06-25 Apple Computer, Inc. Method and apparatus for improved application program switching on a computer-controlled display system
US5349303A (en) * 1993-07-02 1994-09-20 Cirque Corporation Electrical charge transfer apparatus
US5506951A (en) * 1994-03-01 1996-04-09 Ishikawa; Hiroshi Scroll bar with jump tags
US5495566A (en) * 1994-11-22 1996-02-27 Microsoft Corporation Scrolling contents of a window
US5528260A (en) * 1994-12-22 1996-06-18 Autodesk, Inc. Method and apparatus for proportional auto-scrolling

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US5164713A (en) * 1991-10-15 1992-11-17 Bain Lee L Cursor position controller for use with mouse and display systems

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8645852B2 (en) 2006-06-23 2014-02-04 International Business Machines Corporation Drag and drop quoting mechanism for use with discussion forums
US9377942B2 (en) 2006-06-23 2016-06-28 International Business Machines Corporation Drag and drop quoting mechanism for use with discussion forums
US10346024B2 (en) 2006-06-23 2019-07-09 International Business Machines Corporation Drag and drop quoting mechanism for use with discussion forums
WO2008038239A3 (en) * 2006-09-29 2008-07-03 Nxp Bv Processing a signal from a pointing device sensor
EP2184671A1 (en) * 2008-10-29 2010-05-12 Giga-Byte Communications, Inc. Method and apparatus for switching touch screen of handheld electronic apparatus
EP2306284A1 (en) * 2009-09-25 2011-04-06 Apple Inc. Device, method, and graphical user interface using mid-drag gestures
WO2011084870A3 (en) * 2010-01-06 2011-11-10 Apple Inc. Device, method, and graphical user interface for manipulating information items in folders

Also Published As

Publication number Publication date
JP3833709B2 (en) 2006-10-18
JPH11509944A (en) 1999-08-31
DE19681316T1 (en) 1998-04-16
AU5376896A (en) 1996-10-16
US5757368A (en) 1998-05-26

Similar Documents

Publication Publication Date Title
US5757368A (en) System and method for extending the drag function of a computer pointing device
US6473069B1 (en) Apparatus and method for tactile feedback from input device
US10921920B1 (en) Gestures and touches on force-sensitive input devices
US6424338B1 (en) Speed zone touchpad
US5767457A (en) Apparatus and method for audible feedback from input device
RU2537043C2 (en) Detecting touch on curved surface
Hinckley Input technologies and techniques
JP4890853B2 (en) Input control method for controlling input using a cursor
CN100381986C (en) Input processing method and input controlling apparatus
DE60029888T2 (en) Method and device for graphic feedback during time-dependent user input
JP5478587B2 (en) Computer mouse peripherals
EP1459165B1 (en) Touch-screen image scrolling system and method
KR101424294B1 (en) Multi-touch uses, gestures, and implementation
CN101410781B (en) Gesturing with a multipoint sensing device
US7091954B2 (en) Computer keyboard and cursor control system and method with keyboard map switching
US6674425B1 (en) Integrated pointing and drawing graphics system for computers
EP2564292B1 (en) Interaction with a computing application using a multi-digit sensor
US7692637B2 (en) User input device for electronic device
TWI433029B (en) Systems, methods, and computer-readable media for invoking an electronic ink or handwriting interface
EP1727028B1 (en) Dual-positioning controller and method for controlling an indicium on a display of an electronic device
US20090262086A1 (en) Touch-pad cursor control method
US6466197B1 (en) Method and apparatus for driving pointing device of computer system
WO2011142151A1 (en) Portable information terminal and method for controlling same
WO2022257870A1 (en) Virtual scale display method and related device
JP2000181617A (en) Touch pad and scroll control method by touch pad

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AL AM AT AU AZ BB BG BR BY CA CH CN CZ DE DK EE ES FI GB GE HU IS JP KE KG KP KR KZ LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK TJ TM TR TT UA UG UZ VN AM AZ BY KG KZ MD RU TJ TM

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): KE LS MW SD SZ UG AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN ML

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

Ref document number: 1996 529639

Country of ref document: JP

Kind code of ref document: A

RET De translation (de og part 6b)

Ref document number: 19681316

Country of ref document: DE

Date of ref document: 19980416

WWE Wipo information: entry into national phase

Ref document number: 19681316

Country of ref document: DE

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: CA

REG Reference to national code

Ref country code: DE

Ref legal event code: 8607