Abstract:
A device enables a joystick to be connected to a PS/2® port converts signals from the joystick to mouse-like signals so that neither the software nor the hardware needs to be changed in order to use the joystick instead of the mouse. The directional signals of the joystick are converted to mouse-equivalent signals and discrete signals from the joystick are translated by a device formed and configured to a PS/2® port.

Description:
FIELD OF THE INVENTION 
     This invention relates generally to computer input devices and more particularly to providing an adapter and signal converter to the PS/2® port for non-PS/2 input devices such as a joystick. 
     BACKGROUND OF THE INVENTION 
     A mouse is one of the most common computer input devices found on computer systems today. The mouse controls the movement of a cursor or a pointer on a computer display screen. As the mouse is moved by the computer user, the pointer on the display screen moves. A mouse has at least one button and sometimes as many as three, which have different input functions depending on the program running on the computer. 
     The mouse frees the user to a large extent from using the keyboard. In particular, the mouse is important for graphical user interfaces because the user can simply point to options and objects and click a mouse button. The mouse is also useful for graphics programs that allow a user to draw pictures by using the mouse like a pen, pencil, or paintbrush. 
     There are three basic types of mice: mechanical, optomechanical, and optical. The mechanical mouse has a rubber or metal ball on its underside that can roll in any direction. Mechanical sensors within the mouse detect the direction the ball is rolling and move the screen pointer accordingly. 
     The optomechanical mouse is similar to the mechanical mouse, but uses optical sensors to detect motion of the ball. 
     The optical mouse uses a laser to detect the mouse&#39;s movement. The mouse is moved along a special mat with a grid that is used as a frame of reference by the optical mechanism. Optical mice have no mechanical moving parts. They respond more quickly and precisely than mechanical and optomechanical mice, but they are also more expensive. 
     Typically a mouse connects to a PC-type computer in one of the following ways: 
     1. A serial mouse connects directly to an RS-232C serial port or a PS/2® port. This is the simplest type of connection; or 
     2. A PS/2® mouse connects to a PS/2® port. 
     Commonly, the mouse is connected to the PS/2® port on a computer to leave the serial port available for other devices such as a modem. The PS/2® port is a standard developed by International Business Machines, Inc. for connecting a mouse or keyboard to a PC. The PS/2® port supports a six pin connector. A typical pinout for the six pin connector is shown in Table 1. Only four of the six pins are used for the mouse. Pins  3  and  4  are ground and power respectively. Pin  5  is for the clock and pin  1  is the data connection. 
     
       
         
               
               
             
           
               
                 TABLE 1 
               
               
                   
               
               
                 Pin 
                 Signal 
               
               
                   
               
             
             
               
                 1 
                 Mouse data 
               
               
                 2 
                 Not connected 
               
               
                 3 
                 Ground (GND) 
               
               
                 4 
                 +5 Volts DC 
               
               
                 5 
                 Mouse clock 
               
               
                 6 
                 Not connected 
               
               
                   
               
             
          
         
       
     
     The mouse is not always a convenient pointing solution for computers, nor is it always the most effective pointing solution. For example, in moving vehicles such as a helicopter, a mouse can be difficult to use and somewhat inconvenient to fit into the pilot space. People with certain handicaps also may have difficulty using the mouse. Instead, there are other pointing devices that may be used in the place of the mouse. These devices include a joystick, a button box, a trackball, and a glide point. These alternatives, however, require specific dependencies to the operating system or special driver software. The joystick, for instance, is typically an analog device where a mouse is typically a digital device. In order to easily replace the mouse with a joystick, for example, one needs a D/A converter and a way of converting the device&#39;s control signals to mouse-like control signals. 
     It is desirable to have a way of replacing the mouse on a PC computer with a different pointer controller device without modifying hardware or software on the computer. 
     It is an object of the present invention to provide a method and apparatus to use a joystick in conjunction with a standard PS/2® port. 
     It is another object of the present invention to provide a method and apparatus to convert signals from non-mouse pointer controllers to mouse-like signals. 
     SUMMARY OF THE INVENTION 
     The problems of using alternative pointer controllers in conjunction with a standard PS/2® port are solved by the present invention of an embedded mouse controller. 
     A pointer controller interface enables a joystick to be connected to a PS/2® port converts signals from the joystick to mouse-like signals so that neither the software nor the hardware needs to be changed in order to use the joystick instead of the mouse. 
     The directional signals of the joystick are converted by the pointer controller interface to mouse-equivalent signals and discrete signals from the joystick are translated by a device formed and configured to a PS/2® port. 
     The present invention together with the above and other advantages may best be understood from the following detailed description of the embodiments of the invention illustrated in the drawings, wherein: 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a pictorial representation of a prior art computer system; 
     FIG. 2 is a block diagram of the embedded mouse controller with a joystick according to principles of the present invention; 
     FIG. 3 is a top view diagram of a joystick; 
     FIG. 4 is a combination block and schematic circuit diagram of the embedded mouse controller of FIG. 2 according to principles of the present invention; 
     FIG. 5 is a graph of joystick y voltage input and computer screen pointer displacement using the present invention vs. time; 
     FIG. 6 is a pictorial representation of an embodiment of an embedded pointer controller; and, 
     FIG. 7 is a detailed schematic circuit diagram of an embodiment of the embedded mouse controller of the present invention. 
    
    
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS 
     FIG. 1 shows a desktop computer  2  with input devices, namely a keyboard  4  and a mouse  6 . The mouse  6  controls the movement of a cursor  8  or a pointer on a computer display screen  9 . As the mouse is moved by the computer user, the pointer  8  on the display screen  9  moves. A mouse  6  has at least one button and sometimes as many as three, which have different input functions depending on the program running on the computer. 
     FIG. 2 is a block diagram of an embedded pointer controller system  10  according to principles of the present invention. The present embodiment of the invention has a joystick  15  for providing pointer information instead of the mouse. The joystick  15  is used by a user to generate X and Y axis signals and at least one discrete signal which simulate mouse action. In alternative embodiments, the discrete signals could number up to three in order to simulate a multiple-button mouse. Alternative devices for generating X and Y axis directional signals and discrete signals include a button box and a dial box. Movement of the joystick left, right, up and down generates the X and Y axis directional signals. Buttons on the joystick generate discrete signals that simulate signals from mouse buttons. 
     Interfacing between the joystick  15  and an embedded pointer controller (EPC)  10  are a discrete signal electrical decoupler  20  and an X and Y axis signal electrical decoupler  25 . The discrete signal electrical decoupler  20  decouples the pointer movement transducers (i.e. the joystick in the present embodiment of the invention) discrete electrical system from the embedded pointer controller electrical system. The X and Y axis signal electrical decoupler  25  decouples the pointer movement transducers analog electrical system from the embedded mouse controller&#39;s electrical system. These decouplers protect the EPC  10  from extraneous power noise, electrical surges and so on. The invention may be practiced without them. 
     A processor  30  takes signals from the decouplers  20 ,  25  and processes them for transmission to a device with a pointer. The processor  30  digitally quantifies the X and Y axis directional signals to at least 8 bit words. The processor  30  determines through a PS/2® interface  35  and a Universal Serial bus (USB) interface  40  which type of bus is to receive the joystick signals. The PS/2® interface  35  determines if the embedded pointer controller  10  is connected to valid external PS/2® bus  42  and transfers data from the processor  30  to the external PS/2® bus  42 . The USB interface  40  determines if the embedded pointer controller  10  is connected to a valid external USB  43  and transfers data from the processor  30  to the USB  43 . A settings adjustment device  45  retains user-input settings for the embedded pointer controller  10 . The control hardware/software  50  allows a user to set the settings retained by the settings adjustment device  45 . Settings included fixing pointer rate of movement, setting rate of pointer movement, and setting pointer acceleration. Settings further include sensitivity of the pointer controller interface to signals from the joystick or other transducer. The control hardware/software also associates the discrete signals to specific actions, such as translating a particular joystick button to a double click of a left mouse button. In alternative embodiments, the user interface could be a set of buttons and a multifunction LCD. Alternatively, input could be sent by software on the receiving computer to the EPC through either the USB or the RS/232 port. 
     FIG. 3 is a top view of a joystick  15  such as one used in the present invention. The joystick  15  has a central lever  80  which may be pushed in the X and Y directions. The joystick signals are in the range of 0 to 5 volts. The joystick in the present embodiment of the invention has three buttons for sending discrete signals. A first button  85  is on the joystick lever  80 . A second button  90 , and a third button  95  are located, in the present embodiment of the invention, off the joystick lever  80 . As discussed above, the signals generated by the three mouse buttons may be assigned to particular activities. For example, first button  85  may be made equivalent to the “select” button on a mouse. 
     FIG. 4 is a combination block and schematic circuit diagram of an alternative embodiment of the embedded pointer controller  10  of FIG. 2 according to principles of the present invention. Signals from an X-direction transducer  100  provide one input to each of first  105  and second  110  comparators. Signals from a Y-direction transducer  115  provide one input to each of third  120  and fourth  125  comparators. An “Up Voltage” threshold control  130  is implemented using a variable resistor and provides a second input to third comparator  120 . A “Down Voltage” threshold control  135  is implemented using a variable resistor and provides a second input to fourth comparator  125 . A “Right Voltage” threshold control  140  is implemented using a variable resistor and provides a second input to first comparator  105 . A “Left Voltage” threshold control  145  is implemented using a variable resistor and provides a second input to second comparator  110 . The threshold controls establish a minimum and a maximum voltage threshold for pointer movement within the  5  volt signal range. The signals from the second comparator  110  and fourth comparator  125  are transmitted through inverters to create “left” and “down” signals. The signals from the first comparator  105  and third comparator  120  and from the inverters are received by the processor  150  that processes the signals as described above in the discussion of FIG.  2 . The processor  150  provides up, down, right and left directional signals to an optical encoder mouse driver  155 . The optical encoder mouse driver  155  also receives the discrete signals from the buttons  85 ,  90 ,  95  on the joystick  15 . These signals are transmitted on the PS/2® bus to a computer having a pointer to be moved according to the directional and discrete button signals. 
     FIG. 5 is a graph of an example of joystick y voltage input and computer screen pointer displacement vs. time, generated using an embodiment of the present invention. The y axis represents both joystick Y direction voltage input in volts and pointer displacement relative to the bottom of the computer screen where 0 is the bottom of the screen and 5 is the top of the screen. The minimum voltage threshold in this example is 2 volts and the maximum voltage threshold in this example is 3 volts. That is, where the joystick signal is at 2 volts and below, the pointer moves toward the bottom of the computer screen and where the joystick signal is at 3 volts and above, the pointer moves toward the top of the computer screen. The joystick Y voltage is shown as a dotted line and the displacement of the pointer from the bottom of the screen is shown as a solid line. The minimum and maximum voltage threshold may be altered to make the embedded mouse controller more or less sensitive to voltage changes. The equivalent circuitry are present and the equivalent actions occur for the X axis directional signals. 
     FIG. 6 is a pictorial representation of an embodiment of the embedded pointer controller  10 . Four knobs provide an “Up Voltage” threshold control  200 , a “Down Voltage” threshold control  205 , a “Left Voltage” threshold control  210 , and a “Right Voltage” threshold control  215 . The present embodiment of the EPC  10  has joystick input port  220  for receiving a cable from a joystick which will carry the signals from the joystick to the EPC  10 . The EPC  10  has a standard PS/2® bus connector and cable  225  to connect to a computer to receive signals. 
     FIG. 7 is a more detailed schematic circuit diagram of an embodiment of the embedded mouse controller shown schematically in FIG.  4 . The comparators  105 ,  110 ,  120 ,  125  are implemented using  741  chips such as those available from JimPack, part no. LM741-ULN-2151. The inverters  146 ,  147  are implemented using  7404  chips such as those available from Texas Instruments, Inc., part no. sn741s04n. The processor  150  is a microcontroller 16C63 which is available from Parallax, Inc. and other sources. The optical encoder mouse driver  155  is implemented using IBM Corp. optical encoder part no. 50740-506FP. 
     In alternative embodiments of the invention, the rate at which the pointer moves can currently be configured through a software change to adjust for various sized monitors. This could be tied to a slider or a dial. 
     Button input could be handled by the microprocessor. This makes it easy to associate features with various buttons. For instance, Joystick button B could be associated either with a middle button mouse click, or with a mouse left button double click. This could be tied to a switch on the box. 
     Additionally, software could be included to allow the embedded pointer controlled to function either as a PS/2®, or a Universal Serial Bus pointer controller. Expansion to the Universal Serial Bus would allow interaction with Macintosh hardware, as well as PC hardware. Again this could be tied to a button on the controller, or to a simple digital LCD interface. 
     If multiple interface options are provided, the EPC could autodetect which type of output is needed. 
     The entire Embedded Pointer Controller  10  can be reduced to a single chip with outputs for the PS/2® bus, and the Universal Serial Bus. The inputs could be two analog channels each capable of going from 0-5 volts for X and Y axis displacement, 3 digital inputs for the various digital inputs (buttons), and several lines for communication with the chip (RS-232, firewire, or USB) to set its parameters. These parameters would be held in firmware to be stored even when the device is disconnected. The parameters could include any of the options mentioned above. 
     It is to be understood that the above-described embodiments are simply illustrative of the principles of the invention. Various and other modifications and changes may be made by those skilled in the art which will embody the principles of the invention and fall within the spirit and scope thereof.