Discussion:
XOR support for mouse cursors
Ben Swartzlander
2007-11-09 18:14:06 UTC
Permalink
As far as I can tell, X does not support mouse cursors that invert the
pixels underneath them (like Windows mouse cursors). This causes a
number of problems. First, it makes it impossible to use a 1-pixel wide
"I" style cursor for text editing, because the cursor will completely
disappear over a black background (or a white background, if you use a
white cursor). The only usable "I" style cursors I've seen are 3 pixels
wide, such as a black "I" with a white outline to prevent it from
vanishing. This would not be so bad, but then certain applications like
rdesktop (and possibly Wine) need to use actual Windows cursors, so they
convert the Windows cursors bitmap to a valid X cursor by discarding
most of the data, which in the case of the 1-pixel wide "I" cursor is
mostly useless.

A apologize if this issue has been discussed before but I want to know
(1) if there are any extensions or options I can use to fix this
behavior (2) if not, is there a good reason why X has this limitation
and (3) what can I do to fix this? I am a long time Windows and Linux
use and as much as I would like to replace my Windows desktop with
Linux, the poor mouse cursor support is one issue holding me back. I'm
willing to code an extension to X if that's what it takes (and obviously
write the patch for rdesktop) but I'd like to know how others have dealt
with this problem and if anyone has some suggestions.

thanks,
-Ben Swartzlander
Marco
2007-11-10 02:36:47 UTC
Permalink
Post by Ben Swartzlander
As far as I can tell, X does not support mouse cursors that invert the
pixels underneath them (like Windows mouse cursors). This causes a
number of problems. First, it makes it impossible to use a 1-pixel wide
"I" style cursor for text editing, because the cursor will completely
disappear over a black background (or a white background, if you use a
white cursor). The only usable "I" style cursors I've seen are 3 pixels
wide, such as a black "I" with a white outline to prevent it from
vanishing. This would not be so bad, but then certain applications like
rdesktop (and possibly Wine) need to use actual Windows cursors, so they
convert the Windows cursors bitmap to a valid X cursor by discarding
most of the data, which in the case of the 1-pixel wide "I" cursor is
mostly useless.
A apologize if this issue has been discussed before but I want to know
(1) if there are any extensions or options I can use to fix this
behavior (2) if not, is there a good reason why X has this limitation
and (3) what can I do to fix this? I am a long time Windows and Linux
use and as much as I would like to replace my Windows desktop with
Linux, the poor mouse cursor support is one issue holding me back. I'm
willing to code an extension to X if that's what it takes (and obviously
write the patch for rdesktop) but I'd like to know how others have dealt
with this problem and if anyone has some suggestions.
thanks,
-Ben Swartzlander
Because It is patented?

<http://www.google.com/search?q=XOR+cursor+patent&ie=utf-8&oe=utf-8&aq=t&rls=org.debian:pt-BR:unofficial&client=iceweasel-a>
--
--
Marco de Freitas,
NBR para a Internet já! Porque meu navegador não é penico.

http://www.softwarelivre.org/news/2472
http://www.w3.org/2003/03/Translations/byLanguage?language=pt-br
Ben Swartzlander
2007-11-10 02:59:03 UTC
Permalink
Are you talking about patent 4,197,590? That one appears to have been
issued in 1980. It must have expired 10 years ago!

