Computer mouse or 2 or more mouse pointers on the screen

     If you are offered a paid
     solution to an information problem,
     try to find a free one.


    In OS, the default is to work with 1 mouse pointer. Even if you connect 2 or more devices (touchpads, mice, trackballs), all of them, at best, will move one pointer. Everyone got used to this, as with an axiom, and even on resources like answers.mail.ru there are authoritative answers approved by the moderator as closed, that it is impossible to make 2 pointers (who has access there - correct the misunderstanding).

        

    The commercial solution “2 workplaces for 1 system unit” ( EasyCLone) was once known.) - the ability to create desktops on a computer on 2-4 different sets of “display-mouse-keyboard”, and it was even more profitable than buying 2 PCs for companies, but the rapid cheapening of components, apparently, quickly depreciated such a decision and forgot about it .

    But the recent topic on the little-known branch of Habr unexpectedly for many shed light on this unstable truth. It turned out that there is a program that catches each new connected mouse at the driver level and creates a new pointer for it. Alas, she has a trial period of 15 days , which immediately evaporated the desire to turn it on. Why, if the task is to try an unprocessed, unknown, but interesting technology? There is a search, the Internet and a public need for a task, which means there is an opportunity to find more flexible solutions.


    In this solution, we are not talking about 2 input tricks in the system. If the mouse switches to another window or place in the window, the focus is transferred to this mouse, and the keyboard input cursor moves to this place too. If 2 input focuses were created in the OS, then this task would be called “2 mice + 2 keyboards”, and the solution would be even more convenient. But from the point of view of the system, it is noticeably more complicated - you need to have not only a mouse driver, but also multiple active windows on the desktop.

    2 mouse pointers could be useful for working together almost simultaneously on 1 desktop (Desktop). For example, the program from the link above, Peanut Butter Pointer , is positioned to work as an adult and a child (joint work in educational programs).

    The search showed that, in fact, the next aphorism made in the epigraph is true. There is a free program for Windows (April 2004, 2K / XP) with open source code and there are instructions for Linux, Debian, X.Org 7.5, 01/19/2010 on how to connect the required number of mice + pointers to them.

    ( Note for Linux, quote : “Currently MPX is not supported in Gtk + and therefore it will not be possible to draw simultaneously with two mice in GIMP or Inkscape, but you can use one mouse to select tools or menu items and draw the other. The situation will change with the release of Gtk + 3. Also, dragging and dropping two windows at the same time does not work in the Metacity window manager, but you can already drag and drop the icons at the same time in Nautilus with moving the window in Metacity. Qt supports multitouch starting from version 4.6. ”)

    Let us dwell on the solution for Windows XP.

    This is a bare driver without an installer. To connect it, you need to do some actions according to the instructions. (In English - cpnmouse.sourceforge.net/install.html .) Therefore, the instruction below is for researchers, and not for ordinary consumers of the final product. Two mice should be installed at least to see how it works and touch the “lower horizons” of device management at the driver installation level. Well, a retelling with a translation and some illustrations will confirm the belief that the goal is close and achievable, you just need to "know how."

    Installation of drivers for 2 or more mice.


    1. All devices such as a mouse must be connected and working (move the pointer).
    2. From the administrator, put the existing 2 * .inf and * .sys files in the \ windows \ inf and \ windows \ system32 folders.
    3. Select " Control Panel -> System -> Hardware -> Device Manager ".
    4. Next, “Mice and other pointing devices”, in this folder we see working mouse devices.

    The driver does not impose restrictions on the type of mice (COM, PS / 2, USB). But it will require writing some data from the device properties to the cpnmouse.inf file .

    five.When a second mouse is connected to USB, it is defined as a "HID-compilant mouse." For further installation with a high probability it will be necessary to know the equipment code. The author of the drivers recommends getting them using some unnecessarily powerful program for reading data from equipment, but everything you need is visible in the properties of the mouse. We look:

    Properties of the HID-compilant mouse -> Information -> Codes (ID) of the equipment -> A line (usually the 2nd) of the form HID \ Vid_XXXX & Pid_XXXX .

    For example, in the case of the MediaTech MT1068T “Crabby” mouse, it was HID \ Vid_15d9 & Pid_0a4c .

    If this code is not in the cpnmouse.inf file in the lines of the form (in the [CPNGroup.Mfg] section)

      %CPNGroup.DeviceDesc1% = usbinst, HID\Vid_XXXX&Pid_XXXX ,

    it must be entered at the end of the list of such lines. For the second A4Tech mouse on the PS / 2 port, a similar property looked like this: By analogy, there is a line in cpnmouse.inf A similar entry should be added to it immediately after it: Indeed, if you do not enter it, the required driver with the name “CPN Tools mouse filter driver PS / 2 ”is no longer available. 6. After adding information, we do in the Device Manager: HID-compilant mouse -> "right-click" -> Update the driver ... -> Install from the specified location -> Next -> (Remove search on removable media) + Do not search . I will choose the right driver myself ->

      ACPI\PNP0F13
      *PNP0F13




      %CPNGroup.DeviceDesc0% = ps2inst, *PNP0FAKE



      %CPNGroup.DeviceDesc0% = ps2inst, *PNP0F13



    Install from disk -> c: \ windows \ inf (or another% system_root% path) -> CPN Tools mouse filter driver USB -> Next .

    The "Insert such a disk into the disk input device" dialog will appear -> OK -> Overview -> c: \ windows \ system32 \ cpnmouse.sys -> Open -> OK (there will be a sign “The wizard has finished installing programs for: CPN Tools mouse filter driver USB) -> Done .

    In the Device Manager, instead of the HID-compilant mouse, the CPN Tools mouse filter driver USB appears .

    7.We repeat the same steps for the PS / 2 mouse with the difference that we select “CPN Tools mouse filter driver PS / 2”. A reboot prompt will appear. If we refuse it, we will see that the PS / 2 mouse has also changed to “CPN Tools mouse filter driver PS / 2”. We will prepare the computer for reboot and execute it.

    Everything would be fine, but the mouse pointer does not fork ...

    Using 2 mice.


    A driver is only half the battle. Now we need a program that implements the appearance of 2 (or more) cursors. Or the use of mouse events in an application at the API level (there is an archive, description and source codes) in other applications. The second way is doomed to scrubbing - working with 1-2-3 programs, and general applications can cause interest. The general application offered by the author, there is one thing - the ordinary-binary-0.1.0.zip program and, as an addition, cpnmouse.lib . It creates 2 drawn pointers for 2 mice and throws the only real pointer to the moving mouse if ordinary.exe and cpnmouse.lib are in the same folder . So we get the desktop view put in the header:
        

    If you do not put cpnmouse.lib in the folder , we will work only with the pointer that jumps from mouse to mouse (without arrow-pictures). This turns out to be even more convenient, because the display of drawing cursors has a drawback - artifacts when dragging objects and selecting text, however, do not affect the functionality of application programs. Such traces, for example, were left by a small “dragging” of the program window for its title.
        

    There are a couple of other equally serious flaws. Ignorance of the program for more than 1 screen (!), Which puts an end to the idea of ​​"easy" to work with 2 or more monitors. There is such a “miracle” as the loss of the ability to scroll text with the mouse wheel. (Oddly enough, the middle and right buttons work.) Additional buttons of non-standard mice, of course, will not work (drivers are not native). However, the codes of all programs and drivers are open (VC ++ 6), nothing prevents them from finalizing. Licenses in the archives could not be found, but somewhere on the network slipped a link to the licensing of these developments on behalf of the university.

    What can be expected with such drivers in games, graphic editors? You should not expect too much, especially games with 2 players. 2 mice - this is, in fact, 1 mouse, but capable of instantly moving from one path to another, performing sequentially clicks in 2 distant sections of one another, without rushing around the table with the manipulator. Therefore, a game of 2 people with 2 mice will always be (if special drivers are not written , but they are not written ) on behalf of one player, but with an instant interception of actions from each other.

    It’s not yet known how much better the paid Peanut Butter Pointer program is.than this development. The prospect of regularly installing it and uninstalling it without a trace after 2 weeks with a special uninstaller greatly reduces the desire to explore and use it. Maybe readers with experience working with her will tell and show her achievements in more detail.

    Also popular now: