Background of the Invention
The present invention relates generally to an input device for a portable personal computer ("PC"). More particularly, this invention relates to a trackball or mouse device that is used to provide input signals to control a pointer or arrow on the screen of a PC. Still more particularly, this invention relates to system for selectively enabling or disabling a trackball device during operation.
The trend in the portable PC market is for smaller and lighter computers that can easily be carried and stored by a user. Consumers of portable PC's, however, also are demanding more computing power and additional features that rival traditional desk-top computers. Thus, to satisfy consumers, portable PC manufacturers are providing more computing power, with additional features, on more compact units.
One of the features that is especially desired on computers is a trackball or mouse device, which can facilitate the use of certain operating systems and software programs. To minimize the number of accessories that must be carried with the portable computer, and also to minimize the number of external connections, certain portable computer manufacturers provide an integral trackball device adjacent the keyboard of the personal computer, as shown for example in FIG. 1. Because of the space restrictions on the more compact computers, the trackball in some of these computers is located next to the space bar, in the region where the user may tend to rest his or her hands during keyboard operation.
Providing a trackball adjacent the keyboard, however, increases the possibility of operator errors. Because of the proximity of the trackball to the keyboard, a user may inadvertently activate the trackball while using the keyboard. In certain operating systems or software programs, this inadvertent activation of the trackball can have disastrous results. In word processing programs, for example, activating the trackball may initiate text blocking features. If a delete key is subsequently activated, the text could be erased accidently.
Typically, the trackball is activated during system initialization or "boot-up." Thus, if the trackball is disabled by the user, the only way to enable the trackball is to reboot the system. In addition, the trackball must be activated before most software packages or operating systems are initiated. As a result of these operating parameters, typically the trackball is left enabled during operation with the hope that no operator errors will result.
It would be desirable to develop a system in which the trackball can be selectively enabled or disabled at any time through the selection of a "hot" key or key combination. Although the advantages of such a feature are apparent, to date no one has developed a system that can quickly enable and disable a trackball during system operation.
Summary of the Invention
The present invention solves the shortcomings and deficiencies of the prior art by providing a system in which a keyboard controller disables the trackball based upon the selection of a suitable "hot" key or key combination by an operator. The keyboard controller connects between the keyboard and a central processing unit ("CPU") and functions to convert signals from the keyboard to data signals that then are assembled and transmitted to the CPU. The keyboard controller also may connect to the trackball through a pair of bi-directional lines to receive data signals from the trackball.
In one embodiment, the keyboard controller discards output signals from the trackball upon the selection of the hot key. In this embodiment, the keyboard controller sets a flag in response to the selection of the hot key, and then checks the status of the flag before transmitting trackball data signals to the central processing unit. If the trackball has been disabled by selection of the hot key, then the keyboard controller discards the trackball data.
Alternatively, a switch is provided for the bi-directional lines between the trackball and keyboard controller. The switch connects to an external mouse connector and receives a control signal from the keyboard controller. The keyboard controller, in response to the selection of the hot key, toggles the state of the control signal to switch, thereby connecting the keyboard controller to the external mouse connector and effectively blocking the input signals from the trackball.
Brief Description of the Drawings
For a more detailed description of the preferred embodiment of the present invention, reference will now be made to the accompanying drawings, wherein:
FIG. 1 depicts a keyboard arrangement of an exemplary portable personal computer with an integral trackball device;
FIG. 2 is a schematic illustration of the system constructed in accordance with the preferred embodiment of,the present invention;
FIG. 3A-3B are flow charts illustrating system operation in the preferred embodiment of the present invention.
FIG. 4 is a schematic illustration of the system constructed in accordance with an alternative embodiment of the present invention;
FIG. 5 is a flow chart illustrating system operation in accordance with the alternative embodiment of the present invention.
Detailed Description of the Preferred Embodiment
Referring now to FIG. 2, the present invention constructed in accordance with the preferred embodiment generally comprises a keyboard controller 50, a keyboard 25, a trackball 40, and a central processing unit ("CPU") 60. The CPU 60 may comprise any suitable microprocessor, including for example an INTEL 80486.RTM. microprocessor. The selection of the CPU 60 is not critical to the operation of the present invention, except that the CPU 60 preferably is compatible with the keyboard controller 50.
In accordance with normal convention, the keyboard controller 50 preferably comprises an INTEL 8051.RTM. microcontroller that connects to the CPU 60 through an eight bit data bus 71. In addition, the keyboard controller 50 connects to the keyboard 25 through a suitable connection 37 for receiving serial data signals therefrom. The keyboard controller 50 connects to the trackball 40 through a mouse clock line 41 and mouse data line 42. In the preferred embodiment of FIG. 2, the keyboard controller 50 includes an associated flag, shown as FLAG 23 in FIG. 2. As one skilled in the art will understand, the flag may comprise a space in memory or a bit in a register. The flag, however configured, denotes whether the trackball 40 has been enabled or disabled by the selection of a "hot" key on the keyboard 25. The keyboard controller 50 preferably is programmed according to the flow charts of FIGS. 3A and 3B to implement the present invention.
The trackball 40 preferably is provided adjacent keyboard 25 as part of a portable computer. As one skilled in the art will understand, the present invention may also be used on desk-top computers to reduce the possibility of operator errors caused by unintentionally activating a mouse, or to permit an operator to selectively enable and/or disable the mouse during operation. The trackball 40 preferably includes at least two activation keys and a roller ball. Alternatively, other trackball arrangements may be used without departing from the principles of the present invention. Thus, the term "trackball" is used generically in this invention to refer to any mouse device or pointing mechanism that may be provided on or with a personal computer. In accordance with normal convention, the use of the trackball produces output signals on the mouse clock 41 and on data line 42 to the keyboard controller 50.
The keyboard 25 may comprise any suitable keyboard configuration. In the preferred embodiment, a compact keyboard arrangement is used to minimize the space required in the computer. According to the principles of the present invention, a function key is used in combination with a "T" key to disable/enable the trackball through a toggling arrangement. Thus, in the preferred embodiment, each time that the "function" key and the "T" key are simultaneously selected, the trackball 40 is alternatively enabled and disabled. Obviously other keys or combination of keys could be used without departing from the principles of the present invention. In the preferred embodiment, the keyboard 25, CPU 60, keyboard controller 50 and trackball 40 all are provided as pan of a portable personal computer.
Referring now to FIGS. 2, 3A and 3B, the operation of the preferred embodiment of the present invention will now be described. The algorithms of FIGS. 3A and 3B preferably are performed simultaneously and continuously during system operation. Referring initially to FIG. 3A, the keyboard controller 50 performs its normal system operation until the hot key is selected on the keyboard 25 and detected by the keyboard controller in step 112. In response to hot key detection, the keyboard controller toggles the status of the flag 23 (step 114) to selectively enable or disable the trackball. Thus, as shown in FIG. 3A, the keyboard controller 50 sets a flag 23 to indicate if the trackball 40 is to be enabled or disabled.
Referring now to FIGS. 2 and 3B, the operation of which occurs concurrently with the operation shown in FIG. 3A, the keyboard controller 50 performs its normal operation until a signal is detected from the trackball on lines 41 and/or 42. If a signal is detected in step 120, the keyboard controller 50 performs its normal function of assembling the serial signals into a suitable 8-bit register (not shown) in step 122. Before the contents of the register are sent to the CPU 60 on bus 71, the keyboard controller 50 checks the status of the flag in step 124. If the flag has not been set (according to the operation of FIG. 3A), the keyboard controller 50 sends the signals to the CPU 60 on bus 71 (step 126). If, conversely, the flag is set to indicate that the trackball 50 has been disabled by the operation of FIG. 3A through the selection of the hot key, then the data in the data register is discarded in step 128, and the keyboard controller 50 returns to normal operation.
In this manner, the keyboard controller 50 monitors the signals from the keyboard 25 for the selection of the hot key (or key combination), and in response sets a flag to disable (or enable) the trackball 40. The status of the flag is toggled by selecting the hot key in the preferred embodiment. Obviously, two different keys could be used, one of which sets the disable flag, and one of which resets the flag to enable the trackball 40. When the trackball 40 is used by the operator, the keyboard controller 50 checks the status of the flag to determine if the flag is set. If the flag is set to indicate that the trackball 40 is disabled, the trackball data signals are discarded by the keyboard controller 50.
One particular advantage of the embodiment of FIGS. 2, 3A and 3B is that the trackball 40 remains connected to the controller 50 so that initialization signals can be received by the trackball during the start of a program or operating system. Only the output signals of the trackball 40 are selectively filtered in response to the selection of the hot key to prevent trackball signals from being transmitted to the CPU 60.
Referring now to FIG. 4, an alternative embodiment of the invention will now be described. The same reference numbers have been used to refer to identical components. Thus, as shown in FIG. 4, the system includes a trackball 40, a CPU 60, a keyboard 25, a keyboard controller 150, and a pair of switches 55, 56 connected to an external mouse connector 75.
In this alternative embodiment, the switches 55, 56 connect to an external mouse connector 75 to permit the selection of an external mouse (which connects to connector 75). Thus, for example, if the portable computer is inserted in a docking station (not shown), the mouse associated with the docking station may be connected to the external mouse connector 75, and that mouse can be activated by control of switches 55, 56. The mouse clock 141 and mouse data 142 output lines connect to the keyboard controller 150 through switches 55, 56, respectively. The keyboard controller 150 controls the switches 55, 56 through a control signal output on line 155.
In the embodiment of FIG. 4, the keyboard controller 150 operates as shown in FIG. 5. Referring now to FIGS. 4 and 5, the keyboard controller 150 performs its normal operation until the hot key is selected on the keyboard to disable or enable the trackball. In response to the selection of the hot key in step 134, the keyboard controller 150 toggles the output signal on the control line 155 (between a digital "0" and "1") to change the connection of switches 55, 56 (step 136). Thus, for example, if the switches 55, 56 are set to connect the trackball output lines 141,142 to the keyboard controller 150, activation of the hot key will cause the keyboard controller 150 to change the signal on control line 155 (by, for example, applying a digital "1" on the control line), which will result in switches 55, 56 connecting the external mouse connector 75 to the keyboard controller 150, and effectively blocking the signals from the trackball 40. If the hot key is selected again, the keyboard controller 150 changes the status of control line 155 (by, for example, applying a digital "0" to the control line), causing the switches 55, 56 to connect the clock line 141 and data line 142 to the keyboard controller 150. In this fashion, the trackball 40 may be selectively enabled or disabled while in a software program or operating system.
While a preferred embodiment of the invention has been shown and described, modifications thereof can be made by one skilled in the art without departing from the spirit of the invention.