Trackballs are often used by people with limited dexterity.
Some people find it difficult to hold a mouse still at a given point
while clicking. Trackballs solve this by allowing one to remove one's
hand from the ball when clicking.

In addition to this, trackballs come with extra buttons. The
propriety Winblows, MS-DOS, OS/2 software that comes with trackballs
often allows the extra buttons to be used as "drag toggles".  This
allows a limited dexterity person to not have to perform the difficult
action of holding a button down while simultaneously moving the
ball. Instead one presses the extra button to begin a drag, release
the extra button, then move the ball to do the drag, then press the
the extra button again to indicate the end of the drag. This separates
the elements of the drag into discrete elements and makes it easier
for a low dexterity person.


I am considering the best way of supporting drag-toggles in the
software world where XFree86 holds sway. Currently I believe that
XFree86 supports trackball buttons as extra buttons, but does not
add "drag-toggle" functionality.

There is an xmodmap utility that can permute the mouse buttons, but
the documentation does not reveal anything like drag-toggles.

What is the best place in code to support such functionality?

Should XFree86, the window manager, the desktop software (GNOME or
KDE), or the various applications be hacked?

I am biased toward hacking XFree86, because there are so many window
managers controlled by so many different programming teams so that
hacking them all would be a considerable logistical problem. I believe
that changes could be mostly confined to mouse.c if it were decided to
modify XFree86.


If I were to create such a hack, in the form of a patch, what would
the likely reaction of the XFree86 people be? Would they tend to
include it in future releases? Of course, if I added such a hack, I
would want to do it in a way that would be configurable, so that
people who did not want to use "drag-toggles" would be unaffected.
Perhaps a "drag-toggle" option to the mouse section of the XF86Config
file.

I believe that the XFree86 license is such, that I could release that
modification as a patch, without violating the XFree86 license, in the
event that the modifications was not incorporated as an official part
of XFree86.

Do you have any suggestions as to how I should proceed? What portions
of the XFree86 source code should I study first?

Best wishes to all fellow lifeforms.

-- 
Paul Elliott                       1(512)837-1096
[EMAIL PROTECTED]                    PMB 181, 11900 Metric Blvd Suite J
http://www.io.com/~pelliott/pme/   Austin TX 78758-3117

PGP signature

Reply via email to