Claims
- 1. In a computer system having a display, a pointing device, and a keyboard, a computer-readable medium having computer-executable instructions for performing steps comprising:
receiving a pointing device message indicative of a pointing device event; identifying a message hook procedure by accessing a list of message hook procedures maintained by an operating system; activating the message hook procedure to perform steps comprising:
identifying at least one focus application as having a current keyboard focus, the current keyboard focus such that keyboard messages indicative of keyboard activity are sent to the focus application; converting the pointing device message into a command for the focus application; and sending the command to the focus application.
- 2. The computer-readable medium of claim 1 wherein the command is placed in the form of at least one keyboard message representing at least one activity of a key on the keyboard.
- 3. The computer-readable medium of claim 1 wherein the pointing device message is indicative of a button on the pointing device being depressed.
- 4. The computer-readable medium of claim 3 wherein the command causes the focus application to undo a function that was performed by the focus application prior to the command being sent to the focus application.
- 5. The computer-readable medium of claim 3 wherein the command causes the focus application to page downward through a displayed document.
- 6. The computer-readable medium of claim 3 wherein the focus application is an Internet browser and the command causes the Internet browser to page backward to display a previously displayed Internet page.
- 7. The computer-readable medium of claim 6 wherein the command is in the form of at least one keyboard message representing at least one activity of a key on the keyboard.
- 8. The computer-readable medium of claim 1 wherein the pointing device message is indicative of a button on the pointing device being depressed and the command causes the focus application to repeat a function that was previously undone by the focus application.
- 9. The computer-readable medium of claim 1 wherein the pointing device message is indicative of a button on the pointing device being depressed and wherein the command causes the focus application to page upward through a displayed document.
- 10. The computer-readable medium of claim 3 wherein the focus application is an Internet browser and the command causes the Internet browser to page forward to display a previously displayed Internet page.
- 11. The computer-readable medium of claim 10 wherein the command is in the form of at least one key board message representing at least one activity of a key on the keyboard.
- 12. In a computer system having a display, an input device, and a keyboard, a computer-readable medium having computer-executable instructions for performing steps comprising:
receiving an input device message indicative of an input device event; identifying at least one focus application as having a current keyboard focus, the current keyboard focus such that keyboard messages indicative of keyboard activity are sent to the focus application; determining if a graphical user interface is associated with the input device message and focus application; if a graphical user interface is associated with the input device message and focus application, displaying the graphical user interface instead of converting the input device message into a command for the focus application; waiting for the user to select an item displayed in the graphical user interface; converting the selected item into a command for the focus application; and sending the command to the focus application.
- 13. The computer-readable medium of claim 12 wherein the graphical user interface is a pie menu.
- 14. The computer-readable medium of claim 12 having computer-executable instructions for performing further steps comprising:
before displaying the graphical user interface, waiting for a period of time; receiving a second input device message during the period of time; and combining the input device message and the second input device message to identify a command for the focus application instead of displaying the graphical user interface; and sending the command to the focus application.
- 15. The computer-readable medium of claim 14 wherein the input device is a mouse and the input device message and the second input device message are mouse messages and are combined by comparing the position of the mouse given by the second mouse message to the position of the mouse given by the mouse message to produce a change in mouse position.
- 16. The computer-readable medium of claim 15 wherein the command is identified by comparing the change in mouse position to a change in mouse position required to select an item displayed in the graphical user interface when the graphical user interface is displayed.
- 17. The computer-readable medium of claim 16 wherein the graphical user interface is a pie menu.
- 18. In a computer system capable of executing instructions and generating images on a display, a mouse having a palm rest area and a computer-readable medium having computer-executable instructions for performing steps comprising:
generating at least one of five mouse input values, each mouse input value capable of having one of only two states; executing an application that displays document pages in a temporally serial manner on a display; identifying when a first mouse input value is in a first state; and causing the application to display a previously displayed document page based in part on the first mouse input value being in the first state regardless of the position of a cursor on the display.
- 19. The mouse and computer-readable medium of claim 18 further comprising further computer-executable instructions for performing the step of identifying when the first mouse input value is in a second state after identifying when the first mouse input value was in the first state and wherein causing the application to display a previous document page is based on the first mouse input value being in a first state and then in a second state.
- 20. The mouse and computer-readable medium of claim 18 wherein the first mouse input value represents the state of a switch and the first state indicates that the switch is closed.
- 21. The mouse and computer-readable medium of claim 19 wherein the first mouse input value represents the state of a switch and the second state indicates that the switch is open.
- 22. The mouse and computer-readable medium of claim 18 wherein each of the five mouse input values represents the state of a separate switch.
- 23. The mouse and computer-readable medium of claim 18 having further computer-executable instructions for performing further steps comprising:
generating a second mouse input value; identifying when the second mouse input value is in the first state; and causing the application to replace a currently displayed document page with a second previously displayed document page based in part on the second mouse input value being in the first state, the second previously displayed document page originally displayed after a currently displayed document page.
- 24. A computer-readable medium having stored thereon a data structure generated by a mouse, the data structure comprising:
a first eight-bit byte having a first bit indicative of the state of a first button of the mouse, a second bit indicative of the state of a second button of the mouse, a third bit indicative of the state of a third button of the mouse, a fourth bit set to one, a fifth bit indicative of the direction of movement of the mouse along a first line, a sixth bit indicative of the direction of movement of the mouse along a second line perpendicular to the first line, a seventh bit indicative of an overflow condition related to the distance the mouse moved along the first line, and an eighth bit indicative of an overflow condition related to the distance the mouse moved along the second line; a second eight-bit byte that together with the fifth bit of the first eight-bit byte represents the direction and distance the mouse moved along the first line, the second eight-bit byte containing all ones when the seventh bit of the first eight-bit byte is one and the fifth bit of first eight-bit byte is zero; a third eight-bit byte that together with the sixth bit of the first eight-bit byte represents the distance the mouse moved along the second line, the third eight-bit byte containing all ones when the eighth bit of the first eight-bit byte is one and the sixth bit of first eight-bit byte is zero; and a fourth eight-bit byte comprising first, second, third and fourth bits together representing an amount and a direction of angular rotation of a wheel on the mouse, a fifth bit representing the state of a fourth button on the mouse, and a sixth bit representing the state of a fifth button on the mouse.
- 25. A method in a computer system having a mouse and a mouse driver, the method comprising steps of:
the mouse driver receiving a mouse identification from the mouse; the mouse driver determining if the mouse has at least four buttons based on the mouse identification; the mouse driver passing at least one command to the mouse to activate a fourth button of the four buttons; and the mouse activating the fourth button based on the at least one command.
- 26. The method of claim 25 wherein the at least one command comprises a plurality of functional commands, each functional command when sent alone having a function separate from activating the fourth button.
- 27. The method of claim 25 further comprising steps of:
the mouse driver determining if the mouse has a wheel based on the mouse identification; the mouse driver passing at least one command to the mouse to activate the wheel; and the mouse activating the wheel.
- 28. The method of claim 25 wherein the mouse has at least five buttons and wherein based on the at least one command the mouse activates at least a fourth button and a fifth button.
- 29. A mouse for a computer system comprising:
a movement sensor, capable of detecting movement of the mouse across a surface and of generating a signal based on the detected movement; a casing, at least partially containing the movement sensor and providing a palm contact area; three depressible top surfaces located along a top portion of the casing; and at least two active thumb button actuators, at least partially contained by the casing and exposed along a side of the casing, each thumb button actuator capable of generating an electrical signal that exclusively indicates whether the actuator is being pressed.
- 30. The mouse of claim 29 wherein the two active thumb button actuators are at least partially aligned vertically in the mouse.
- 31. The mouse of claim 30 wherein the two active thumb button actuators are at least partially aligned horizontally in the mouse.
- 32. The mouse of claim 29 further comprising a primary button capable of being actuated by a user's index finger when the user's palm is in contact with the casing.
- 33. The mouse of claim 32 further comprising a secondary button capable of being actuated by a user's middle finger when the user's palm is in contact with the casing.
- 34. The mouse of claim 33 further comprising a wheel capable of being rotated by the user's index finger when the user's palm is in contact with the casing.
- 35. The mouse of claim 34 wherein the wheel is depressible and is capable of actuating a switch when depressed.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] The present application is a continuation of U.S. patent application Ser. No. 09/153,148 filed on Sep. 14, 1998, entitled INPUT DEVICE WITH FORWARD/BACKWARD CONTROL, identified by attorney docket number M61.12-0083; and this application relates to U.S. patent application Ser. No. 09/152,434, filed on Sep. 14, 1998, entitled PROXIMITY SENSOR IN A COMPUTER INPUT DEVICE identified by attorney docket number M61.12-0073; and this application relates to U.S. patent application Ser. No. 09/152,443, filed on Sep. 14, 1998, entitled METHOD OF INTERACTING WITH A COMPUTER USING A PROXIMITY SENSOR IN A COMPUTER INPUT DEVICE, identified by attorney docket number M61.12-0095; and this application relates to U.S. patent application Ser. No. 09/286,739, filed on Apr. 6, 1999, entitled COMPUTER INPUT DEVICE WITH DIGIT SUPPORT AND NATURAL POSITION ACTUATORS, identified by attorney docket number M61.12-0124.
Continuations (1)
|
Number |
Date |
Country |
Parent |
09153148 |
Sep 1998 |
US |
Child |
10004663 |
Dec 2001 |
US |