Re: [g-a-devel]gok and WM issues ...



On Thu, 2003-02-13 at 10:45, Michael Meeks wrote:
> Hi guys,
> 
> 	Why is it that when I run gok it stops me from being able to move
> windows around ? it looks like some wierd WM/focus stuff is going on
> there - which is somewhat painful for a user.
> 
> 	Is that a feature ?

It depends, somewhat, on how you have GOK configured.

If, as is likely, you are 'driving' GOK via the "core pointer" (e.g.
mouse), then due to inherent issues having to do with "conflict of
interest" between GUIs and GOK, GOK must (via at-spi) consume the
relevant mouse button events*.  This will of course make 'normal' mouse
use nonfunctional.

My experience is that moving windows via keynav is still possible whilst
using GOK in this way, but perhaps you are seeing some new problem.

An upcoming patch to GOK (now in bugzilla, soon to be in HEAD in
slightly revised form) will allow the GOK user to use the core=pointer
in the 'normal' way even when driving GOK via core-pointer events;
however this feature will be 'modal' and GOK will revert to consuming
mouse button events if the core pointer re-enters the GOK window.  

Since this feature relies on the ability to actually 'point' with the
mouse, it won't/can't be available to switch-only users (users of
'inverse scanning' and 'automatic scanning' access modes of GOK).  Of
course for such users it matter little that the mouse can't be used in
the 'normal' way since they can't point with it.

A better way to run GOK, without these nasty complications, is to
connect the GOK switch/pointer/mouse/etc. to a port which has an XInput
driver (i.e., set up a USB mouse driver via XInput, turn off
'AlwaysCore' or 'SendCoreEvents' or whatever in XF86config), and attach
a mouse-like device (such as the XKeys device which turns switch presses
into mouse button events).  In the GOK settings dialog you can associate
'switch' actions with non-core input devices (though the dialog is
poorly organized at the moment).  Once you've done this, GOK gets its
events independent of the core pointer, which avoids these conflicts. 
The aforementioned patch also provides "latch core-pointer" behavior for
such users, so that for instance a headpointer user can momentarily
latch their pointing device to the core-pointer, which is a useful
feature.

short answer, yes, it's a (necessarily evil) "feature".  Best way to get
around it is to configure GOK to use non-core-pointer device events.

-Bill

* example: gtk+ does a keyboard+mouse-button grab when a menu is posted;
a GOK 'dwell-mode' user would be 'locked out' is s/he posted a gtk+
menu.  You can probably imagine other problem scenarios.

> 
> 	Regards,
> 
> 		Michael.
-- 
Bill Haneman <bill haneman sun com>




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]