Abstract:
Substantially elevated movement sensitivity of a mouse enables improved control and finer manipulation of an object, for example a pointer, displayed on a display device. However, the elevated movement sensitivity also results in unintended movement of the mouse, generated when a button of the mouse is operated, being translated into displacement of the pointer on the display device. An embodiment of the invention describes a method for transducing movement occurring during an interval into signals in response to the button being operated. The signals are for use in manipulating the object. The method is further for comparing properties of the displacement with pre-defined reference properties to determined whether the movement is intended or unintended. The signals are subsequently terminated to impede manipulation of the object when the movement is determined to be unintended to thereby correct the unintended movement.

Description:
FIELD OF INVENTION 
       [0001]    The invention relates to a method for identifying unintended displacement generated by unintentional movement of a peripheral device. Specifically, the invention relates to a method and a system for identifying and correcting unintended displacement generated by unintentional movement of a peripheral device. 
       BACKGROUND 
       [0002]    Pointer devices, a category of peripheral devices which are also conventionally known as mice, are becoming increasingly movement sensitive due to technological advancements in, for example, the transducers used therein. The use of a photoelectric transducer, for example an optical sensor-transmitter with an optical resolution in excess of 4000 dots-per-inch (dpi), in a mouse substantially elevates the movement sensitivity thereof. 
         [0003]    The substantially elevated movement sensitivity of the mouse enables improved control and finer manipulation of an object, for example a pointer, displayed on a display device. However, the elevated movement sensitivity also results in any unintended movement of the mouse being translated into displacement of the pointer on the display device. The unintended movement of the mouse is usually generated when buttons of the mouse are operated. The force applied to the buttons for operation thereof can unintentionally move the mouse as well. The displacement of the pointer on the display device due to unintentional movement of the mouse negatively affects user experience. 
         [0004]    One solution provides means for allowing the movement sensitivity of the mouse to be varied. However, sensitivity reduction is affront to the object of acquiring and defeats the purpose of using a high sensitivity mouse. Another solution of terminating all mouse movement detected within a pre-determined duration after any of the buttons of the mouse is operated is also undesirable as intentional movements occurring within the duration are also terminated. 
         [0005]    Hence, these affirm a need for a method and a system for addressing the foregoing problems. 
       SUMMARY 
       [0006]    In accordance with a first aspect of the invention, there is disclosed a computer implemented method comprising detecting activation of a switch and sampling displacement detected by a transducer occurring during a sampling interval in response to the switch being activated. The sampled displacement is transduced into displacement signals for manipulating an object generated by a computing device. The method further comprises determining at least one of displacement magnitude and displacement rate of the sampled displacement and identifying the displacement occurring during the sampling interval as an unintended displacement when at least one of the displacement magnitude is less than a reference magnitude and the displacement rate is less than a reference rate. The unintended displacement is identified for impeding manipulation of the object by the displacement signals. 
         [0007]    In accordance with a second aspect of the invention, there is disclosed a system comprising a controller configured for communication with a computing device and a peripheral device. The peripheral device has a switch and a transducer. The controller comprises means for detecting activation of the switch, means for sampling displacement detected by the transducer occurring during a sampling interval in response to the switch being activated and means for determining at least one of displacement magnitude and displacement rate of the sampled displacement. The sampled displacement is transduced into displacement signals for manipulating an object generated by the computing device. The controller further comprises means for identifying the displacement occurring during the sampling interval as an unintended displacement when at least one of the displacement magnitude is less than a reference magnitude and the displacement rate is less than a reference rate. The unintended displacement is identified for impeding manipulation of the object by the displacement signals. 
         [0008]    In accordance with a third aspect of the invention, there is disclosed an apparatus comprising a switch for signal communicating with a computing device, a transducer and a controller. The controller is configured for communicating with the computing device with the controller for detecting activation of the switch and for sampling displacement detected by the transducer occurring during a sampling interval in response to the switch being activated. The controller further determines at least one of displacement magnitude and displacement rate of the sampled displacement. The controller identifies the displacement occurring during the sampling interval as an unintended displacement when at least one of the displacement magnitude is less than a reference magnitude and the displacement rate is less than a reference rate. The sampled displacement is transduced into displacement signals for manipulating an object generated by the computing device, and the unintended displacement is identified for impeding manipulation of the object by the displacement signals. 
         [0009]    In accordance with a fourth aspect of the invention, there is disclosed a machine-readable medium having stored therein a plurality of programming instructions, which when executed, the instructions cause the machine to detect activation of a switch, sample displacement detected by a transducer occurring during a sampling interval in response to the switch being activated with the sampled displacement being transduced into displacement signals for manipulating an object generated by a computing device, and determine at least one of displacement magnitude and displacement rate of the sampled displacement. The displacement occurring during the sampling interval is identified as an unintended displacement when at least one of the displacement magnitude is less than a reference magnitude and the displacement rate is less than a reference rate. The unintended displacement is identified for impeding manipulation of the object by the displacement signals. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0010]    Embodiments of the invention are disclosed hereinafter with reference to the drawings, in which: 
           [0011]      FIG. 1  shows a process flow diagram of a method for identifying and correcting unintended displacement according to an embodiment of the invention; 
           [0012]      FIG. 2  shows a partial system block diagram of a peripheral device and a computing device inter-configured for implementing the method of  FIG. 1 ; 
           [0013]      FIG. 3  shows a plot of an unintended displacement occurring within a sampling interval according to the method of  FIG. 1 ; 
           [0014]      FIG. 4  shows a partial system block diagram of a system for implementing the method of  FIG. 1 ; and 
           [0015]      FIG. 5  shows a partial system block diagram of an apparatus for implementing the method of  FIG. 1 . 
       
    
    
     DETAILED DESCRIPTION 
       [0016]    A method, a system and an apparatus for identifying and correcting unintended displacement are described hereinafter for addressing the foregoing problems. 
         [0017]    For purposes of brevity and clarity, the descriptions of embodiments of the invention are limited hereinafter to peripheral devices usage in conjunction with computing devices. This however does not preclude various embodiments of the invention from other applications that require similar operating performance. The fundamental operational and functional principles of the embodiments of the invention remain common throughout the various embodiments. 
         [0018]    An exemplary embodiment of the invention described hereinafter is in accordance with  FIGS. 1 to 5  of the drawings, in which like elements are numbered with like reference numerals. 
         [0019]    An exemplary embodiment of the invention, a method  100  for identifying and correcting unintended displacement occurring during use of a peripheral device  20  in communication with a computing device  22 , is described hereinafter with reference to  FIGS. 1 to 3 . The peripheral device  20  comprises a transducer  24  and a switch  26 . Preferably, the peripheral device  20  is a pointer device, for example a mouse, with the switch  26  being a button thereof. The peripheral device  20  preferably is one of wire-coupled and wirelessly-coupled to the computing device  22  for communication therewith. The peripheral device  20  is operable for manipulating an object  28  generated by the computing device  22 . The object  28  is, for example, a pointer or an object generated and manipulatable within a multi-dimensional virtual space. 
         [0020]    The transducer  24  is preferably a photo-electric transducer, for example an infrared sensor device or a laser sensor device, for detecting displacement of the peripheral device  20  across a surface. Alternatively, the transducer  24  is an electromagnetic transducer and an electromechanical transducer. An example of an electromechanical transducer comprises multiple encoder wheels in tractive communication with a sphere rotatably coupled to the peripheral device  20 . The encoder wheels rotate when the sphere is rolled across a surface for detecting displacement thereof. In a mouse configuration, the sphere is for rolling across the surface of a support. In a trackball configuration, the surface of, for example a thumb, is rolled across the sphere for rotation thereof. The switch  26  is activatable for executing a function, for example for selecting the object  28  or for executing an application, on the computing device  22 . Alternatively, the switch  26  is for executing a function on another device. 
         [0021]    Preferably, the peripheral device further comprises a body  30  for housing the transducer  24  and the switch  26 . The switch  26  is preferably a mechanical switch. Alternatively, the switch is a capacitive switch or an optical switch. Further alternatively, the switch  26  is a capacitive switch formed integral with the body  30  of the peripheral device  20 . 
         [0022]    During use of the peripheral device  20 , operating the switch  26  for activation thereof can result in unintended movement of the body  30  of the peripheral device  20 . This unintended movement in turn translates into unintended displacement of the object  28  displayed on a display device  32  coupled to the computing device  22 . A crude approach to addressing this problem is to terminate any movement detected during a truncation duration (not illustrated) after the switch  26  has been activated to prevent unintended manipulation of the object  28 . However, this approach inevitably also truncates any movement intended for manipulating the object  28  but which has been detected during the truncation duration. 
         [0023]    Therefore, the method  100  is applicable for first identifying any unintended movement prior to deciding on how the unintended movement can be addressed. The method  100  is preferably implemented as a software program, for example a driver program, executing on a processor (not shown) of the computing device  22 . In a step  110  of the method  100 , the computing device  22  detects for activation of the switch  28 . Upon the activation of the switch  28  being detected at an activation point  36 , displacement  38  occurring during a sampling interval  40  is sampled and transduced into displacement signals  42  in a step  112 . The sampled displacement  38  results from operating of the peripheral device  20  by a user. The sampling interval  40  has an interval duration  44  and initiates from the activation point  36 . 
         [0024]    Next, in a step  114 , displacement magnitude  46  of the sampled displacement  38  is determined. Alternatively or additionally, displacement rate of the sampled displacement  38  is also determinable in the step  114 . 
         [0025]    In a step  116 , the displacement magnitude  46  of the sampled displacement  38  is then compared with a reference magnitude  50 . Should the displacement magnitude  46  equal or exceed the reference magnitude  50 , the sampled displacement  38  is identified as an intended displacement. However, when the displacement magnitude  46  is less than the reference magnitude  50 , the sampled displacement  38  is identified as an unintended displacement. 
         [0026]    Alternatively in the step  116 , the displacement rate of the sampled displacement  38  is compared with a reference rate. Should the displacement rate equal or exceed the reference rate, the sampled displacement  38  is identified as an intended displacement. However, when the displacement rate is less than the reference rate, the sampled displacement  38  is identified as an unintended displacement. 
         [0027]    Further alternatively in the step  116 , both the displacement magnitude  46  and the displacement rate of the sampled displacement  38  are compared with the reference magnitude  50  and the reference rate respectively. Should one or both of the displacement magnitude  46  and the displacement rate equal or exceed the reference magnitude  50  and the reference rate respectively, the sampled displacement  38  is identified as an intended displacement. Else, the sampled displacement  38  is identified as an unintended displacement. 
         [0000]    In a step  118 , the computing device  22  processes the displacement signals  42  for enabling manipulation of the object  28  when the sampled displacement  38  is identified as an intended displacement. However, the computing device  22  terminates the displacement signals  42  for impeding manipulation of the object  28  thereby when the sampled displacement  38  is identified as an unintended displacement. 
         [0028]    The method  100  enables unintended displacement of displayed objects, for example a pointer, to be identified when unintended displacement or movement is generated while operating buttons on a high sensitivity pointer device, for example an optical mouse with an optical resolution in excess of 4000 dots per inch (dpi). However, as different users have different user habits, a settings application (not illustrated) is executable on the computing device and presented as a graphical user interface (GUI) for enabling a user to define or vary the interval duration  44 , the reference magnitude  50  and the reference rate. Alternatively, rotary switches or slider switches are providable on the peripheral device  20  to enable the user to vary the interval duration  44 , the reference magnitude  50  and the reference rate. 
         [0029]    The method  100  is further implementable using a system  200  for identifying unintended displacement as shown in  FIG. 4 . The system  200  comprises a controller  202  and a memory device  204 . The memory device  204  contains a software program executable by the controller  202  for performing the method  100 . The system  200  preferably signal interfaces the peripheral device  20  and the computing device  22 . Upon receiving the displacement signals  42  from the peripheral device  20  and when performing the step  118  of the method  100 , the controller  202  disables communication of the displacement signals  42  to the computing device  22  for impeding manipulation of the object  28  thereby when the sampled displacement  38  is identified as an unintended displacement. Alternatively, the controller  202  terminates the displacement signals  42  for impeding manipulation of the object  28  thereby when the sampled displacement  38  is identified as an unintended displacement. 
         [0030]    The method  100  is further implementable using an apparatus  300  for identifying unintended displacement as shown in  FIG. 5 . The apparatus  300  is preferably the peripheral device  20  and therefore comprises a transducer  302 , a switch  304  and a body  306  functionally and configuratively corresponding with the transducer  24 , the switch  26  and the body  30  of the peripheral device  20 . The apparatus  300  further comprises a controller  308  and a memory device  310  housed within the body  306 . The memory device  310  stores a software program executable by the controller  308 , for example a firmware executable by a microprocessor, for performing the method  100 . The transducer  302  and the switch  304  are coupled to the controller  308  for signal communication therewith. The controller  308  is further in signal communication with the computing device  22 . Upon receiving the displacement signals  42  from the transducer  302  and when performing the step  118  of the method  100 , the controller  308  disables communication of the displacement signals  42  to the computing device  22  for impeding manipulation of the object  28  thereby when the sampled displacement  38  is identified as an unintended displacement. Alternatively, the controller  308  terminates the displacement signals  42  for impeding manipulation of the object  28  thereby when the sampled displacement  38  is identified as an unintended displacement. 
         [0031]    Additionally, the software program for performing the method  100  is operable in conjunction with a debounce program on the apparatus  300 . During operation of the switch  304 , switch bounce may occur which results in multiple activation of the switch  304  being detected and communicated to the computing device  22  although the switch  304  had been intentionally activated only once. Occurrence of the switch bounce is dependent on the specification, design and damping properties of the switch  304 . When the controller  308  executes the debounce program, any activation of the switch  304  within a pre-determined bounce interval will be aggregated by the controller  308  and communicated as a single activation of the switch  304  to the computing device  22 . When the software program for performing the method  100  is being operated in conjunction with the debounce program, the activation point  36  of the sampling interval  40  preferably is at the start of the bounce interval. Alternatively, the activation point  36  of the sampling interval  40  is at the end of or at any point during the bounce interval. 
         [0032]    When the method  100  is implemented using the apparatus  300 , the interval duration  44 , the reference magnitude  50  and the reference rate are preferably stored on the memory device  310  of the apparatus  300 . Additionally, the settings application is also stored on the memory device  310  and retrievable for execution by the controller  308  or the processor of the computing device  22  to enable a user to define or vary the interval duration  44 , the reference magnitude  50  and the reference rate. The interval duration  44 , the reference magnitude  50  and the reference rate are preferably stored on the memory device  310  of the apparatus  300  to allow portability thereof together with the apparatus  300 . 
         [0033]    In the foregoing manner, a method, a system and an apparatus for identifying and correcting unintended displacement are described according to an embodiment of the invention for addressing the foregoing disadvantages. Although only one embodiment of the invention is disclosed, it will be apparent to one skilled in the art in view of this disclosure that numerous changes and/or modification can be made without departing from the scope and spirit of the invention.