GB2345986A - Computer mouse/mice driver - Google Patents

Computer mouse/mice driver Download PDF

Info

Publication number
GB2345986A
GB2345986A GB9901027A GB9901027A GB2345986A GB 2345986 A GB2345986 A GB 2345986A GB 9901027 A GB9901027 A GB 9901027A GB 9901027 A GB9901027 A GB 9901027A GB 2345986 A GB2345986 A GB 2345986A
Authority
GB
United Kingdom
Prior art keywords
mouse
mice
standard format
data
axis
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
GB9901027A
Other versions
GB9901027D0 (en
Inventor
Vam Chang
Kingboard Ma
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inventec Corp
Original Assignee
Inventec Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inventec Corp filed Critical Inventec Corp
Priority to GB9901027A priority Critical patent/GB2345986A/en
Publication of GB9901027D0 publication Critical patent/GB9901027D0/en
Publication of GB2345986A publication Critical patent/GB2345986A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • G06F3/0383Signal control means within the pointing device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/038Indexing scheme relating to G06F3/038
    • G06F2203/0382Plural input, i.e. interface arrangements in which a plurality of input device of the same type are in communication with a PC

Abstract

A method for driving a computer mouse or plurality of mice which uses a communication interface to convert the different protocols of different types of mice (e.g. a Microsoft(RTM) mouse or a PS/2(RTM) mouse) into a generic standard format is disclosed. The universal driver permits one or more mice to be connected to, and used by, the computer simultaneously. It also enables one mouse to be replaced by another (hot-swapped) without needing to restart (in order to load new drivers) or re-configure either the computer system or any software that the computer is running.

Description

A METHOD FOR DRIVING COMPUTER MICE This invention relates to a method for driving computer mice, especially the method can be used to let all models of computer mice be driven by only one driver in order for the computer system capable of driving different computer mice connected thereto simultaneously.
Computer mouse is a very common input device used in personal computers. There are a variety of computer mice in the market, such as Serial Mouse, PS/2 Mouse and Bus Mouse etc., each model of these mice uses its unique protocol to communicate with personal computer. Now, many mouse drivers are respectively designed for specific models of mice.
Though some drivers has the capability of supporting several models of mice, those drivers are merely combined by different sectional programs each written for specific models of mice supported, of which the defects are too many resources are wasted and two or more mice simultaneously being operated are impossible.
In addition, the generic mouse drivers now available in the market are respectively written for specific communication protocols applied to the related computer mice, the protocols for different models of mice are generally different from each other. In order to support two or more mice, it is necessary to design several drivers respectively in accordance with the specifications of the mice being supported and install said drivers to the personal computer. However, in the aforesaid circumstance, while using the computer, it is impossible for the user to simultaneously operate two or more mice. And, while changing the mouse from one model to another, the user needs to re-start the computer to initialize the specification of said mouse for normal operations. Therefore, the above-mentioned prior used mice have defects summarized as follows : 1. It is necessary to design a specific mouse driver to drive a specific mouse connected with the personal computer; 2. It is impossible for the user to simultaneously operate two or more mice connected with the personal computer; 3. It will cause the user a lot of trouble, but is necessary, to close the applications in running and re-start the computer while changing the mouse from one model to another, and sometimes re-configuration is also required.
A primary aspect of the invention is to provide a method to convert the numerical data formats of all models of computer mice into a standard format by using a protocol conversion interface in order for the computer system capable of driving different computer mice connected thereto simultaneously. Thus, whenever mouse being changed from one model to another, the user doesn't have to renew the mouse driver or to re-start the computer, instead, the user can immediately operate said another mouse normally. Therefore, the resources of the computer will be fully utilized and the operation of the mouse will be more facile to the user.
Another aspect of the invention is to provide a method to let the computer system be simultaneously connected with two or more different models of mice through a universal protocol conversion interface to read the numerical data formats from those different mice. Thus, according to the present invention, the user doesn't need to install or re-configure the drivers with respect to the models of the mice while being changed.
The foregoing and other features and advantages of the present invention will be more clearly understood from the following detailed description and the accompanying drawings, in which, Table 1 is the standard format of the mice.
Table 2 is the data format of Microsoft mouse.
Table 3 is the data format of PS/2 mouse.
Figure 1 is a flow chart of the method according to the present invention.
The invention is a method for driving computer mice mainly by arranging and summarizing all basic and necessary parameters for operating all kinds of models of mice, including x-axis direction, x-axis distance, y-axis direction, y-axis distance and the operating status of mouse button, into a standard format. And. each of the parameters is written into its specific position on said format, wherein the parameters of distances and directions relating to the same axis can be represented by one numerical data along with the minus/plus value to indicate different directions. Then, comparing the data in said standard format with those in the numerical data formats of different kinds of mice, and saving the data of the relationships there between to the protocol conversion interface of the computer system.
According to an embodiment of the present invention, the standard format is shown as table 1. From this table, it is shown that ByteO comprises 8 bits, wherein the positions of bit 0 and bit 1 in ByteO are used to store the indexes respectively representing the left and right mouse buttons being pressed, the positions of bit 4 and bit 5 are respectively used to store the negative values of x-axis and y-axis (X, Y), and the positions of bit6 and bit7 are respectively used to store the overflows of x-axis and y- axis (X, Y). And, the positions of Bytel and Byte2 are respectively used to store the coordinate values of x-axis and y-axis.
Referring to Figure 1, the method of the invention is to connect a mouse with a personal computer, then initialize the related register in the computer system to activate the mouse and enable the mouse to send interrupt signals back to the computer system wile the mouse being moved.
According to the interrupt signas, the computer system will distinguish the model of mouse, and read the required data through the port connected with the mouse. And, then converting said data received from the mouse into the standard format via the protocol conversion interface, and store them respectively to the correct position in the standard format. After that, the computer system will let the currently executed application program utilize said standard format to communicate with the mouse to detect whether left button of mouse being pressed by the user. If yes, the application program will read the corresponding data from said standard format and execute the actions thereof.
If left button of mouse not being pressed, the computer system will detect whether the mouse being moved upward. If yes, the application program will read the corresponding data from said standard format and execute the actions thereof.
If the mouse not being moved upward, the computer system will then detect whether the mouse being moved downward. If yes, the application program will read the corresponding data from said standard format and execute the actions thereof.
Consequentially, according to the present invention, the computer system can therefore simultaneously control several different models of mice being connected with by utilizing only one mouse driver. It not only saves much resources of the computer system, but also keeps the users free from a lot of troubles in re-installation or re-configuration while the mouse being changed.
Besides, whenever or whatever the specification of mice being changed in the future, it only needs to add an additional protocol conversion to adapt said changes and normalize the operation of mice, but without changing the related upper level program.
In order to let the features and advantages of the present invention be more easily and clearly understood, the following is the detailed description of an embodiment according to the present-invention to simultaneously operate Microsoft serial mouse and PS/2 mouse connected with the computer system: First to initialize the initial values in the registers of the computer system respectively for Microsoft serial mouse and PS/2 mouse to activate these two mice and enable the mice to send interrupt signals back to the computer system while being moved. According to the interrupt signas, the computer system can distinguish the models of these two mice, and read the required data through the ports connected with the mice.
The data format of Microsoft mouse is shown as table 2 and the data format of PS/2 mouse is shown as table 3.
From these tables, it is shown that ByteO comprises 8 bits, wherein the positions of bit 0 and bit 1 in ByteO are used to store the indexes respectively representing the left and right mouse buttons being pressed, the positions of bit 4 and bit 5 are respectively used to store the negative values of x-axis and y-axis (X, Y), and the positions of bit6 and bit7 are respectively used to store the overflows of x-axis and y-axis (X, Y). And, the positions of Bytel and Byte2 are respectively used to store the coordinate values of x-axis and y-axis.
From the above tables, it shows that the data stored in the positions of bit3 and bit2 in ByteO of the data format of Microsoft mouse will be combined with the data stored in the positions of bitO-bit5 in Byte2. The result will be stored in Byte2 (Y-data) of the standard format designed according to the present invention. Then, the data stored in the positions of bitl and bitO in ByteO of the data format of Microsoft mouse will be combined with the data stored in the positions ofbit0-bit5 in Bytel. The result thereof will be stored in Bytel (X-data) of the standard format designed according to the invention. Because Microsoft protocol doesn't have data overflow, the data converted respective to the data in the positions of bit7 and bit6 in ByteO (Y-data overflow and X-data overflow) will be 0. Data stored in the positions of Y-data bit7 and X-data bit7 in ByteO of the data format of Microsoft mouse respectively correspond to the converted data of Y-negative and X-negative of the standard format. Data stored in the positions of bit5 (left button pressed) and bit4 (right button pressed) in ByteO of the data format of Microsoft mouse respectively correspond to the converted data of bitO and bitl in ByteO of the standard format.
For PS/2 mouse, data stored in the position of ByteO the format thereof will be directly converted and stored in the position of ByteO of the standard format byteO designed according to the invention. Data stored in the position of Byte2 will be converted and stored in the position of Bytel of the standard format, and data stored in the position of Byte4 will be converted and stored in the position of Byte2 of the standard format.
After the aforesaid conversion, the computer system will then execute the application program through the standard format and protocol conversion interface to control Microsoft and PS/2 mice simultaneously.
The above is merely an embodiment of the conversion from Microsoft and PS/2 mice to standard format, however, similar conversion is also applicable to other models of mice.
Overall, the invention is a method for driving computer mice, which not only can eliminate operation inconvenience caused from incompatibility of mice, but also can save computer resources by using minimal codes to represent each different models of mice. The invention also realizes simultaneous operations of two or more mice. Whenever mouse is changed, the user doesn't have to re-start the computer and/or close and exit the application program in running, or to change any settings or configurations.
It is to be understood that changes may be made to the invention in light of the above detailed description. Accordingly, the invention is not limited by the disclosure, but instead its scope is to be determined entirely by reference to the following claims.

Claims (4)

  1. CLAIMS A method for driving computer mice, including the following steps: (1) Converting all basic parameters for movement of at least one computer mouse respectively into a standard format, and storing the standard format into a protocol conversion interface in a computer system; (2) Connecting at least one mouse with said computer system, convertina the corresponding data for movement of said at least one mouse into said standard format by using said protocol conversion interface, and then storing the converted data in the appropriate positions of said standard format ; (3) Letting application programs read data stored in said standard format and send said data to said computer system in order for said computer system to drive said at least one mouse to move smoothly by converting settings of said mouse respectively through said protocol conversion interface;
  2. 2. The method in claim 1, wherein said basic parameters including the parameters relating to x-axis direction, x-axis distance, y-axis direction, yaxis distance of the movement or position of said mouse and actions of mouse button being pressed/clicked.
  3. 3. The method in claim 1, wherein the data stored in the positions of bitO and bitl in ByteO of said standard format are respectively the data of left-button click and right-button click of said mouse, the data stored in the positions of bit4 and bit5 in ByteO are respectively negative values of x-axis and y-axis of said mouse, and the data stored in the positions of bit6 and bit7 in ByteO are respectively overflows of x-axis and y-axis of said mouse, and, and the data stored in the positions of Byte 1 and Byte 2 are respectively x-value and y-value of said mouse.
  4. 4. A method for driving computer mice substantially as herein described with reference to and as illustrated in the accompanying drawings and tables.
GB9901027A 1999-01-19 1999-01-19 Computer mouse/mice driver Withdrawn GB2345986A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB9901027A GB2345986A (en) 1999-01-19 1999-01-19 Computer mouse/mice driver

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB9901027A GB2345986A (en) 1999-01-19 1999-01-19 Computer mouse/mice driver

Publications (2)

Publication Number Publication Date
GB9901027D0 GB9901027D0 (en) 1999-03-10
GB2345986A true GB2345986A (en) 2000-07-26

Family

ID=10846055

Family Applications (1)

Application Number Title Priority Date Filing Date
GB9901027A Withdrawn GB2345986A (en) 1999-01-19 1999-01-19 Computer mouse/mice driver

Country Status (1)

Country Link
GB (1) GB2345986A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2354093A (en) * 1999-05-10 2001-03-14 Phoenix Tech Ltd Plural pointing devices
GB2388682A (en) * 2002-02-21 2003-11-19 Adder Tech Ltd An interface for use between an input device and a computer with means for storing data relating to different protocols for different input devices

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1989005496A1 (en) * 1987-12-02 1989-06-15 Soft Image Systems Limited Inputs to computer by non-physical link
EP0419064A2 (en) * 1989-09-22 1991-03-27 International Business Machines Corporation Computer system having apparatus for providing pointing device independent support in an operating environment
EP0506278A2 (en) * 1991-03-26 1992-09-30 International Business Machines Corporation Device driver system having generic operating system interface
US5550562A (en) * 1993-01-12 1996-08-27 Fujitsu Limited Data processing device that enables mouse-operated application programs to be operated from an operation pad, and an operation pad for use with the same
EP0798637A1 (en) * 1996-03-29 1997-10-01 Sun Microsystems, Inc. Transparently converting program calls between interfaces
US5732283A (en) * 1995-10-24 1998-03-24 International Business Machines Corporation System and method of providing universal support for multiple pointing devices

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1989005496A1 (en) * 1987-12-02 1989-06-15 Soft Image Systems Limited Inputs to computer by non-physical link
EP0419064A2 (en) * 1989-09-22 1991-03-27 International Business Machines Corporation Computer system having apparatus for providing pointing device independent support in an operating environment
EP0506278A2 (en) * 1991-03-26 1992-09-30 International Business Machines Corporation Device driver system having generic operating system interface
US5550562A (en) * 1993-01-12 1996-08-27 Fujitsu Limited Data processing device that enables mouse-operated application programs to be operated from an operation pad, and an operation pad for use with the same
US5732283A (en) * 1995-10-24 1998-03-24 International Business Machines Corporation System and method of providing universal support for multiple pointing devices
EP0798637A1 (en) * 1996-03-29 1997-10-01 Sun Microsystems, Inc. Transparently converting program calls between interfaces

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2354093A (en) * 1999-05-10 2001-03-14 Phoenix Tech Ltd Plural pointing devices
GB2354093B (en) * 1999-05-10 2003-08-27 Phoenix Tech Ltd System and method for synchronization of pointing devices with different data packet sizes
GB2388682A (en) * 2002-02-21 2003-11-19 Adder Tech Ltd An interface for use between an input device and a computer with means for storing data relating to different protocols for different input devices
GB2388682B (en) * 2002-02-21 2005-11-02 Adder Tech Ltd Interfacing devices

Also Published As

Publication number Publication date
GB9901027D0 (en) 1999-03-10

Similar Documents

Publication Publication Date Title
US20070050525A1 (en) [virtual com port for remote i/o controller]
KR100287091B1 (en) Single Pointer / Keyboard for Multiple Computers
US5835791A (en) Versatile connection of a first keyboard/mouse interface and a second keyboard/mouse interface to a host computer
US6044428A (en) Configurable universal serial bus node
US5892939A (en) Emulator for visual display object files and method of operation thereof
JP3814535B2 (en) Input device
US20030067446A1 (en) Information processing apparatus and information processing method
US20050248533A1 (en) Apparatus for setting multi-stage displacement resolution of a mouse
US20060179411A1 (en) Real-time sharing of single user applications among multiple users
US7333093B2 (en) Information processing apparatus and information processing method
US5608895A (en) Method for providing mouse functionality using either an internal or external mouse input device
CN106462514B (en) System and method for unifying device interface and host interface
US6909423B2 (en) Method for inputting commands in a keypad
WO2017051171A1 (en) Private access to human interface devices
CN1333333C (en) Code flow broadcast card and driving method of code flow collection card
GB2345986A (en) Computer mouse/mice driver
US20080180412A1 (en) Dual mode digitizer
KR20080078331A (en) Computer system and control method thereof
KR101376603B1 (en) Computer keyboard device capable of activating application on a computer and method for activating application
US20070057918A1 (en) Mouse with extensible PS/2 mouse buttons
CN103744355A (en) Low-cost easily compatible control design method of open type numerical control machine tool
CN213210986U (en) Multifunctional mouse
CN1808345A (en) Input switching processing method using assistant keyboard and structure thereof
CN103744520A (en) Instrument special keyboard based on single-chip microcomputer and working method thereof
JPH0686126U (en) Pointer input mechanism on keyboard

Legal Events

Date Code Title Description
WAP Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1)