Re: Mauszeiger unter X abschalten

From: Oliver Fromme <olli(at)lurza.secnetix.de>
Date: Mon, 6 Jun 2005 13:25:09 +0200 (CEST)

J. Erik Heinz <jerik(at)gmx.net> wrote:
> Bernd Walter <ticso(at)cicely12.cicely.de> wrote:
> > Weiß jemand zufällig, wie ich den Mauszeiger unter X11 abschalten kann?
> > Das Gerät hat keine Maus (Driver void), da es eine reine Anzeige
> > sein soll, aber ich habe immer noch einen Zeiger.
>
> Workaround: Das Bild für den Mausezeiger löschen oder durch ein
> durchsichtiges ersetzen. Musst halt schauen wo dein WM die Daten
> hält...

Das wird nicht genügen. Der Window-manager stellt übli-
cherweise nur den Default-cursor für Fenster zur Verfügung,
aber die Anwendungen können ihre eigenen Cursor setzen, wie
es z.B. xterm tut. Den Cursor des Root-Fensters wiederum
kann man mit xsetroot(1) setzen (oder löschen).

Für den von Bernd geschilderten Fall gibt es im Prinzip
folgende Möglichkeiten:

 - Den Cursor mit XWarpPointer außerhalb des sichtbaren Be-
   reichs positionieren. Dies wäre wohl das einfachste.

 - Mit XGrabPointer den Pointer grabben und dabei einen
   leeren Cursor setzen. Es gibt aber Window-Manager, die
   das nicht so gern mögen.

 - Ein kleines, unsichtbares Sub-Fenster erzeugen, das sich
   unter dem Cursor befindet, und den Cursor für dieses
   Sub-Fenster löschen (d.h. auf ein transparentes Pixel
   setzen). So macht es unclutter(1).

Vermutlich würde unclutter (in ports/misc) den Zweck schon
erfüllen. Wenn Dir das Overkill ist, wirst Du selbst drei
Zeilen C schreiben müssen. ;-)

Display *dpy = XOpenDisplay(NULL);
Window rootwindow = DefaultRootWindow(dpy);
XWarpPointer (dpy, 0, rootwindow, 0, 0, 0, 0, 9999, 9999);

Gruß
   Olli

-- 
Oliver Fromme, secnetix GmbH & Co KG, Oettingenstr. 2, 80538 München
Any opinions expressed in this message may be personal to the author
and may not necessarily reflect the opinions of secnetix in any way.
"UNIX was not designed to stop you from doing stupid things,
because that would also stop you from doing clever things."
        -- Doug Gwyn
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Mon 06 Jun 2005 - 13:25:53 CEST

search this site