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.
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.
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.
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.
Hence, these affirm a need for a method and a system for addressing the foregoing problems.
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.
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.
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.
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.
Embodiments of the invention are disclosed hereinafter with reference to the drawings, in which:
A method, a system and an apparatus for identifying and correcting unintended displacement are described hereinafter for addressing the foregoing problems.
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.
An exemplary embodiment of the invention described hereinafter is in accordance with
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
The method 100 is further implementable using a system 200 for identifying unintended displacement as shown in
The method 100 is further implementable using an apparatus 300 for identifying unintended displacement as shown in
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.
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.
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.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/SG2007/000358 | 10/19/2007 | WO | 00 | 4/28/2010 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2009/051563 | 4/23/2009 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
5598187 | Ide et al. | Jan 1997 | A |
5825350 | Case et al. | Oct 1998 | A |
5877748 | Redlich | Mar 1999 | A |
5963195 | Gregg et al. | Oct 1999 | A |
6031522 | Strand | Feb 2000 | A |
6034668 | Jackson | Mar 2000 | A |
6281882 | Gordon et al. | Aug 2001 | B1 |
6304250 | Yang et al. | Oct 2001 | B1 |
6650313 | Levine et al. | Nov 2003 | B2 |
6948136 | Trewin | Sep 2005 | B2 |
7333785 | Lavelle et al. | Feb 2008 | B1 |
7986304 | Grunberger | Jul 2011 | B2 |
8525784 | Benenson | Sep 2013 | B2 |
8570147 | Girard et al. | Oct 2013 | B2 |
20020093486 | Gordon et al. | Jul 2002 | A1 |
20040066371 | Huang | Apr 2004 | A1 |
20040113890 | Ranta | Jun 2004 | A1 |
20040189603 | Arrigo et al. | Sep 2004 | A1 |
20040201572 | Wei | Oct 2004 | A1 |
20060028449 | Ranta | Feb 2006 | A1 |
20060274042 | Krah et al. | Dec 2006 | A1 |
Number | Date | Country |
---|---|---|
1437096 | Aug 2003 | CN |
1797292 | Jul 2006 | CN |
07-028591 | Jan 1995 | JP |
H08-194580 | Jul 1996 | JP |
H11-224163 | Aug 1999 | JP |
10-1999-0003599 | Jan 1999 | KR |
Entry |
---|
“International Search Report and Written Opinion dated Jun. 30, 2009,” International Application No. PCT/SG2009/000052, 7 pages. |
“Korean Office Action dated Oct. 30, 2013,” Korean Application No. 10-2010-7010567, 8 pages. |
“Korean Office Action dated Jun. 18, 2014,” Korean Application No. 10-2010-7010567, 8 pages. |
“International Preliminary Report on Patentability dated Aug. 24, 2010,” International Application No. PCT/SG2009/000052, 5 pages. |
“Taiwan Office Action dated Sep. 2, 2014,” Taiwan Application No. 97140121, 13 pages. |
Number | Date | Country | |
---|---|---|---|
20100201624 A1 | Aug 2010 | US |