After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 142834 - need new gesture listener for XInput valuator events which don't drive core pointer
need new gesture listener for XInput valuator events which don't drive core p...
Status: RESOLVED FIXED
Product: gdm
Classification: Core
Component: general
unspecified
Other All
: Normal normal
: ---
Assigned To: bill.haneman
GDM maintainers
AP1 WS
: 125428 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2004-05-20 12:59 UTC by bill.haneman
Modified: 2005-02-14 22:23 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
patch which substantially satisfies the problem in this bug, and in bug 142833. (23.41 KB, patch)
2004-06-09 22:24 UTC, bill.haneman
none Details | Review
improved patch which allows switch, mousebutton, and key gestures (24.61 KB, patch)
2004-08-13 15:57 UTC, bill.haneman
none Details | Review
patch combining two patches above (dwell + key) (28.95 KB, patch)
2004-08-25 15:56 UTC, bill.haneman
none Details | Review

Description bill.haneman 2004-05-20 12:59:30 UTC
The current "dwell" mouse gesture listener doesn't listen to XKB valuator
events, and even if it did, it wouldn't work since the listener relies on
location of the core pointer with respect to a dialog window. 

The problem is, XInput valuators, when not connected to the core pointer, have
an undefined relationship to the screen coordinate system; furthermore,
different users have different ranges of motion.  Therefore a gesture listener
is required which not only listens to non-corepointer XInput valuator events,
but which also uses a heuristic which allows users with varying ranges of motion
to successfully execute the gesture.  This means that the gesture can't be based
on an absolute range of motion, or even a fixed-size range of motion, but
instead must be based on things like min/max values and reversals of "slope", etc.
Comment 1 bill.haneman 2004-06-01 17:08:10 UTC
escalating login-stopper bug priorities.
Comment 2 David Bolter 2004-06-01 18:54:31 UTC
Should I close prior bug #125428 as a duplicate?  It is a little more general so
I'm not sure...
Comment 3 bill.haneman 2004-06-01 18:57:04 UTC
no, 125428 concerns GOK, but this bug is against gdm.  Possibly 125428 should be
dup'ed against the 'action/input-method' command-line bugs.
Comment 4 bill.haneman 2004-06-01 18:57:47 UTC
*** Bug 125428 has been marked as a duplicate of this bug. ***
Comment 5 bill.haneman 2004-06-01 18:59:00 UTC
on second thought you are right David.  I didn't see 125428 at all, since it
didn't have the 'accessibility' keyword and didn't CC gnome-access-bugs.

(note that the new bugzilla won't keep keywords that are added with the initial
bug report, you have to add them on a subsequent edit.  I filed a bugzilla bug
against bugzilla, regarding that issue ;-) )
Comment 6 bill.haneman 2004-06-09 22:22:53 UTC
I've got a (temporary) patch that allows non-corepointer XInput devices to be
used to complete pointer-based gestures, using dwellmouselistener.  It's a bit
of a hack, since it warps the corepointer when non-corepointer XInput events are
received.  However, in the use case scenario where GOK is needed by the
end-user, the XInput valuators aren't normally SendCore (this would cause a
conflict), so what the patch does basically is make the extended input devices
act "more like the usual default" until a specific gesture has been recognized,
at which time the warp/latch behavior stops.

This solves several problems expediently :

* Users of non-core-pointer dwell devices (e.g. head pointers) will be able to
see visual feedback from their pointer motions;
* The existing dwell gestures, which require not only onscreen visual indication
outside the gdm login window, but also enter/exit notify events, can be
completed with non-corepointer devices;
* once the gesture is complete, the extended input device no longer interferes
with the core pointer, thus GOK or another input-device-driven assistive
technology can function without "core pointer" conflicts.


(though the "best" long-term fix will be a smarter patch which treats extended
input valuators differently, doing on-the-fly calibration and generally matching
to the user's needs more intelligently)...

Comment 7 bill.haneman 2004-06-09 22:24:10 UTC
Created attachment 28529 [details] [review]
patch which substantially satisfies the problem in this bug, and in bug 142833.
Comment 8 David Bolter 2004-07-16 14:02:58 UTC
Bill, is this patch going in soon?
Comment 9 bill.haneman 2004-07-16 16:52:49 UTC
Ask George :-)
Comment 10 David Bolter 2004-07-16 17:56:23 UTC
George, I think this bug needs to be addressed.  Are you comfortable with Bill's
patch?
Comment 11 bill.haneman 2004-08-13 15:57:44 UTC
Created attachment 30514 [details] [review]
improved patch which allows switch, mousebutton, and key gestures
Comment 12 bill.haneman 2004-08-25 15:42:36 UTC
ouch, the second patch dropped the changes to dwellmouselistener.c.  So I need
to update the patch to include both changes.
Comment 13 bill.haneman 2004-08-25 15:56:02 UTC
Created attachment 30935 [details] [review]
patch combining two patches above (dwell + key)
Comment 14 bill.haneman 2004-08-25 17:48:53 UTC
Setting GNOME milestone to 2.8.0.  I'm going to ping George via email about this
and a couple other gdm a11y bugs/patches.
Comment 15 John Crawley 2004-08-26 08:42:21 UTC
Awaiting to confirm fix in JDS Rel3 Build 17.
Comment 16 bill.haneman 2004-08-27 10:43:13 UTC
John: fix missed 17, should be in nightlies and b18.
Comment 17 Elijah Newren 2004-09-12 23:45:38 UTC
Punting to 2.8.x
Comment 18 Calum Benson 2004-10-21 16:39:54 UTC
Apologies for spam-- ensuring Sun a11y team are cc'ed on all current a11y bugs.
 Filter on "SUN A11Y SPAM" to ignore.
Comment 19 Brian Cameron 2005-02-14 22:23:00 UTC
Patch applied to CVS head.