Abstract:
A method for detecting gestures on a touchpad is presented. The method comprises receiving a first contact signal induced by a first contact with the touchpad, detecting a drop in the first contact signal induced by a first lift off the touchpad, recording a first time interval between receipt and drop in the first contact signal, comparing the first time interval to a first reference and a second reference, wherein the first reference is less than the second reference, and the first reference and second reference are predefined, and outputting one of a single-click signal, double-click signal or drag signal.

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
       [0001]    This application claims foreign priority benefits under 35 U.S.C. §119 of Chinese Patent Application Serial No. 200910190704.9, filed on Sep. 23, 2009, the content of which is incorporated herein by reference in its entirety. 
       TECHNICAL FIELD 
       [0002]    The present invention relates generally to a method for sensing a contact with a touchpad, and more particularly to a method for sensing hand gestures on a touchpad. 
       BACKGROUND 
       [0003]    Although the keyboard remains a primary input device of a computer, the prevalence of graphical user interfaces (GUIs) may require use of a mouse or other pointing device such as a trackball, joystick, touchpad or the like. Operations performed by the pointing devices generally correspond to moving a cursor, making selections, dragging, zoom in/out, rotating or the like. 
         [0004]    Touchpads are commonly used on portable electronic devices by providing a panel for user&#39;s fingers or other objects to touch or move thereon. Operations on touchpads may be implemented by detecting hand gestures. For example, selections may be made when one or more taps are detected on the touchpads. In addition to selections, moving a selected content from one place to another may be made by dragging a user&#39;s finger across the touchpad. 
         [0005]      FIGS. 1 to 3  illustrate a method for detecting a single click signal, a double click signal and a drag signal according to the prior art. As shown in  FIG. 1 , a first signal  102  is induced by contact of a user&#39;s finger on the touchpad, and remains until the user lifts the finger off the touchpad. When the touching time t 1  during which the user&#39;s finger remains in contact with the touchpad is less than a first reference R 1 , a first intermediate signal  112  is generated. In an instance in which no signal is detected within a time interval that is less than a second reference R 2 , a single-click signal is output. On the other hand, in an instance in which a second signal  106  induced by a user&#39;s second contact with the touchpad is detected within the time interval R 2 , as shown in  FIG. 2 , and the touching time t 2  of the second contact is less than a third reference R 3 , a second intermediate signal  114  is generated. A double-click signal is then output. When the touching time t 2  of the second contact is greater than the third reference R 3 , as shown in  FIG. 3 , a drag signal is output. The method described above may result in a higher possibility of accidental contact of the touchpad, and may further result in performance of erratic operations (e.g., cursor movement) caused by the accidental contact. 
       BRIEF SUMMARY 
       [0006]    According to one exemplary embodiment of the invention, a method for detecting gestures on a touchpad is presented. The method comprises receiving a first contact signal induced by a first contact with the touchpad, detecting a drop in the first contact signal induced by a first lift off the touchpad, recording a first time interval between receipt and drop in the first contact signal, comparing the first time interval to a first reference and a second reference, wherein the first reference is less than the second reference, and the first reference and second reference are predefined, and outputting one of a single-click signal, double-click signal or drag signal. 
         [0007]    According to one exemplary embodiment of the invention, a device for detecting gestures on a touchpad is presented. The device comprising a processor configured to receive a first contact signal induced by a first contact with the touchpad, detect a drop in the first contact signal induced by a first lift off the touchpad, record a first time interval between receipt and drop in the first contact signal, compare the first time interval to a first reference and a second reference, wherein the first reference is less than the second reference, and the first reference and the second reference are predefined, generate a first intermediate signal in an instance in which the first time interval is greater than or equal to the first reference and less than or equal to the second reference, and output one of a single-click signal, double-click signal or drag signal. 
         [0008]    According to one exemplary embodiment of the invention, a method for detecting gestures on a touchpad is presented. The method comprises receiving a first contact signal induced by a first contact with the touchpad, recording a threshold time interval until receipt of the first contact signal, comparing the threshold time interval to a predefined threshold reference, and determining a first valid contact signal. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0009]    The foregoing summary, as well as the following detailed description of the invention, will be better understood when read in conjunction with the appended drawings. The embodiments illustrated in the figures of the accompanying drawings herein are by way of example and not by way of limitation. In the drawings: 
           [0010]      FIGS. 1-3  illustrate a method for detecting single click signal, double click signal and drag signal according to the prior art; 
           [0011]      FIG. 4A  is a flow chart describing a method for detecting gestures on a touchpad device according to one exemplary embodiment of the present invention; 
           [0012]      FIG. 4B  is a flow chart describing a method for detecting gestures on a touchpad device according to one exemplary embodiment of the present invention; 
           [0013]      FIG. 5  illustrates diagrams of detected signals and a single click signal on a touchpad device according to one exemplary embodiment of the present invention; 
           [0014]      FIG. 6  illustrates diagrams of detected signals and a double click signal on a touchpad device according to one exemplary embodiment of the present invention; and 
           [0015]      FIG. 7  illustrates diagrams of detected signals and a drag signal on a touchpad device according to one exemplary embodiment of the present invention. 
       
    
    
     DETAILED DESCRIPTION 
       [0016]    The present invention now will be described more fully hereinafter with reference to the accompanying drawings, in which preferred embodiments of the invention are shown. This invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Like numbers refer to like elements throughout. 
         [0017]      FIG. 4A  is a flow chart describing a method for detecting gestures on a touchpad device according to one exemplary embodiment of the present invention (“exemplary” as used herein referring to “serving as an example, instance or illustration”). The detecting method may start when the touchpad is powered on at step  402 . A counter is reset and starts to count at step  403 . The touchpad may stay in an idle mode until the counter reaches a predefined value, which may be accordingly referred as a “threshold reference” t TH . At step  404 , the touchpad may receive a first contact signal at a time in which the counter has a value T 0 . The counter may be reset and restart after T 0  is recorded by a processing unit. The first contact signal may be caused by electronic noise, or may be induced by a user&#39;s contact. To prevent an unintentional contact on the touchpad from causing performance of erratic operations (e.g., cursor movement), a processing unit embedded in or otherwise in communication with the touchpad may perform comparison functions to compare the value of the counter, T 0 , to the predefined threshold reference t TH  at step  406 . In an instance in which T 0  is less than the predefined threshold reference t TH , the processing unit may determine that the first contact signal is an invalid signal, and reset the counter at step  403 . The touchpad will be then awaiting another contact to induce a corresponding contact signal. Steps  403 ,  404 , and  406  may be repeated until the value of the counter on receipt of a contact signal (first valid contact signal), T 0 , is greater than or equal to the predefined threshold reference t TH  at step  406 . In an instance in which no contact signal is received until the counter value reaches a maximum value, the counter may remain the maximum value until a first contact signal is received. In this regard, the counter value T 0  is greater than or equal to the predefined threshold reference t TH . A first valid contact signal may then be determined at step  410 . The counter may continue to run, indicating that the user&#39;s finger may remain in contact with the touchpad, until the first valid contact signal ceases when the user lifts his/her finger off the touchpad, producing a drop in the first valid contact signal at step  412 . The processing unit may record a first time interval T 1  corresponding to amount of time the first contact signal is received (the amount of time the user&#39;s finger remains in contact with the touchpad), and reset and restart the counter. The processing unit may compare the first time interval T 1  to a first reference t 11  at step  414  to determine if the first time interval is greater than or equal to the first reference t 11 . In an instance in which the comparison result obtained at step  414  indicates that the first time interval T 1  is less than the first reference t 11 , the first valid contact signal may be not a desired signal. The detecting method then proceeds back to step  403 , to reset the counter awaiting another contact signal. 
         [0018]    In an instance in which the comparison result obtained at step  414  indicates that the first time interval T 1  is greater than or equal to the first reference t 11 , the processing unit continues to compare the first time interval T 1  with a second reference t 12  that is greater than the first reference t 11  at step  418 . The first time interval T 1  that is greater than or equal to the first reference t 11  and less than or equal to the second reference t 12 , compared at steps  414  and  418 , may indicate that a valid touch or a real touch is detected. A first intermediate signal is then generated when the counter reaches a third reference time t 21 . In an instance in which the counter value T 1  is greater than the second reference t 12  at step  418 , the detected signals may be induced by other gesture that may be determined at step  438 . 
         [0019]    The processing unit monitors for receipt of a second contact signal from the touchpad at step  422 . In an instance in which the processing unit does not receive a second contact signal when the counter reaches a fourth reference time t 22  at step  422 , or the second contact signal is received after the counter reaches t 22 , the first intermediate signal is terminated and a single-click signal is output at step  426 . The counter is then reset and restarts to run at step  403 . On the contrary, in an instance in which the processing unit receives a second contact signal before the counter reaches t 22 , the processing unit may record a second time interval T 2  as the time between the time the first valid signal ceased and receipt of the second contact signal. The processing unit then compares the second time interval T 2  to the third reference t 21  at step  424 . In an instance in which the second time interval T 2  is less than the third reference t 21 , the detected second contact signal may be induced by other gestures which may be judged at step  438 . 
         [0020]    In an instance in which the second time interval T 2  is greater than or equal to the third reference t 21  at step  424  and less than or equal to the fourth reference t 22 , the processing unit may monitor the second contact signal for a drop in the respective signal at step  428 . On detecting a drop in the second contact signal, the processing unit may perform comparison functions to compare a third time interval T 3  to a fifth reference t 31  at step  430  and a six reference t 32  at step  432 . The third time interval T 3  is recorded between receipt and drop in the second contact signal and may indicate a second presence of a finger of the user on the touchpad. In an instance in which the third time interval T 3  is greater than or equal to the fifth reference t 31 , and less than or equal to the sixth reference t 32 , the first intermediate signal is terminated, a second intermediate signal is generated and a double-click signal constituted by the first intermediate signal and the second intermediate signal is output at step  434 . In an instance in which the third time interval T 3  compared at step  430  is less than the fifth reference t 31 , the detected signals may be caused by other gestures, which may be determined at step  438 . In an instance in which the third time interval T 3  compared at step  432  is greater than the sixth reference t 32 , a drag signal is output at step  436 . 
         [0021]      FIG. 4B  is a flow chart describing a method for detecting gestures on a touchpad device according to one exemplary embodiment of the present invention. Referring to  FIG. 4B , detection and determination of a valid touch and generation of a single-click signal may be performed using a method similar to the method described above. In an instance in which the processing unit receives a second contact signal before the counter reaches the fourth reference time t 22  at step  422  and is determined at step  424  to be received after the counter is greater than or equal to the third reference t 21 , unlike the method described in  FIG. 4A , on detecting a drop in the second contact signal, the processing unit may perform comparison functions to compare the third time interval T 3  to the six reference t 32  at step  428 . In an instance in which no drop in the second contact signal is detected before the counter reaches t 32 , a drag signal may be out put at step  440 . In an instance in which a drop in the second contact signal is detected at step  442  after the counter reaches t 32 , the drag signal may be terminated by the processing unit at step  444 . In an instance in which a drop in the second contact signal is detected after the counter reaches t 31  compared at step  430  and before t 32  that has been compared at step  428 , a double click signal is then output at step  434 . 
         [0022]      FIGS. 5-7  illustrate diagrams of detected signals and signals output on a touchpad device according to various exemplary embodiments of the present invention. To reduce chances of accidental contact with the touchpad being interpreted as a real “touch,” signals that are received after the touchpad is powered up and before a counter reaches a predefined threshold value t TH  may be considered as noises or false signals. In the other situation, amount of time between an invalid signal and receipt of a subsequent received contact signal is also compared to the predefined threshold value t TH  to determine if the subsequent received contact signal is “noises” or valid signal. When the counter reaches the predefined threshold value t TH , the touchpad may exit idle mode and enter into operation mode. In the operation mode, the touchpad may be ready to sense signals, process the sensed signals and determine operations to perform (e.g., cursor movements) according to the processing result. 
         [0023]    In the exemplary embodiment that is shown in  FIG. 5 , a first contact signal  502  is received after the counter reaches the predefined threshold value t TH , this signal being the first valid contact signal. When a drop in the first valid contact signal is detected, a first time interval T 1  is recorded between receipt and drop in the first valid contact signal, where this time interval indicates the time a user&#39;s finger remained in contact with the touchpad. The processing unit compares the first time interval T 1  to a first reference t 11  and a second reference t 12 . In an instance in which the first time interval T 1  is greater than a first reference t 11  and less than a second reference t 12 , a first intermediate signal  512  is generated when the counter reaches a third reference time t 21 . In an instance in which the processing unit doesn&#39;t receive a second contact signal before the counter reaches a fourth reference time t 22 , the first intermediate signal is terminated, a single-click signal is output. 
         [0024]    On the contrary, in an instance in which the processing unit receives a second contact signal  506 , as shown in  FIG. 6 , the processing unit records a second time interval T 2 , as the time between the time the first valid signal ceased and receipt of the second contact signal  506 . The processing unit compares the second time interval T 2  to the third reference t 21  and the fourth reference t 22 . In an instance in which the second contact signal is received before the counter reaches the third reference t 21 , the detected signals may be induced by other gestures. In an instance in which the second time interval T 2  is greater than or equal to the third reference t 21  and less than or equal to the fourth reference t 22 , this signal being the second valid contact signal. The counter is reset upon receipt of the second contact signal  506  and starts to count until a drop in the second valid contact signal is detected. A third time interval T 3 , is recorded between receipt and drop in the second valid contact signal  506 , where this time interval indicates the time a user&#39;s finger remained in contact with the touchpad. The processing unit compares the third time interval T 3  to a fifth reference t 31  and a sixth reference t 32 . In an instance in which the third time interval T 3  is greater than or equal to the fifth reference t 31  and less than or equal to the sixth reference t 32 , the first intermediate signal  512  is terminated, a second intermediate signal  514  is generated. A double-click signal is then output by the processing unit. To the contrary, in an instance in which the third time interval T 3  is greater than the sixth reference t 32 , as shown in  FIG. 7 , a drag signal is output by the processing unit. 
         [0025]    The touchpad may include a processing unit and a sensing unit. The sensing unit may sense signals that received on the touchpad. The sensed signals may be received and processed by the processing unit. The sensing unit may be in the form of sensors, sensing layers or the like. The processing unit may be embodied in a number of different manners, such as a CPU (Central Processing Unit), microprocessor, and/or various other processing devices including integrated circuits such as ASIC (Application Specification Integrated Circuit), FPGA (Field Programmable Gate Array) or the like. As will be appreciated, the processing unit may include a counter embodied in the form of a software program or an electronic circuit, e.g., a cyclic counter. In various embodiments, the counter may be reset on receipt and/or drop in a contact signal. 
         [0026]    According to one aspect of the present invention, the touchpad may include, for example, a sensing unit and a processing unit. When a user&#39;s first finger is resting on the touchpad, the contact with the touchpad may be sensed by the sensing unit, which may be embodied in a number of different manners, such as in the form of a touch-sensitive surface. The processing unit may record time intervals between two received adjacent signals and perform comparison functions to compare the time intervals to predefined references. The processing unit may be embodied in hardware in a number of different manners, such as a CPU (Central Processing Unit), microprocessor, coprocessor, controller and/or various other processing devices including integrated circuits such as ASIC (Application Specification Integrated Circuit), FPGA (Field Programmable Gate Array) or the like. As will be appreciated, the processing unit may include or otherwise be configured to communicate with non-transitory memory, such as volatile memory and/or non-volatile memory, which may store data received or calculated by the processing unit, and may also store one or more software applications, instructions or the like for the processing unit to perform functions associated with operation of the device in accordance with exemplary embodiments of the present invention. 
         [0027]    All or a portion of the system of the present invention, such as all or portions of the processing unit, generally operates under control of a computer program product. The computer program product for performing the methods of embodiments of the present invention includes a non-transitory computer-readable storage medium, such as the non-volatile storage medium, and computer-readable program code portions, such as a series of computer instructions, embodied in the computer-readable storage medium. 
         [0028]    It will be appreciated by those skilled in the art that changes could be made to the examples described above without departing from the broad inventive concept. It is understood, therefore, that this invention is not limited to the particular examples disclosed, but it is intended to cover modifications within the spirit and scope of the present invention as defined by the appended claims.