PATENT DOCUMENT

Publication Number: US-9785258-B2
Application Number: US-18903008-A
Country: US
Kind Code: B2

Title: Ambidextrous mouse

Abstract:
An ambidextrous mouse is disclosed. The ambidextrous mouse is configured for both left and right handed use. The mouse may include right handed buttons on the front side of the mouse and left handed buttons on the back side of the mouse. The user may change the handedness of the mouse by rotating the mouse about a vertical axis of the mouse such that the left hand can use the left hand buttons and the right hand can use the right hand buttons. The mouse may include a handedness selection system for configuring the mouse for right handed or left handed use even though the mouse has the capability for both right and left hands.

Claims:
What is claimed is: 
     
       1. A user configurable mouse, comprising:
 a buttonless touch sensitive surface divided into an array of buttonless sensing points, each buttonless sensing point being configured to generate a signal when the buttonless sensing point detects that an object is touching the buttonless sensing point, the signal including information identifying the particular location of the buttonless sensing point, wherein signals from one or more buttonless sensing points of the array of buttonless sensing points are combined to form a buttonless hand signal that defines a two-dimensional image of an object in contact with the buttonless touch sensitive surface of the mouse; and 
 a processor configured to:
 receive the buttonless hand signal; 
 determine from the buttonless hand signal which touch zone amongst one or more touch zones in the touch sensitive surface was selected, wherein each of the one or more touch zones is associated with a plurality of buttonless sensing points; and 
 generate a function signal based on the selected touch zone, wherein each touch zone corresponds to a particular function. 
 
 
     
     
       2. The mouse as recited in  claim 1 , wherein the buttonless sensing points are capacitive buttonless sensing points. 
     
     
       3. The mouse as recited in  claim 1 , wherein the processor is further configured to compare the buttonless hand signal to a plurality of baseline hand signals, determine a handedness of a user holding the mouse based on the comparison, and configure the touch zones of the mouse in accordance with the determined handedness of the user holding the mouse. 
     
     
       4. The mouse as recited in  claim 3 , further comprising motion axes that define directions of movement of the mouse, the motion axes configurable based on the determined handedness of the user. 
     
     
       5. The mouse as recited in  claim 1 , wherein the signal generated by each buttonless sensing point further includes information indicating how much pressure the object is exerting on the buttonless sensing point. 
     
     
       6. The mouse as recited in  claim 1 , wherein the buttonless hand signal is compared to a plurality of baseline hand signals to determine an identity of a user holding the mouse, each baseline hand signal associated with a unique user profile. 
     
     
       7. The mouse as recited in  claim 6 , wherein the touch zones of the mouse are configured in accordance with the identity of the user holding the mouse. 
     
     
       8. The mouse as recited in  claim 6 , further comprising motion axes that define directions of movement of the mouse, the motion axes configurable based on the determined identity of the user. 
     
     
       9. A method for operating a user configurable mouse having a buttonless touch sensitive surface, the method comprising:
 providing one or more touch zones in the buttonless touch sensitive surface, each touch zone configurable for actuating a particular function; 
 dividing the buttonless touch sensitive surface into an array of buttonless sensing regions, wherein each of the one or more touch zones is associated with a plurality of the buttonless sensing regions; 
 configuring each buttonless sensing region to generate a signal when the buttonless sensing region detects that an object is touching the buttonless touch sensitive surface of the buttonless sensing region, the signal including information identifying a particular location of the buttonless sensing region in the buttonless touch sensitive surface; 
 combining signals from one or more buttonless sensing regions of the array of buttonless sensing regions to form a buttonless hand signal that defines a two dimensional image of an object in contact with the mouse; 
 determining which touch zone was selected based on the buttonless hand signal; and 
 generating a function signal based on the selected touch zone. 
 
     
     
       10. The method as recited in  claim 9 , wherein the buttonless sensing regions are configured with capacitive touch sensors. 
     
     
       11. The method as recited in  claim 9 , wherein the buttonless hand signal is compared to a plurality of baseline hand signals to determine a handedness of a user holding the mouse, and wherein the touch zones of the mouse are configured in accordance with the determined handedness of the user holding the mouse. 
     
     
       12. The method as recited in  claim 11 , further comprising motion axes that define directions of movement of the mouse, the motion axes configurable based on the determined handedness of the user. 
     
     
       13. The method as recited in  claim 9 , wherein the signal generated by each buttonless sensing point further includes information indicating how much pressure the object is exerting on the buttonless sensing point. 
     
     
       14. The method as recited in  claim 9 , wherein the buttonless hand signal is compared to a plurality of baseline hand signals to determine an identity of the user holding the mouse, each baseline hand signal associated with a unique user profile. 
     
     
       15. The method as recited in  claim 14 , wherein the touch zones of the mouse are configured in accordance with the identity of the user holding the mouse. 
     
     
       16. The method as recited in  claim 14 , further comprising motion axes that define directions of movement of the mouse, the motion axes configurable based on the determined identity of the user.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is a division of U.S. patent application Ser. No. 10/654,108 filed Sep. 2, 2003 now U.S. Pat. No. 7,808,749, the entire disclosure of which is incorporated herein by reference. 
    
    
     BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates generally to an input device for use in a computer system. More particularly, the present invention relates to an ambidextrous mouse. 
     2. Description of the Related Art 
     Most computer systems, as for example general purpose computers such as portable computers and desktop computers, receive input from a user via an input device such as a mouse. As is generally well known, the mouse allows a user to move an input pointer (e.g., cursor) and to make selections with respect to a graphical user interface (GUI) on a display screen. The mouse typically includes a trackball or optical sensor (located at the bottom side of the mouse) for translating the motion of the users hand into signals that the computer system can use. For example, by positioning the mouse on a desktop and moving it thereon, the user can move an input pointer or cursor in similar directions within the GUI. The mouse also conventionally includes one or more buttons, which are located on the top side of the mouse. These one or more buttons, when selected, can initiate a GUI action such as menu or object selections. The one or more buttons are typically provided by on or more button caps that move relative to the housing (e.g., through an opening in the housing). Mice may also include a scroll wheel to give the user scrolling functionality. The scroll wheel saves time and steps, and allows a user to move through documents by physically rolling the wheel forward or backward-instead of clicking on the scroll bar displayed on the GUI. In the past, scrolling was implemented by selecting the scroll bar with the mouse, and moving the scroll bar on the GUI by moving the mouse up or down. Furthermore, many popular mice offer an asymmetric shape that fits the asymmetric shape of the hand. Unfortunately, an asymmetric mouse is handed, i.e., it can only be used by a right or left hand. 
     Although mice designs such as those described above work well, there are continuing efforts to improve their form, feel and functionality. 
     SUMMARY OF THE INVENTION 
     The invention relates, in one embodiment, to an ambidextrous mouse configured for left and right handed use. The handedness of the mouse is changed by rotating the mouse about a vertical axis of the mouse by 180 degrees. 
     The invention relates, in another embodiment, to a touch sensitive mouse comprising a touch sensitive surface that senses a user&#39;s touch when the user grabs the mouse. 
     The invention relates, in another embodiment, to a computing system. The computing system includes a computer. The computing system also includes a mouse operatively coupled to the computer. The mouse includes a position sensing device and a touch sensing device. The position sensing device is configured to generate tracking signals when the mouse is moved relative to a surface. The touch sensing device is configured to generate hand signals when a hand is placed over the mouse. 
     The invention relates, in another embodiment, to a method for operating a mouse having one or more buttons. The method includes determining if a user is touching the mouse. The method also includes determining the user based on the user&#39;s touch. The method additionally includes configuring the mouse based on the user. 
     The invention relates, in another embodiment, to a user determination method for a mouse. The method includes providing baseline hand signals. The method also includes generating a current hand signal when a user grabs the mouse. The method further includes comparing the current hand signal to at least one baseline hand signal. The method additionally includes determining a characteristic of the user based on the current and baseline hand signals. 
     The invention relates, in another embodiment, to a method for operating a mouse. The method includes determining if a user is touching the mouse. The method also includes determining the handedness of the user based on the user&#39;s touch. The method further includes configuring the motion axes of the mouse based on the handedness of the user. The method additionally includes generating position signals based on mouse movement and the motion axes. Moreover, the method includes sending the position signals to a host. The method also includes forming previous and current hand images and calculating the difference between the previous and current hand images. Thereafter, the method further includes generating control signals based on the difference between the previous and current hand images and sending the control signal to the host. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The invention will be readily understood by the following detailed description in conjunction with the accompanying drawings, wherein like reference numerals designate like structural elements, and in which: 
         FIG. 1  is a perspective diagram of a mouse, in accordance with one embodiment of the present invention. 
         FIG. 2A  is perspective diagram of a unibody ambidextrous mouse, in accordance with one embodiment of the present invention. 
         FIG. 2B  is front or back view of the unibody ambidextrous mouse shown in  FIG. 2A , in accordance with one embodiment of the present invention. 
         FIG. 2C  is right side view of a unibody ambidextrous mouse shown in  FIG. 2A , in accordance with one embodiment of the present invention. 
         FIG. 2D  is a left side view of a unibody ambidextrous mouse shown in  FIG. 2A , in accordance with one embodiment of the present invention. 
         FIG. 2E  is a side view of the unibody ambidextrous mouse shown of  FIG. 2A  in use, in accordance with one embodiment of the present invention. 
         FIG. 2F  is a side view of the unibody ambidextrous mouse shown of  FIG. 2A  in use, in accordance with one embodiment of the present invention. 
         FIG. 2G  is a front view of the unibody ambidextrous mouse shown of  FIG. 2A  in use, in accordance with one embodiment of the present invention. 
         FIG. 3A  is a side elevation view, in cross section of a mouse, in accordance with one embodiment of the present invention. 
         FIG. 3B  is a top view of the mouse shown in  FIG. 3A , in accordance with one embodiment of the present invention. 
         FIG. 3C  is a broken away side elevation view, in cross section of the mouse shown in  FIG. 3A , in accordance with one embodiment of the present invention. 
         FIG. 3D  is a broken away side elevation view, in cross section of the mouse shown in  FIG. 3A , in accordance with one embodiment of the present invention. 
         FIG. 4  is a top view of a mouse, in accordance with another embodiment of the present invention. 
         FIG. 5  is block diagram of a computer system, in accordance with one embodiment of the present invention. 
         FIG. 6  is a perspective diagram of a touch sensitive mouse, in accordance with one embodiment of the present invention. 
         FIG. 7A  is a top view of the touch sensitive mouse of  FIG. 6  producing a first hand signal, in accordance with one embodiment of the present invention. 
         FIG. 7B  is a top view of the touch sensitive mouse of  FIG. 6  producing a second hand signal, in accordance with one embodiment of the present invention. 
         FIG. 8  is a perspective diagram of a mouse, in accordance with one embodiment of the present invention. 
         FIG. 9  is a mouse operational method, in accordance with one embodiment of the present invention. 
         FIG. 10  is a handedness determination method, in accordance with one embodiment of the present invention. 
         FIG. 11  is an actual user determination method, in accordance with one embodiment of the present invention. 
         FIG. 12  is an absolute mapping method, in accordance with one embodiment of the present invention. 
         FIG. 13  is a relative mapping method, in accordance with one embodiment of the present invention. 
         FIG. 14  is a mouse operational method, in accordance with one embodiment of the present invention. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     The invention generally pertains to an ambidextrous mouse that can be used equally by both left and right hands. One aspect of the invention corresponds to a mouse that has the same feel and function for both the left and right hands. Another aspect of the invention corresponds to a mouse having a handedness selection system for configuring the mouse for right and left hand use. Another aspect of the invention corresponds to a mouse having a touch sensing device capable of sensing a user&#39;s touch when a user positions their hand over the mouse. The sensed user&#39;s touch may be used to determine characteristics of the user as well as to identify the user. The sensed user&#39;s touch may also be used to perform button functions. 
     These and other embodiments of the invention are discussed below with reference to  FIGS. 1-14 . However, those skilled in the art will readily appreciate that the detailed description given herein with respect to these figures is for explanatory purposes as the invention extends beyond these limited embodiments. 
       FIG. 1  is a perspective diagram of a mouse  20 , in accordance with one embodiment of the invention. The mouse  20  is a handheld device for providing user commands to a host system. In most cases, the mouse is configured to control movements and/or performing actions on a graphical user interface of a display screen associated with a computer system. The mouse may be coupled to the host system via a wired or wireless connection. In the case of wired connections, the mouse may include a cable for connecting to the host system. In the case of wireless connections, the mouse may include a radio frequency (RF) link, optical infrared (IR) link, Bluetooth link or the like in order to eliminate the cable. In the illustrated embodiment, the mouse includes a wireless link, thus there are no cables or cords extending therefrom. 
     The mouse  20  generally includes a housing  22  that provides a structure for moving the mouse  20  along a surface and for gripping the mouse  20  for movement thereof. The housing  22  also helps to define the shape or form of the mouse  20 . That is, the contour of the housing  22  embodies the outward physical appearance of the mouse  20 . The contour may be rectilinear, curvilinear or both. In most cases, a bottom member  24  of the housing has an external contour that substantially conforms to the contour of a flat surface such as a desktop. In addition, a top member  26  of the mouse housing  22  generally has an external contour that substantially conforms to the contour of the inside surface of a hand. The top member  26  may be symmetric and/or asymmetric. Asymmetric mice are typically handed (e.g., dedicated to either the left or right hand) and symmetric mice are typically ambidextrous (e.g., capable of being used by both the left and right hand). In the illustrated embodiment, the lateral shape of the top member  26  (e.g., cross section in the X-Z plane) is asymmetric in order to provide ergonomic comfort to the asymmetric hand and the longitudinal shape of the top member  26  (e.g., cross section in the Y-Z plane) is symmetric in order to allow the mouse to be used by either hand (ambidextrous). With regards to ambidextrous, the mouse  20  may be rotated about the vertical axis by 180 degrees to change usage from right handed to left handed (or vice versa). 
     The housing  22  also provides a structure for enclosing, containing and/or supporting the components of the mouse  20 . Although not shown, the components may correspond to electrical and/or mechanical components for operating the mouse  20 . For example, the components may include a track ball or optical assembly for monitoring the movement of the mouse  20  along a surface and for sending signals corresponding to the movements to the host system. In most cases, the signals produced by these components direct an input pointer to move on a display screen in a direction similar to the direction of the mouse  20  as it is moved across a surface. For example, when the mouse  20  is moved forward or backwards, the input pointer is moved vertically up or down, respectively, on the display screen. In addition, when the mouse  20  is moved from side to side, the input pointer is moved from side to side on the display screen. 
     The mouse  20  also includes one or more buttons  28  for performing actions on the display screen. In most cases, the user simply presses on the button  28  in order to perform the action. By way of example, the actions may include selecting an item on the screen, opening a file or document, executing instructions, starting a program, viewing a menu, and/or the like. The button functions may also include functions that make it easier to navigate through the host system, as for example, zoom, scroll, open different menus, home the input pointer, perform keyboard related actions such as enter, delete, insert, page up/down, and the like. 
     The buttons  28  generally include one or more actuators (not shown in  FIG. 1 ) for sensing and/or detecting when a user&#39;s finger has pressed on the button  28 . The actuators may be configured to detect when the button  28  moves and/or they may be configured to detect the presence of the user&#39;s hand on the button  28 . The actuators may also be capable of sensing the amount of pressure being exerted on a button  28  by the user&#39;s hand. The actuators may be switches, sensors and/or the like. By way of example, the switches may correspond to tact switches, optical switches, and the like. In addition, the sensors may correspond to optical sensors, resistive sensors, surface acoustic wave sensors, pressure sensors (e.g., strain gauge), capacitive sensors and the like. 
     The position of the buttons  28  relative to the mouse housing  22  may be widely varied. For example, the buttons  28  may be positioned almost anywhere (e.g., top, side, front, or back) on the mouse housing  22  so long as they are accessible to a user during manipulation of the mouse  20 . Any number of buttons may be used. In most cases, the number of buttons correspond to the number of button functionalities offered by the mouse. For handed mice, a single button is typically provided if a single click is desired, and two buttons are provided if right and left clicks are desired. In some cases, more than two buttons are provided if a center click or scroll function is further desired. For ambidextrous mice, the mouse includes one or more buttons on opposing sides of the mouse, as for example on both the front and back of the mouse (e.g., 180 degrees opposite). This is done to ensure that both the left and right hands have a button(s). Like handed mice, each side of the ambidextrous mouse may include multiple buttons (e.g., right click, left click, center click, scroll, etc.). Furthermore, the buttons may be formed from almost any shape (e.g., squares, circles, ovals, triangles, rectangles, polygons, and the like). The shape of multiple buttons may have identical shapes or they may have different shapes. In addition, the size of the buttons may vary according to the specific needs of each device. In most cases, the size of the buttons corresponds to a size that allows them to be easily manipulated by a user (e.g., the size of a finger tip or larger). 
     In the illustrated embodiment, the mouse  20  is an ambidextrous mouse and therefore it includes a separate button  28 A and  28 B on both the front and back of the mouse. The ambidextrous mouse also includes a button  28 C on the side of the mouse. The front button  28 A may be actuated by a right handed user, the back button  28 B may be actuated by a left handed user and the side button  28 C may be actuated by the thumb of both the left and right hands. As should be appreciated, the mouse configuration shown in  FIG. 1  allows for the same “feel” and the same “function” (e.g., left and right handed buttons as well as a thumb button) for both the right handed and left handed users. That is, the mouse contour provides the user with asymmetric comfort to both the left and right handed users while the button configuration allows similar button functionality to both the left and right handed users. As mentioned above, the “handedness” is switched by turning the mouse 180 degrees. 
     The manner in which the buttons  28  may be implemented can be widely varied. For example, they may be selected from button caps, wheels, unified button housings, touch sensitive button housings and/or the like. Button caps or wheels typically work independent of and move relative to the housing  22 . For example, the button cap may pivot or translate relative to the top member  26  and the wheel may rotate relative to the top member  26 . In most cases, the movement of the button cap or wheel actuates one or more switches or sensors enclosed within the housing  22 . For example, the button cap may actuate a tact switch located within the housing and the wheel may actuate an encoder located within the housing. The moving button cap or wheel may or may not produce a mechanical clicking action. As should be appreciated, a mechanical clicking action typically gives audible and tactile feedback to the user when the user presses on the button. In cases where there is no mechanical clicking action, the mouse may include audible and tactile feedback generators so that a user knows when the button has been actuated. 
     Additionally or alternatively, the buttons  28  may be provided by a unified button/housing that incorporates the functionality of a button (or buttons) directly into the housing  22  of the mouse  20 , i.e., the button functionality and a substantial portion of the housing are combined (as opposed to attaching separate button caps or wheels to or through the housing). In a unified button housing, the housing  22  includes a movable member so as to actuate one or more switches or sensors enclosed within the housing  22 . For example, the top member  26  may move relative to the bottom member  24  thus initiating the button function. The manner in which the top member  26  moves relative to the bottom member  24  may be widely varied. For example, the top member  26  may pivot, translate or rotate relative to the bottom member  24 . In a unified button housing, the areas of the housing  22  that move generally take the form of button zones that represent regions of the mouse housing  22  that may be pressed on to implement one or more button functions. In essence, the housing  22  serves as a button (or buttons) of the mouse  20 . Like the button cap and wheel, the unified button housing may or may not produce a clicking action. By way of example, a description of unified button housing such as that described in this paragraph may be found in commonly owned U.S. Pat. No. 6,373,470 and patent application Ser. No. 10/060,712, both of which are herein incorporated by reference. 
     Additionally or alternatively, the buttons  28  may be provided by touch sensitive surfaces on the housing  22 . In this implementation, the switches and/or sensors of the button  28  produce working areas in the form of button zones that activate when a finger sits on, presses, or passes over them. The sensors may be contained within the housing  22  or they may be embedded in the housing  22  itself. Furthermore, the touch sensitive surfaces may be placed on stationary or moving parts of the mouse  20 . In the case of stationary, they may be placed on a mouse where the top member and bottom member are fixed to one another thereby preventing movements therebetween. In the case of moving, they may be placed on a button cap that moves relative to the top member  26 , or a top member  26  that moves relative to the bottom member  24  (e.g., unified button housing). 
     Although not shown in  FIG. 1 , the mouse  20  may further include a handedness selection system for configuring the mouse for right handed or left handed use even though the mouse  20  has the capability for both right and left hands. In one embodiment, the handedness selection system is a user actuated system that allows a user to select which hand configuration is desired (e.g., left or right). The user actuated system may be widely varied. For example, it may include a mechanism or switch arrangement that activates and deactivates the opposing buttons. In one implementation, the mechanism is a shuttle member that includes a tab that physically prevents button movement (or actuation of the corresponding indicator) on one side of the mouse  20  while allowing button movement on the other side of the mouse  20 . In another implementation, the switch is a mechanical, electrical or optical switch that activates or deactivates the indicators associated with the buttons, i.e., opens or closes the circuits associated with the actuators. In both implementations, the right handed button can be turned on and the left handed button off or the right handed button can be turned off the left handed button turned on. As should be appreciated, this is generally done to prevent the palm of the hand from actuating the opposing zone when positioned thereon during use In most cases, the mouse  20  is set as a right handed mouse (e.g., factory default). The switch, however, allows the user to quickly and easily reconfigure the mouse  20  for left handed use if needed. Alternatively, the handedness of the mouse  20  may be selected via software as for example through a control panel located on a graphical user interface. 
     In another embodiment, the handedness selection system is a mouse actuated system that allows the mouse  20  (or system connected thereto) to automatically configure the mouse  20  for right handed or left handed use based on how the user grabs the mouse  20  (e.g., position and pressure). If a left handed user grabs the mouse, then the mouse configures itself to be a left handed mouse during use. If a right handed user grabs the mouse, then the mouse configures itself to be a right handed mouse. Like the user actuated system, the mouse actuated system may be widely varied. For example, the system may include a sensor arrangement arranged to detect the hand on the surface of the mouse when a user grabs the mouse and thereafter make a determination as to whether the hand is left or the right hand based on what was detected. For example, if sensors detect the presence of fingers on area  28 A and a palm on area  28 B then the mouse can determine that the mouse is being used by a right handed user. Once the determination is made, the mouse  20  can turn on the functionality of the buttons  28  corresponding to the hand being used and turn off the functionality of the buttons corresponding to the hand not in use. 
     The sensor arrangement may also be configured to help make a determination as to how the user is holding the mouse. As should be appreciated, each user holds the mouse in a different manner and thus there may be discrepancies between how the user perceives the actuation of a button and how the mouse interprets the actuation of a button. By way of example, the sensor arrangement may help determine that the fingers are positioned in a particular manner with a particular amount of pressure therefore the user is trying to initiate a particular type of action (e.g., make a right click rather than a left click or vice versa). The sensor arrangement may also double as the actuator of a button (e.g., touch sensitive button housing). By way of example, the sensor arrangement may include touch sensitive sensors such as resistive sensors, surface acoustic wave sensors, pressure sensors (e.g., strain gauge), capacitive sensors and the like. An example of touch sensitive mice, which contain sensor arrangements, can be found in commonly owned U.S. patent application Ser. No. 10/157,343, which is herein incorporated by reference. 
       FIGS. 2A-2F  are diagrams of a unibody ambidextrous mouse  50 , in accordance with one embodiment of the present invention. By way of example, the mouse  50  may correspond to the mouse  20  shown in  FIG. 1 . The term “unibody” herein refers to a mouse that integrates at least one button function directly into the mouse housing  52 , i.e., unified button/housing. The term “ambidextrous” herein refers to a mouse that is capable of being used by both a left and right hand  51 , i.e., the mouse is not handed. 
     The unibody ambidextrous mouse  50  generally includes a mouse housing  52  that contains the circuitry of the mouse  50  as well as defines the shape or form of the mouse  50 . With regards to the unibody design, the mouse housing  52  includes a base  54  and a movable button body  56 . The base  54 , which defines the lower portion of the mouse, provides a structure for supporting the various components of the mouse as well as for making moving contact with a surface such as a desktop or mouse pad. By way of example, the base  54  may support a trackball mechanism or an optical sensor so as to track the position of the mouse  50  as it is moved along the surface. The base may also support printed circuit boards (PCB), processors, transmitters, encoders, indicators, and the like. 
     The movable button body  56 , which defines the upper portion of the mouse  50 , provides a structure for moving the mouse  50  along a surface, for gripping the mouse  50  for movement thereof and for implementing the button functions of the mouse  50 . Since the mouse  50  is ambidextrous, the button body  56  is configured to receive either a right or left hand  51 R and  51 L (e.g., ambidextrous). As shown in  FIG. 2B , the lateral shape of the button body  56  is asymmetric. This is generally done to provide ergonomic comfort to the asymmetric hand  51  whether right or left. With regards to the asymmetric lateral shape, the top side  58  of the body  56  includes a slope that tapers from a high point  60  to a low point  62  thus enabling the hand  51  to curve over the body in a natural manner (See  FIG. 2G ). The top side  58  that defines slope may be widely varied. For example, it may be rectilinear, curvilinear or both. The top side  58  may also be substantially convex (protrudes outwardly), concave (protrudes inwardly) or flat. In  FIG. 2B , the top side  58  has a convex shape. The lateral sides  66  of the body  56  may be varied similarly to the top side  58  of the body  56  although the lateral sides  66  are substantially vertical as compared to the horizontal top side  58 . The lateral sides  66  are generally configured to receive the thumb and the outermost finger or fingers during use (See  FIG. 2G ). In some cases, at least the thumb lateral side has a concave shape thus creating a thumb cove for receiving the thumb during use of the mouse  50   
     Unlike the lateral shape, the longitudinal shape of the button body  56  as shown in  FIGS. 2C and 2D  is symmetric. This allows the mouse  50  to be used by either hand  51 R or  51 L (ambidextrous). With regards to the symmetric longitudinal shape, the top side  58  of the body  56  is convex as shown in  FIGS. 2C and 2D . That is, it equally slopes from a high point  68  to a low point  70  on both the front and back sides  72 F and  72 B of the mouse  50  thus enabling the hand  51  to curve over the body  56  in a natural manner (See  FIGS. 2E and 2F ). The mouse  50  may be rotated about the vertical axis by 180 degrees to change usage from right handed to left handed or vice versa (See  FIGS. 2E and 2F ). 
     Because the mouse  50  is a unibody mouse, the button body  56  is configured to move relative to the base  54 . The portions of the body  56  that move generally take the form of button zones  75  that represent regions of the body  56  that may be pressed on to implement one or more button functions. The movement of the body  56  relative to the base  54  may be provided through one or more degrees of freedom (DOF). The degrees of freedom may be implemented through one or more rotations, pivots, translations, flexes relative to the base  54 . By way of example, the button body  56  may be coupled to the base  54  via one or more pin joints, slider joints, ball and socket joints, flexure joints and/or the like. In addition, the mouse may include combinations such as pivot/translating joint, pivot/flexure joint, pivot/ball and socket joint, translating/flexure joint, a flexure joint, a ball and socket joint, and the like. 
     In the illustrated embodiment, the mouse  50  includes a pair of button zones  75  on both the front and back side  72 F and  72 B of the mouse  50 . The button zones  75 A and  75 B on the front side  72 F are used by right handed users and the button zones  75 C and  75 D on the back side  72 B are used for left handed users. As should be appreciated, the pair of button zones may provide a right and left click similar to that of conventional mice. In order to provide this configuration of button zones  75 , the body  56  is configured to have four movements: front left tilt, front right tilt, back left tilt, and back right tilt. In order to provide these movements, the body  56  is configured to pivot in two directions relative to a base  54 . As shown by the arrows, the body  56  can pivot about a first axis  80  and a second axis  82 . The positions of the two axis  80 ,  82  may be widely varied so long as they allow the four movements described above. In the illustrated embodiment, the two axes  80 ,  82  are orthogonal (or perpendicular) to one another and centrally located relative to the mouse  50 . As such, the shape of the button zones  75 A-D are somewhat similar. 
     During right handed use, the body  56  is capable of moving between an initial position (no pivot) and a left tilt position (pivot about both axis) when a force is applied to a left front portion  75 B of the body  56  and between an initial position and a right tilt position (pivot about both axis) when a force is applied to a right front portion  75 A of the body  56 . During left handed use, the body  56  is capable of moving between an initial position (no pivot) and a left tilt position (pivot about both axis) when a force is applied to a left back portion  75 C of the body  56  and between an initial position and a right tilt position (pivot about both axis) when a force is applied to a right back portion  75 D of the body  56 . The force may be any downward force on the mouse  50 , whether from a finger, palm or hand. The button body  56  may be spring biased so as to place the button body  56  in the initial position. 
     The button functions of the button zones  75 A-D are implemented via actuators located underneath the button zones  75 A-D. The actuators may be any combination of switches and sensors. Switches are generally configured to provide pulsed or binary data such as activate (on) or deactivate (off). The sensors, on the other hand, are generally configured to provide continuous or analog data. In one implementation, when the user presses on the particular button zone  75  an underside portion of the body  56  is configured to contact or engage (and thus activate) a switch located underneath the particular button zone  75 . By way of example, the switch may correspond to a tact switch. In another implementation, when a user presses on the button zone  75  one or more sensors are configured to monitor the pressure exerted by the finger(s) on the surface of the mouse  50  proximate the button zone  75  as well as the position of the finger(s) on the surface of the mouse  50  proximate the button zone  75 . By way of example, the sensors may be capacitance sensors. These and other embodiments will be described in greater detail below. 
     In addition to buttons  75 , the mouse  50  includes a wheel  86  configured to generate a control function when rotated. In general, the wheel  86  is arranged to rotate around an axis  88  in order to implement the control function. The position of the wheel  86  relative to the mouse housing  52  may be widely varied. For example, the wheel  86  may be placed at any external surface of the mouse housing  52  that is accessible to a user during manipulation of the mouse  50  (e.g., top, side, front, or back). In the illustrated embodiment, the wheel  86  is positioned on the side  66 A of the body  56  in a location proximate the middle of the mouse  50  (e.g., between the front and back  72 F and  72 B) so that it can receive the thumb of either hand (e.g., left or right) when the hand  51  is placed on the top side  58  of the mouse  50 . When the thumb is received, the thumb may be used to rotate the wheel  86  in order to generate the control function. As should be appreciated, this position allows ambidextrous use. 
     The wheel  86  may be widely varied. For example, the wheel  86  may be configured to rotate about a horizontal (e.g., X or Y) or vertical axis (e.g., Z). Furthermore, the wheel  86  may protrude outwardly from the housing  52 , be flush with the housing  52  or it may even be recessed within the housing  52 . In the embodiment of  FIG. 2 , the wheel  86  protrudes from housing  52  thus making it easily accessible to a user&#39;s thumb. The wheel  86  also rotates about the Y axis so that the thumb can be moved up and down along the side of the mouse in order to operate the scroll wheel (e.g., moving forwards to back in the case of the X and Z axis is generally more difficult to manage with the thumb). The wheel  86  may also include tactile features  90 , which provide tangible surfaces that help the user manipulate the wheel  86  (e.g., knurl). Although not shown, the wheel  86  may further include a clicking action that inform the user of its rotatable position during rotation thereof. Another example of a wheel  86  which may be used can be found in commonly owned patent application Ser. No. 10/060,712, which is herein incorporated by reference. 
     The control function initiated by the wheel may be widely varied. The control function may be implemented incrementally or continuously during rotation of the wheel  86 . For example, the control function may be used to control various applications associated with the computer system to which the mouse is connected. The control function may correspond to a scrolling feature. The term “scrolling” as used herein generally pertains to moving displayed data or images (e.g., text or graphics) across a viewing area on a display screen so that a new set of data (e.g., line of text or graphics) is brought into view in the viewing area. In most cases, once the viewing area is full, each new set of data appears at the edge of the viewing area and all other sets of data move over one position. That is, the new set of data appears for each set of data that moves out of the viewing area. In essence, the scrolling function allows a user to view consecutive sets of data currently outside of the viewing area. The viewing area may be the entire viewing area of the display screen or it may only be a portion of the display screen (e.g., a window frame). 
     The direction of scrolling may be widely varied. For example, scrolling may be implemented vertically (up or down) or horizontally (left or right). In the case of vertical scrolling, when a user scrolls down, each new set of data appears at the bottom of the viewing area and all other sets of data move up one position. If the viewing area is full, the top set of data moves out of the viewing area. Similarly, when a user scrolls up, each new set of data appears at the top of the viewing area and all other sets of data move down one position. If the viewing area is full, the bottom set of data moves out of the viewing area. The scrolling feature may also be used to move a Graphical User Interface (GUI) vertically (up and down), or horizontally (left and right) in order to bring more data into view on a display screen. By way of example, the scrolling feature may be used to help perform internet browsing, spreadsheet manipulation, viewing code, computer aided design, and the like. The direction that the wheel  86  rotates may be arranged to control the direction of scrolling. For example, the wheel  86  may be arranged to move the GUI vertically up when rotated counterclockwise, and vertically down when the rotated clockwise (or vice versa). 
       FIGS. 3A-3D  are diagrams of a unibody mouse  100 , in accordance with one embodiment of the present invention. By way of example the mouse may correspond to any of the mice previously described. The mouse generally includes a base  102  and a button body  104 . The button body  104  is pivotally coupled to the base  102  about an axis  106 . As such, the button body  104  may pivot forwards in order to actuate a first button zone or backwards to actuate a second button zone. When pivoted forward, a front portion  108  of the button body  104  engages a first switch  110 A located within the space  112  defined by the base  102  and the button body  104 . When pivoted backwards, a back portion  114  of the button body  104  engages a second switch  110 B located within the space  112  defined by the base  102  and button body  104 . More particularly, nubs  116  of the button body  104  contacts an actuator  118  that protrudes from the switches  110 . When the actuator  118  is pushed down, the switch  110  is configured to generate a control signal. The first switch  110 A generates a first control signal associated with the first button zone and the second switch  110 B generates a second button signal associated with the second button zone. Both switches  110  are typically attached to the base  102 . 
     The mouse  100  further includes a button zone selection mechanism  120  for configuring the button zones of the mouse  100 . The mechanism  120  allows the user to activate and/or deactivate the button zones  100 . This particular feature is advantageous in ambidextrous mice where it would be beneficial to turn off right handed button zones when using the mouse as a left handed mouse and to turn off left handed button zones when using the mouse as a right handed button. In the illustrated embodiment, the mechanism  120  is configured to activate one of the button zones while deactivating the other button zone. The mechanism generally includes a shuttle plate  122  that translates relative to the base  102  or button body  104 . In  FIG. 3 , the shuttle plate  122  is slidably coupled to the base  102 . The shuttle plate  122  includes a first cantilever  124 A and a second cantilever  124 B, which are disposed at opposing ends of the shuttle plate  122 . The shuttle plate  122  additionally includes first and second abutment stops  126 A and  126 B disposed at opposing ends of the shuttle plate  122 . As shown, the cantilevers  124  are spatially separated from the abutment stops  126  thereby forming voids therebetween. 
     The cantilevers  124  and abutment stops  126  are configured to slide between the switches  110  and the nubs  116  on each side of the mouse  100 . In order to turn off a button zone, the abutment stop  126  is slid between the housing of the switch  110  and the nub  116 . The abutment stop  126  therefore prevents the nub  116  from contacting the actuator  118  when the corresponding button zone is selected. That is, the abutment stop  126  stops the motion of the nub  116  before it reaches the actuator  118 . Because the actuator  118  cannot be contacted, no control signals can be generated and thus the button zone is deactivated. In order to activate a button zone, the cantilever  124  is slid between the nub  116  and the actuator  118 . The cantilever  124  is an intermediate member that is capable of transmitting motion from the nub  116  to the actuator  118  of the switch  110 . Because the actuator  118  may be actuated via the nub/cantilever  116 / 124 , control signals can be generated and thus the button zone is activated. 
     To elaborate further, the shuttle plate  122  is connected to a support arm  128  and the support arm  128  is connected to a user actuated switch  130 . The switch  130  is configured to move between a first position and a second position and the support arm  128  is configured to transmit the motion of the switch  130  to the shuttle plate  122 . The switch  130  can therefore be used to slide the shuttle plate  122  to its various locations within the mouse  100  in order to activate and deactivate the button zones. In the illustrated embodiment, the switch  130  is capable of moving the shuttle plate  122  relative to both switches  110  and both nubs  116  so that the shuttle plate  122  turns off one of the button zones while turning on the other button zone. That is, the user simply moves the switch  130  to a the first position in order to activate the first button zone and deactivate the second button zone, and to the second position in order to activate the second button zone and deactivate the first button zone. For example, when the switch  130  is moved to the first position, the support arm  128  causes the shuttle plate  122  to translate towards the front of the mouse  100  thereby placing the abutment stop  126 A between the nub  116 A and the housing of switch  110 A and the cantilever  124 B between the actuator  118 B and the nub  116 B. Furthermore, when the switch  130  is moved to the second position, the support arm  128  causes the shuttle plate  122  to translate towards the back of the mouse  100  thereby placing the abutment stop  126 B between the nub  116 B and the housing of switch  110 B and the cantilever  124 A between the actuator  118 A and the nub  116 A. 
     The mechanism may be widely varied. For example, the components may be integrally formed as a unit or they may be separate components that work together (e.g., linkage). Furthermore, the components may be substantially free moving or they may be movably restrained. For example, the shuttle plate  122  may move within a guide formed by the base or body. Moreover, the switch  130  may be configured to translate, or rotate in order to move the shuttle plate. In the illustrated embodiment, the switch  130  translates within a recess  132  formed in the bottom side of the base  102 . The recess  132  is generally longer than the switch  130  so that the switch  130  can be slid therein. In most cases, the switch  130  is recessed within the bottom side of the base  102  so that the switch  130  won&#39;t protrude therefrom. As should be appreciated, the bottom side of the base  102  is generally moved along a surface and therefore any protrusions would impede its motion or cause unwanted switches. In some cases, the switch  130  may include tactile surfaces such as a knurled surface. 
       FIG. 4  is top view of a unibody mouse  140 , in accordance with an alternate embodiment of the present invention. Unlike the unibody mouse of  FIG. 3  that includes two button zones, the unibody mouse of  FIG. 4  includes four button zones. In this embodiment, the button body  104  is configured to pivot about two axis  106  and  107  in order to cause a front tilt right, front tilt left, back tilt right and back tilt left. Each tilt causes the body  104  to contact one of four switches  110 A-D in a manner similar to that described above. In this embodiment, the shuttle plate  142  includes an abutment stop  144  and a pair of cantilevers  146  on each side. Each of the cantilevers  146  corresponds to a different switch  110  while the abutment stops  144  each correspond to the switches  110  on each side of the mouse  100 . As such, when the shuttle plate  142  translates towards the front of the mouse  140  the abutment stop  144 B is placed between the nub (not shown) and the housing of switches  110 C and  110 D thereby deactivating the button zones in the back of the mouse  140 , and the pair of cantilevers  146 A and  146 B are placed between the nub and actuator  118  of switches  110 A and  110 B thereby activating the button zones in the front of the mouse  140 . Furthermore, when the shuttle plate  142  translates towards the back of the mouse  140  the abutment stop  144 A is placed between the nub and housing of switches  110 A and  110 B thereby deactivating the button zones in the front of the mouse, and the pair of cantilevers  146 C and  146 D are placed between the nub and the actuator  118  and of switches  110 C and  110 D thereby activating the button zones in the back of the mouse  140 . 
       FIG. 5  is a block diagram of a computing system  150 , in accordance with one embodiment of the present invention. The system  150  includes a mouse  152  and a computer  154 , including but not limited to, a desktop computer, lap top computer, hand held computer, and the like. By way of example, the computer  154  may correspond to any Apple or PC based computer. The computer  154  generally includes a processor  156  configured to execute instructions and to carry out operations associated with the computer system  150 . For example, using instructions retrieved for example from memory, the processor  156  may control the reception and manipulation of input and output data between components of the computing system  150 . The processor  156  can be a single-chip processor or can be implemented with multiple components. 
     In most cases, the processor  156  together with an operating system operates to execute computer code and produce and use data. The computer code and data may reside within a program storage  158  block that is operatively coupled to the processor  156 . Program storage block  158  generally provides a place to hold data that is being used by the computer system  150 . By way of example, the program storage block  158  may include Read-Only Memory (ROM), Random-Access Memory (RAM), hard disk drive and/or the like. The computer code and data could also reside on a removable program medium and loaded or installed onto the computer system when needed. Removable program mediums include, for example, CD-ROM, PC-CARD, floppy disk, magnetic tape, and a network component. 
     The computer  154  also includes an input/output (I/O) controller  160  that is operatively coupled to the processor  156 . The (I/O) controller  160  may be integrated with the processor  156  or it may be a separate component as shown. The I/O controller  160  is generally configured to control interactions with one or more I/O devices (e.g., mouse  152 ) that can be coupled to the computer  154 . The I/O controller  160  generally operates by exchanging data between the computer  154  and the I/O devices that desire to communicate with the computer  154 . The I/O devices and the computer  154  typically communicate through a data link  162 . The data link  162  may be a one way link or two way link. In some cases, the I/O devices may be connected to the I/O controller  160  through wired connections. In other cases, the I/O devices may be connected to the I/O controller  160  through wireless connections. By way of example, the data link  162  may correspond to PS/2, USB, IR, RF, Bluetooth or the like. 
     The computer  154  also includes a display controller  164  that is operatively coupled to the processor  156 . The display controller  164  may be integrated with the processor  156  or it may be a separate component as shown. The display controller  164  is configured to process display commands to produce text and graphics on a display device  166 . The display device  166  may be integral with the computer or it may be a separate component of the computer  154 . By way of example, the display device may be a monochrome display, color graphics adapter (CGA) display, enhanced graphics adapter (EGA) display, variable-graphics-array (VGA) display, super VGA display, liquid crystal display (e.g., active matrix, passive matrix and the like), cathode ray tube (CRT), plasma displays and the like. 
     The mouse  152 , on the other hand, generally includes a position sensing device  170  and a touch sensing device  172 , both of which are operatively coupled to a microcontroller  174 . The position sensing device  170  is configured to generate tracking signals when the mouse  152  is moved along a surface. The tracking signals may be used to control the movement of a pointer or cursor on the display screen  166 . The tracking signals may be associated with a Cartesian coordinate system (x and y) or a Polar coordinate system (r, θ). By way of example, the position sensing device  170  may correspond to a conventional trackball or optical assembly. 
     The touch sensing device  172  is configured to generate hand signals when the hand is positioned over or on the mouse  152 . The hand signals may be used to initiate button functions or to make a determination as to which user is using the mouse  152 . By way of example, the button functions may include moving an object on the display screen, selecting an item on the display screen, opening a file or document, launching a program, executing instructions, viewing a menu on the display screen, and/or the like. The button functions may also include functions associated with keyboard related actions such as enter, delete, insert, page up/down, and the like. The button functions may further include gesturing. With regards to the determination, the user may correspond to the identity of the user (e.g., Bob or Carol) or to a type of user (e.g., left or right handed user). These and other embodiments will be described in greater detail below. 
     The touch sensing device  172  generally includes one or more sensors for detecting the proximity of the finger thereto and/or the pressure exerted thereon. By way of example, the sensors may be based on resistive sensing, surface acoustic wave sensing, pressure sensing (e.g., strain gauge), optical sensing, capacitive sensing and the like. Depending on the type of sensor used, the hand signals may be in the form of position signals as for example when the sensors are set up in a grid or pixilated format. In one particular embodiment, the touch sensing device uses capacitance sensors. As should be appreciated, whenever two electrically conductive members come close to one another without actually touching, their electric fields interact to form capacitance. In one configuration, the first electrically conductive member is one or more electrodes or wires and the second electrically conductive member is the finger of the user. Accordingly, as the finger approaches the surface of the mouse, a tiny capacitance forms between the finger and the electrodes/wires in close proximity to the finger. The capacitance in each of the electrodes/wires is measured by the microcontroller  174 . By detecting changes in capacitance at each of the electrodes/wires, the microcontroller  174  can determine the user type and button selections when the finger or palm is placed on the mouse  152 . 
     The microcontroller  174  is configured to acquire the data from the sensing devices  170  and  172  and to supply the acquired data to the processor  156  of the computer  154 . In one embodiment, the microcontroller  174  is configured to send raw data to the processor  156  so that the processor  156  processes the raw data. For example, the processor  156  receives data from the microcontroller  174  and then determines how the data is to be used within the computer system  152 . In another embodiment, the microcontroller  174  is configured to process the raw data itself. That is, the microcontroller  174  reads the pulses from the sensors of the sensing devices  170  and  172  and turns them into data that the computer  154  can understand. By way of example, the microcontroller  174  may place the data in a HID format (Human Interface Device). The microcontroller  174  may also convert the acquired signals into other forms of signals before sending them to the processor  156 . For example, the microcontroller  174  may convert hand signals into button signals. With regards to button signals, the microcontroller  174  may set the distribution of button zones. The button zones generally represent a more logical range of user inputs than the sensors themselves. The microcontroller  174  may also be used to perform user type recognition, i.e., recognizes if the mouse is being used as a right or left hand by distinguishing fingers and palm of hand. The microcontroller  174  typically includes an application specific integrated circuit (ASIC) that is configured to monitor the signals from the sensing devices  170  and  172 , to process the monitored signals and to report this information to the processor (e.g., x, y, button, left, right, etc.). By way of example, this may be implemented through Firmware. 
     In one embodiment, program storage block  158  is configured to store a mouse program for controlling information from the mouse  152 . Alternatively or additionally, a mouse program or some variation thereof may be stored in the mouse  152  itself (e.g., Firmware). The mouse program may contain hand profiles associated with hand actions. The hand profiles generally describe how the mouse  152  is held while the hand actions describe what type of action to perform based on the hand profile. In one implementation, the hand profiles may be accessed by a user through a hand menu, which may be viewed on the display device as part of a GUI interface. The hand menu may include hand settings pertaining to the hand profiles and hand actions. In fact, the hand menu may serve as a control panel for reviewing and/or customizing the hand settings, i.e., the user may quickly and conveniently review the hand settings and make changes thereto. Once changed, the modified hand settings will be automatically saved and thereby employed to handle future mouse processing. The hand menu may also be used as part of a training sequence for training the mouse  152  to a particular user type. 
       FIG. 6  is a perspective diagram of a touch sensitive mouse  180 , in accordance with one embodiment of the present invention. The touch sensitive mouse  180  includes a touch sensitive surface  182  that senses surface contact so that the mouse  180  (or host) knows where and when the fingers and palm are touching the mouse  180  and how much pressure there is at each point. The touch sensitive surface  182  is generally provided by the mouse housing  184  and a sensor arrangement  186 . The sensor arrangement  186  may be integrally formed into the wall of the mouse housing  184  or they may be located behind the wall within the enclosed space defined by the mouse housing  184  (e.g., adjacent the interior wall). The sensor arrangement  186  is configured to detect the presence of an object such as a finger or palm of the hand as for example when the hand grasps the mouse housing  184 . The sensor arrangement  186  may also detect the pressure being exerted on the mouse by the finger or palm of the hand. By way of example, the sensor arrangement  186  may be based on resistive sensing, surface acoustic wave sensing, pressure sensing (e.g., strain gauge, pressure plates, piezoelectric transducers or the like), heat sensing, optical sensing, capacitive sensing and/or the like. 
     As shown, the sensor arrangement  186  is divided into several independent and spatially distinct sensing points (or regions)  188  that are positioned around the periphery of the mouse  180 . The sensing points  188  are generally dispersed about the mouse  180  with each sensing point  188  representing a different position on the surface of the mouse  180 . The sensing points  188  may be positioned in a grid or a pixel array where each pixilated sensing point  188  is capable of generating a signal. The number and configuration of the sensing points  188  may be widely varied. The number and configuration of sensing points  188  generally depends on the desired resolution of the touch sensitive surface  182 . In the simplest case, a signal is produced each time the finger is positioned over a sensing point  188 . When an object is placed over multiple sensing points  188  or when the object is moved between or over multiple sensing points  188 , multiple position signals are generated. In most cases, the signals are monitored by a control system (not shown) that converts the number, combination and frequency of the signals into control information. As should be appreciated, the number, combination and frequency of signals in a given time frame may indicate size, location, direction, speed, acceleration and the pressure of the finger or palm on the mouse  180 . By way of example, the control system may be a microcontroller located on the mouse and/or a processor of a host device such as a computer. 
     In the illustrated embodiment, the sensing points  188  are based on capacitance. As should be appreciated, whenever two electrically conductive objects come near one another without touching, their electric fields interact to form capacitance. By detecting when the capacitance changes (e.g., increase, decreases) the mouse&#39;s electronics can determine when and where the finger and palm of the hand are touching. Any conventional form of capacitance sensing may be used, including but not limited to capacitive sensing methods as found in touch pads, key boards, and the like. The simplicity of capacitance allows for a great deal of flexibility in design and construction of the sensor arrangement (e.g., mutual capacitance sensing, capacitance to ground sensing, etc.). 
     In the illustrated embodiment, the sensor arrangement  186  includes a two layer grid of spatially separated electrodes or wires  190  and  192  that are connected to a microcontroller (not shown). The upper layer includes electrodes  190  in rows while the lower layer includes electrodes  192  in columns (e.g., orthogonal). As should be appreciated, when a portion of a hand nears the intersection of two electrodes  190  and  192 , the capacitance at the electrodes  190  and  192  changes since the hand has very different dielectric properties than air. These changes can be used to determine the positions of the finger and/or palm when they grab the mouse  180 . In some cases, the amount of capacitance to each of the electrodes  190  and  192  can be measured by the microcontroller when a portion of a hand nears the intersection of two electrodes  190  and  192  (e.g., sensing point). In other cases, capacitance from each of the row electrodes  190  to each of the column electrodes  192  can be measured by the microcontroller when a portion of a hand nears the intersection of two electrodes  190  and  192  (e.g., sensing point). 
     The signals generated at the sensing points  188  may be used to determine how the user is holding the mouse  180 . By way of example and referring to  FIGS. 7A and 7B , each portion of the hand in contact with the mouse produces a contact patch area  196 . Each of the contact patch areas  196  covers several sensing points  188  thus generating several position signals. The position signals may be grouped together to form a hand signal that represents how the user is holding the mouse  180 . In essence, the hand signal is a pixilated image of the hand in contact with the mouse  180 . A first hand signal may be compared to a second hand signal to determine button selection or user type. For example, the hand signal generated in  FIG. 7A  may be compared to the hand signal generated in  FIG. 7B . The first hand signal generally corresponds to the most current hand signal while the second hand signal generally corresponds to a previous hand signal. The previous hand signal may be an in use hand signal or a baseline hand signal that was preset or trained before use. In most cases, the in use hand signal is the last hand signal before the current hand signal. 
     In one embodiment, the difference between a current hand signal ( FIG. 7A ) and a last hand signal ( FIG. 7B ) may indicate the user&#39;s desire to implement a button function. As should be appreciated, when a user presses on the surface of the mouse the area of some of the contact patch areas  196  increases thereby activating more sensing points  188  than previously activated. A significant difference indicates the user&#39;s desire to implement a button function. Changes between contact patch areas may further indicate the particular button function. 
     In relative mapping, the difference at each particular contact patch area  196  is compared relative to the other particular contact patch areas  196 . For example, if the contact patch area for the right finger grows more significantly than the contact patch area for the left finger between first and second signals then the particular button function may be a right click. Furthermore, if the contact patch area for the left finger grows more significantly than the contact patch area for the right finger between first and second signals then the particular button function may be a left click. 
     In absolute mapping, the mouse  180  includes one or more button zones that represent regions of the mouse  180  that when selected implement the particular button function associated with the button zone (e.g., right click, left click). The button zone having the contact patch area  196  with the most significant change between first and second hand signals is the one that is typically implemented. The user may customize the mouse  180  by setting the configuration of button zones before use. For example, the mouse  180  may be configured as a one button mouse, two button mouse, three button mouse or the like. The mouse  180  may also be configured with scrolling zones. The position and size of the button zones may also be customizable. For example, the mouse  180  may be configured with button zones on only the front or back of the mouse (e.g., left hand or right hand button) or on the side of the mouse (e.g., thumb button). The customization may be performed by the user and/or the mouse  180 . 
     In another embodiment, the similarity between a baseline hand signal and a current hand signal may indicate the user&#39;s desire to implement a control function (e.g., gesturing). For example, if the baseline hand signal corresponds to a right click and the current hand signal is similar to the baseline hand signal then the mouse can implement a right click. The user may customize the mouse by setting the baseline hand signal before use (e.g., calibration). 
     In another embodiment, the similarity between a baseline hand signal and a current hand signal may also indicate the user type (e.g., handedness of the user or the identity of the user). For example, if the baseline hand signal corresponds to a left hand user and the current hand signal is similar to the baseline hand signal then the mouse knows that the user is left handed. The user may customize the mouse by setting the baseline hand signal before use (e.g., calibration). 
       FIG. 8  is a perspective diagram of a mouse  200 , in accordance with one embodiment of the present invention. As shown, the mouse  200  includes a body  202  that moves relative to base  204 . In particular, the body  202  is capable of pivoting about a pair or axes  206  and  208 . The pivoting nature allows for a plurality of tilting actions, i.e., a front right tilt, a front left tilt, a back right tilt and a back left tilt. The mouse  200  also includes a pair of capacitance sensing devices  210  located at the front and back of the mouse  200 . The capacitance sensing devices  210  are configured to monitor a user&#39;s touch. Each of the capacitance sensing devices includes a plurality of electrodes  212  that generate signals when the hand nears the body  202 . 
     The signals generated from the electrodes  212  may be used by the mouse to perform button functions as well as to determine the user type. For example, the electrodes  212  may generate a first group of signals for a right handed user and a second set of signals for a left handed user. As should be appreciated, right handed users typically place their fingers on the front and their palm on the back of the mouse while left handed users typically place their fingers on the back and the palm on the front of the mouse. Furthermore, the electrodes  212  may generate a different group of signals for each tilting action. These signals may be processed by the mouse system to determine what button function to implement for the tilting action. For example, when the mouse  200  is tilted to the front right, the signals may be used to generate a right click for a right handed user and when the mouse  200  is tilted to the front left, the signals may be used to generate a left click for a right handed user. Furthermore, when the mouse  200  is tilted to the back right, the signals may be used to generate a right click for a left handed user and when the mouse  200  is tilted to the back left, the signals may be used to generate a left click for a left handed user. 
     Because the mouse  200  does not produce a click for each tilt, it may include a tactile click generator electrically controlled for example using a solenoid actuator on the inside of the mouse housing. When the mouse (e.g., firmware) decides a click has been made, the plunger of the solenoid actuator taps a rib inside the mouse housing which provides tactile and audible feedback to the user (e.g., simulates a clicking action). A buzzer may also be used to give audio feedback. 
     It should be noted that a dual pivoting body is not a limitation. In some cases, the body may be configured to pivot about a single axis, i.e., pivoting about axis  206  is eliminated. In other cases, other movements other than pivoting may be implemented. Furthermore, the body may be configured to not move at all. 
       FIG. 9  is a mouse operational method  220  in accordance with one embodiment of the present invention. By way of example the method  220  may be performed using the system shown in  FIG. 5 . The method  220  generally begins at block  222  where the mouse is in standby. Standby generally implies that the mouse is in a state of readiness waiting for something to happen, i.e., a user initiating an action therewith. Following block  222 , the process flow proceeds to block  224  where a determination is made as to whether the user is touching the mouse. This is generally accomplished with touch sensing device capable of generating signals when a hand nears the mouse and a control system configured to monitor the activity of the touch sensing device. If it is determined that the user is not touching the mouse, then the process flow proceeds back to block  222  thereby keeping the mouse in standby. If it is determined that the user is touching the mouse, then the process flow proceeds to block  226  where the user is determined. 
     In one embodiment, block  226  includes determining the handedness of the user. In another embodiment, block  226  includes determining the actual user (e.g., Bob or Carol). The determination may be performed automatically or it may be selective, i.e., user initiated. Once the user is determined, the process flow proceeds to block  228  where the mouse is configured based on the user. In one embodiment, the motion axes of the mouse are configured based on the handedness of the user. In another embodiment, the button zones of the mouse are configured based on the handedness of the user. In other embodiments, the motion axes as well as the button zones are configured based on the actual user (e.g., Bob or Carol). The button zones may be based on relative mapping or absolute mapping. 
     Following block  228  the process flow proceeds to simultaneously occurring blocks  230  and  232 . In block  230 , the movement of the mouse is monitored. This may be accomplished with a position sensing device such as a track ball or optical sensor. In block  232 , the hand action of the user is monitored. This may be accomplished by a touch sensing device that senses user touch and generates hand signals based on the user&#39;s touch. Following block  230 , the process flow proceeds to block  234  where position signals are generated based on the mouse movement. For example, in the case of a Cartesian coordinate based system the position sensing device may generate X, Y signals. Following block  232 , the process flow proceeds to block  236  where button signals are generated based on the hand action. For example a first hand signal may be compared to a second hand signal and differences or similarities therebetween can be used to determine what button signal to generate. After blocks  234  and  236 , the position and button signals may be used to perform actions in a host system. For example, the position signals may be used to move a cursor and the button signals may be used to make selections in a graphical user interface. 
       FIG. 10  is a handedness determination method  240 , in accordance with one embodiment of the present invention. By way of example, the method may be included in block  226  of  FIG. 9 . The method generally begins at block  242  where a current hand signal is generated. The hand signal is typically generated by a touch sensing device of the mouse. Following block  242  the process flow proceeds to block  244  where the current hand signal is compared to baseline left and/or right hand signals. This is typically accomplished by the mouse microcontroller ( 174 ), but it may also be processed by the host system ( 154 ) as well. Following block  244  the process flow proceeds to block  246  where a determination is made as whether the current hand signal is similar to the baseline left hand signal. Similar to the previous block, this may be accomplished by the mouse microcontroller ( 174 ) or the host system ( 154 ). If the current hand signal is similar, then the process flow proceeds to block  248  where the mouse is configured for left hand use. That is, the motion axes and button zones are set for the left handed user. If the current hand signal is not similar to the left hand profile, then the process flow proceeds to block  250  where a determination is made as to whether the current hand signal is similar to a baseline right hand signal. If the current hand signal is similar then the process flow proceeds to block  252  where the mouse is configured for right hand use. If the current hand signal is not similar to the right hand profile then the process flow proceeds back to block  242  or in some cases one configuration may be chosen as a default (e.g., right hand may be the default) 
       FIG. 11  is an actual user determination method  260 , in accordance with one embodiment of the present invention. By way of example, the method may be included in block  226  of  FIG. 9 . The method is generally performed in multiple steps including a calibration step  262  and an in use step  264 . The calibration step  262  is performed before the use step  264 . The calibration step is generally performed once while the use step is continuously used during mouse use. The calibration step  262  generally begins at block  266  where baseline hand signals are generated for each user. Following block  266  the process flow proceeds to block  268  where the user settings (e.g., motion axis, button zones) for the baseline hand signal are configured. Following block  268 , the process flow proceeds to block  270  where the baseline hand signal and user settings are stored in a user profile database. 
     The use step  264  generally begins at block at block  272  where a current hand signal is generated. Following block  272 , the process flow proceeds to block  274  where the current hand signal is compared to the baseline hand signals stored in the user profile database. Following block  274 , the process flow proceeds to block  276  where the baseline hand signal most similar to the current hand signal is selected. If there is no signal similar to the current signal then the user may be prompted to go through the calibration step  262 . Following block  276 , the process flow proceeds to block  268  where the mouse is configured according to the user settings associated with the selected baseline hand signal. 
       FIG. 12  is an absolute mapping method  280 , in accordance with one embodiment of the present invention. By way of example, the method  280  may be included in block  232  of  FIG. 9 . The method  280  generally begins at block  282  where one or more button zones are provided. Button zones are area of the mouse that may be actuated by a user to implement an action. The button zones may be based on a training sequence, selected from a menu, or they may be preset. Following block  282  the process flow proceeds to block  284  where a hand signal is generated. Following block  284 , the process flow proceeds to block  286  where a determination is made as to which button zone was selected based on the hand signal. For example, position coordinates generated by touch may correspond to a particular button zone. Following block  286 , the process flow proceeds to block  288  where a button signal is generated based on the selected button zone. 
       FIG. 13  is a relative mapping method  290 , in accordance with one embodiment of the present invention. By way of example, the method may be included in block  232  of  FIG. 9 . The method  290  generally begins at block  292  where a first hand signal is generated. Following block  292 , the process flow proceeds to block  294  where a second hand signal is generated. In this embodiment, the first hand signal generally corresponds to a hand signal generated before the second hand signal. For example, the first hand signal may be the last hand signal while the second hand signal may be the current hand signal. Following block  294 , the process flow proceeds to block  296  where the difference between the current hand signal and the baseline hand signal is determined. If the difference is within a threshold value, then the process flow proceeds back to block  294 . This serves as a filter element or noise reduction. As should be appreciated, the user tends to continuously adjust hand position during use even if they are not making a selection (e.g., noise). If the difference is outside a threshold value then the process flow proceeds to block  298  where a button signal is generated based on the difference between the first hand signal and the second hand signal. 
       FIG. 14  is a mouse operational method  300 , in accordance with one embodiment of the present invention. By way of example the method  300  may be performed using the system shown in  FIG. 5 . The method  300  generally begins at block  302  where the mouse is in standby. Following block  302 , the process flow proceeds to block  304  where a determination is made as to whether the user is touching the mouse. If it is determined that the user is not touching the mouse, then the process flow proceeds back to block  302  thereby keeping the mouse in standby. If it is determined that the user is touching the mouse, then the process flow proceeds to block  306  where the handedness of user is determined. By way of example, this may be accomplished using the method described in  FIG. 10 . 
     Following block  306 , the process flow proceeds to block  308  where the motion axes are configured based on the handedness determined in block  306 . Motion axes generally refer to which portion of the mouse will be used for button selection as well as which direction of mouse motion is positive X motion and which direction of mouse motion is positive Y motion. The direction of the motion axes are important if the mouse is rotated 180 degrees between left and right handed users as in the mouse configuration shown in  FIG. 2 . 
     Thereafter, the process flow proceeds along two routes. The first route proceeds with block  310  where position signals are generated based on mouse movement. Thereafter in block  312 , a position signal is sent to a host based on the mouse movement and the motion axis set in block  308 . The second route proceeds with a relative mapping sequence including blocks  314 - 320 . In block  314 , a previous hand image is formed based on user touch. Following block  314 , the process flow proceeds to block  316  where a current hand image is formed based on user touch. Thereafter, in block  318  a difference between the current hand image and the previous hand image is determined. Following block  318 , the process flow proceeds to block  320  where a determination is made as to whether a click (e.g., button selection) was made by the user based on the difference. If a click or button selection was not made, then the process flow proceeds back to block  314 . If a click of button selection was made then the process flow proceeds to block  322  where a button signal associated with the button selection is sent to the host. 
     The methods described above can be used alone or in various combinations. The methods may be implemented singularly or by a combination of hardware, software, and/or firmware. The methods can also be embodied as computer readable code on a computer readable medium. The computer readable medium is any data storage device that can store data, which can thereafter be read by a computer system. The computer readable medium can also be distributed over a network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion. 
     While this invention has been described in terms of several preferred embodiments, there are alterations, permutations, and equivalents, which fall within the scope of this invention. It should also be noted that there are many alternative ways of implementing the methods and apparatuses of the present invention. It is therefore intended that the following appended claims be interpreted as including all such alterations, permutations, and equivalents as fall within the true spirit and scope of the present invention.

Metadata:
Filing Date: 20080808
Publication Date: 20171010
Grant Date: 20171010
Priority Date: 20030902
Inventors: HOTELLING STEVE
HUPPI BRIAN
Assignee: APPLE INC
CPC Classifications: [{"code": "G06F21/31", "inventive": true, "first": false, "tree": "[]"}, {"code": "G06F3/03544", "inventive": true, "first": true, "tree": "[]"}, {"code": "G06F21/32", "inventive": true, "first": false, "tree": "[]"}, {"code": "G06F2203/0332", "inventive": false, "first": false, "tree": "[]"}, {"code": "G06F2203/0332", "inventive": false, "first": false, "tree": "[]"}, {"code": "G06F3/03544", "inventive": true, "first": true, "tree": "[]"}, {"code": "G06F21/31", "inventive": true, "first": false, "tree": "[]"}, {"code": "G06F21/32", "inventive": true, "first": false, "tree": "[]"}, {"code": "G06F3/03544", "inventive": true, "first": true, "tree": "[]"}, {"code": "G06F2203/0332", "inventive": false, "first": false, "tree": "[]"}]
Family ID: 40087586