Re: [g-a-devel] intercepting keys
- From: Li Yuan <Li Yuan Sun COM>
- To: Mike Gorse <mgorse mgorse dhs org>
- Cc: gnome-accessibility-devel gnome org
- Subject: Re: [g-a-devel] intercepting keys
- Date: Fri, 01 Aug 2008 11:08:53 +0800
Hi Mike,
Please refer to Accessibility_Registry.idl, AT can register a keystroke
listener (global or non-global) by registerKeystrokeListener. The
listener will be added to the listener list.
For non-global listeners, when there is a keyboard event,
spi_atk_bridge_key_listener in atk-bridge will notify at-spi-registryd
by Accessibility_DeviceEventController_notifyListenersSync. And
at-spi-registryd will notify every non-global listeners. I think Orca
gets events in this way.
For global listeners, at-spi-registryd calls gdk_window_add_filter to
get events from all windows. And at-spi-registryd will transfer the
event to global listeners. Do you mean this way does not work on your
system?
So for non-global listeners, the bridge need to intercept keys and pass
them to the registry.
Thanks,
Li
Mike Gorse wrote:
Hi all,
Can someone explain how the registry daemon is supposed to listen for
keyboard events? There is a function in deviceeventcontroller.c
called spi_controller_register_global_keygrabs which looks like it's
supposed to cause the daemon to grab keys, but it seems to do nothing
on my system. Instead, it looks like it is each application's
responsibility to pass keys along so that, say, Orca will see them
(this is done by gail for gtk applications); otherwise Orca won't know
if a user presses one of its hot keys. We don't currently have code
in the UIA-to-ATK bridge to handle this, so I'm trying to figure out
if we need code to intercept keys and pass them on to the registry.
Thanks,
-Mike G-
_______________________________________________
Gnome-accessibility-devel mailing list
Gnome-accessibility-devel gnome org
http://mail.gnome.org/mailman/listinfo/gnome-accessibility-devel
[Date Prev][
Date Next] [Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]