wiki:DualscreenMouseUtils
Last modified 3 years ago Last modified on 02/04/10 19:19:19

dualscreen-mouse-utils

Two small utilities for use with old-school dual head setups: namely not twinview / one big desktop, but rather two X screens. See gentoo wiki for some setup help.

I use this setup because the wrapping the mouse is very smooth, it is very useful to have the logical separation of both screens and now I can easily switch focus and mouse between them just by using the keyboard. Additionally, when I play some nice games in wine, I can lock the mouse into each individual screen, and by need be switch by using the keyboard shortcut.

You xorg.conf needs to contain something similar to:

Section "ServerLayout"
        Identifier      "Default Layout"
        Screen          0 "Screen 0" 3000 0
        Screen          1 "Screen 1" 0 0 #leftOf "Screen 0"
EndSection

for these utilities to work.

mouse-switchscreen

Change the mouse cursor from one screen to the other. Remembers the previous mouse position for each screen.

The previous mouse-switchscreen has been renamed to mouse-wrapscreen (see below), since the name was confusing.

mouse-wrapscreen

If you have an xorg.conf where both X screens are "separated" on the X coordinates, then the mouse cursor cannot cross. Which is sometimes desired, and sometimes not. Using mouse-wrapscreen you can configure them to be "uncrossable", and then run it in the background when you do want to be able to cross the cursor.

Warning (2010-02-04): Mouse-wrapscreen seems to lock up the X server after a recent upgrade on my system. The symptom is that the cursor will just jump back and forth between screens, preventing any other interaction between the user and the X server. The reason is unknown, probably mouse-wrapscreen is triggering a bug in X. If you have any further information or ideas, please contact the author.

Note: Both use XWarpCursor, which was necessary with xorg 7.4. I haven't tried it on older versions of xorg.

Both tools are based on a program by David Antliff. See the header of the respective .c files for a brief changelog.

Releases

Related work

There is switchscreen out there by Sampo Niskanen <sampo.niskanen@…>, however it does not seem to remember the mouse position for each screen.