-Ben Swartzlander
Post by Marco
Post by Ben Swartzlander
As far as I can tell, X does not support mouse cursors that invert
the pixels underneath them (like Windows mouse cursors). This causes
a number of problems. First, it makes it impossible to use a 1-pixel
wide "I" style cursor for text editing, because the cursor will
completely disappear over a black background (or a white background,
if you use a white cursor). The only usable "I" style cursors I've
seen are 3 pixels wide, such as a black "I" with a white outline to
prevent it from vanishing. This would not be so bad, but then certain
applications like rdesktop (and possibly Wine) need to use actual
Windows cursors, so they convert the Windows cursors bitmap to a
valid X cursor by discarding most of the data, which in the case of
the 1-pixel wide "I" cursor is mostly useless.
A apologize if this issue has been discussed before but I want to
know (1) if there are any extensions or options I can use to fix this
behavior (2) if not, is there a good reason why X has this limitation
and (3) what can I do to fix this? I am a long time Windows and Linux
use and as much as I would like to replace my Windows desktop with
Linux, the poor mouse cursor support is one issue holding me back.
I'm willing to code an extension to X if that's what it takes (and
obviously write the patch for rdesktop) but I'd like to know how
others have dealt with this problem and if anyone has some suggestions.
thanks,
-Ben Swartzlander
Because It is patented?
<http://www.google.com/search?q=XOR+cursor+patent&ie=utf-8&oe=utf-8&aq=t&rls=org.debian:pt-BR:unofficial&client=iceweasel-a>
Russell Sears
2007-11-10 19:30:54 UTC
Permalink
There's also a relevant patent (5,359,347) from 1994.

-Rusty
Post by Ben Swartzlander
Are you talking about patent 4,197,590? That one appears to have been
issued in 1980. It must have expired 10 years ago!
-Ben Swartzlander
Post by Marco
Post by Ben Swartzlander
As far as I can tell, X does not support mouse cursors that invert
the pixels underneath them (like Windows mouse cursors). This causes
a number of problems. First, it makes it impossible to use a 1-pixel
wide "I" style cursor for text editing, because the cursor will
completely disappear over a black background (or a white background,
if you use a white cursor). The only usable "I" style cursors I've
seen are 3 pixels wide, such as a black "I" with a white outline to
prevent it from vanishing. This would not be so bad, but then certain
applications like rdesktop (and possibly Wine) need to use actual
Windows cursors, so they convert the Windows cursors bitmap to a
valid X cursor by discarding most of the data, which in the case of
the 1-pixel wide "I" cursor is mostly useless.
A apologize if this issue has been discussed before but I want to
know (1) if there are any extensions or options I can use to fix this
behavior (2) if not, is there a good reason why X has this limitation
and (3) what can I do to fix this? I am a long time Windows and Linux
use and as much as I would like to replace my Windows desktop with
Linux, the poor mouse cursor support is one issue holding me back.
I'm willing to code an extension to X if that's what it takes (and
obviously write the patch for rdesktop) but I'd like to know how
others have dealt with this problem and if anyone has some suggestions.
thanks,
-Ben Swartzlander
Because It is patented?
<http://www.google.com/search?q=XOR+cursor+patent&ie=utf-8&oe=utf-8&aq=t&rls=org.debian:pt-BR:unofficial&client=iceweasel-a>
_______________________________________________
xorg mailing list
http://lists.freedesktop.org/mailman/listinfo/xorg
Ben Swartzlander
2007-11-10 22:45:44 UTC
Permalink
Didn't Microsoft Windows 3.0 have XOR cursors? How is it possible to
patent something that already existed in a shipping product at the time?
SDL currently has XOR cursors -- why haven't they been sued?

Just so I understand, is it the case that the X.org team has considered
implementing XOR cursors, and opted not to purely out of legal fears? Or
has it never seriously been considered?

