You want prior art?
Posted May 20, 2004 16:41 UTC (Thu) by spitzak
Parent article: Stupid patent tricks
I have prior art in my own software. Check fltk for the Fl::event_is_click() function. This
function was in there since 1998, and possibly earlier. When the user pushes the mouse
button down it is true, and it remains true for a short amount of time. Checking this on
release can distinguish between a "short" and "long" click.
Grepping through my code for event_is_click() I find the following uses. All date to long
before this patent:
I used it to distinguish double click from hold-release-click.
I also use it to change the behavior of popup menus, a click will just post the menu on
the screen, a hold will instead pick the item the mouse is pointing at.
I use it to make a button that you can click on to increment a variable, and can drag to
change the variable. Holding down the button and not moving does not change the
variable and is different than a click.
I have used this to distinguish between raising windows on click and moving them in the
flwm window manager (you can push, hold, and not move the window, and it does not
I use this to distinguish between clicking on selected text just moving the insertion point
and starting drag & drop (OS/X also does this). (this usage may date only to 2002).
I use it in the fluid GUI designer to distinguish between dragging a selected set of widgets
and just selecting the one clicked on. Holding down without moving does not change the
selection, while a quick click does.
Nuke (Commercial software from Digital Domain) uses middle-mouse click to restore the
zoom in windows to the default, while holding down the middle mouse either causes
nothing to happen or causes the zoom to go to 1:1. This behavior was copied to other
software using the Qt toolkit, indicating that this behavior can be copied without using
fltk. This behaivor has been in there since 1994 and has been observed and used by
several hundred artists at Digital Domain.
Nuke allows the user to drag an animated parameter from one text field to another to
cause linking. This is used to distinguish an attempt at a drag from a click. This code
was written *by a different author* indicating that I am not the only source of this
behavior! In a similar place a button can either pop up a menu or start a drag and drop
depending on how long the user holds the mouse button down.
In the main "DAG" view of Nuke clicking on a "node" selects only it, but holding the
mouse button down on a selected node drags it and all others without changing the
selection. Again, holding the mouse button down and not moving it will not change the
selection and is thus prior art.
The Nuke image viewer uses this to distinguish between moving a permanent
color-indicator to the mouse, or just temporarily displaying the color under the mouse.
Some Nuke viewer versions (disabled in the current one) used this to distinguish between
deselecting all selected objects and changing the point at which Nuke is updating the
viewer to be the line the cursor is pointing at. (this does not work in current ones due to
internal inability to support it, the GUI will be restored as soon as possible).
The "is_click" is also visible in the Nuke SDK for making plugins, even though you are
not allowed to call fltk from that. I did not bother to search the plugins for usage...
I believe many systems already have prior art by using methods identical to mine for
distinguishing a double click from a push-hold-release-push sequence. Holding the mouse
button down for a longer time on the first click converts that click from "possible double
click precursor" to "not a double-click precursor".
to post comments)