-Ben Swartzlander
Post by Russell Sears
There's also a relevant patent (5,359,347) from 1994.
-Rusty
Post by Ben Swartzlander
Are you talking about patent 4,197,590? That one appears to have been
issued in 1980. It must have expired 10 years ago!
-Ben Swartzlander
Post by Marco
Post by Ben Swartzlander
As far as I can tell, X does not support mouse cursors that invert
the pixels underneath them (like Windows mouse cursors). This
causes a number of problems. First, it makes it impossible to use a
1-pixel wide "I" style cursor for text editing, because the cursor
will completely disappear over a black background (or a white
background, if you use a white cursor). The only usable "I" style
cursors I've seen are 3 pixels wide, such as a black "I" with a
white outline to prevent it from vanishing. This would not be so
bad, but then certain applications like rdesktop (and possibly
Wine) need to use actual Windows cursors, so they convert the
Windows cursors bitmap to a valid X cursor by discarding most of
the data, which in the case of the 1-pixel wide "I" cursor is
mostly useless.
A apologize if this issue has been discussed before but I want to
know (1) if there are any extensions or options I can use to fix
this behavior (2) if not, is there a good reason why X has this
limitation and (3) what can I do to fix this? I am a long time
Windows and Linux use and as much as I would like to replace my
Windows desktop with Linux, the poor mouse cursor support is one
issue holding me back. I'm willing to code an extension to X if
that's what it takes (and obviously write the patch for rdesktop)
but I'd like to know how others have dealt with this problem and if
anyone has some suggestions.
thanks,
-Ben Swartzlander
Because It is patented?
<http://www.google.com/search?q=XOR+cursor+patent&ie=utf-8&oe=utf-8&aq=t&rls=org.debian:pt-BR:unofficial&client=iceweasel-a>
_______________________________________________
xorg mailing list
http://lists.freedesktop.org/mailman/listinfo/xorg
Graeme Gill
2007-11-12 05:42:39 UTC
Permalink
Post by Ben Swartzlander
Didn't Microsoft Windows 3.0 have XOR cursors? How is it possible to
patent something that already existed in a shipping product at the time?
The U.S. Patent Office works in mysterious ways ?

Presumably the patent examiner was convinced that something
was slightly different in the 1994 patent from previous
related patents. As I understand it, a patent covers
the claims minus prior art.
Post by Ben Swartzlander
Just so I understand, is it the case that the X.org team has considered
implementing XOR cursors, and opted not to purely out of legal fears? Or
has it never seriously been considered?
At one stage all the X11 consortium members were threatened by the
holder of the XOR cursor patent, even though the X11 server didn't
actually support an XOR cursor itself. A client application was
the only way of implementing an XOR cursor, simply by using the XOR
rendering mode (one of the 16 possible modes).

Typically X11 doesn't need to use an XOR cursor, since it supports
overlay cursors. XOR cursors are usually regarded as a "trick"
to avoid having to save what's under the cursor, and restore
it every time the cursor moves.

Graeme Gill.
Ben Swartzlander
2007-11-12 07:23:46 UTC
Permalink
So perhaps I'm asking the wrong question. What I want is a cursor that
is able to invert the color of the pixels underneath it. For example, an
"I" shaped cursor that looks white over a black background and looks
black over a white background (and stands out suitably from any other
color background) to use for text editing. This is the kind of cursor
that Windows has, and I believe that SDL offers the same type of
cursors. I don't really care how it's implemented, whether a XOR
operation is used or not. If a patent is the only thing standing in the
way of implemented color-inverted cursors, then it should be possible to
copy whatever prior art existed at the time the patent was filed, thus
avoiding any patent problems.

-Ben Swartzlander
Post by Graeme Gill
Post by Ben Swartzlander
Didn't Microsoft Windows 3.0 have XOR cursors? How is it possible to
patent something that already existed in a shipping product at the time?
The U.S. Patent Office works in mysterious ways ?
Presumably the patent examiner was convinced that something
was slightly different in the 1994 patent from previous
related patents. As I understand it, a patent covers
the claims minus prior art.
Post by Ben Swartzlander
Just so I understand, is it the case that the X.org team has considered
implementing XOR cursors, and opted not to purely out of legal fears? Or
has it never seriously been considered?
At one stage all the X11 consortium members were threatened by the
holder of the XOR cursor patent, even though the X11 server didn't
actually support an XOR cursor itself. A client application was
the only way of implementing an XOR cursor, simply by using the XOR
rendering mode (one of the 16 possible modes).
Typically X11 doesn't need to use an XOR cursor, since it supports
overlay cursors. XOR cursors are usually regarded as a "trick"
to avoid having to save what's under the cursor, and restore
it every time the cursor moves.
Graeme Gill.
_______________________________________________
xorg mailing list
http://lists.freedesktop.org/mailman/listinfo/xorg
Loading...