(global_filter_fn): Correct typo which caused KeyPress and KeyRelease
events to be ignored.
(spi_controller_update_key_grabs): Use GrabModeSync for pointer_mode
keyboard_mode so that XAllowEvents() can be called.
Fixes bug #93658.
git-svn-id: http://svn.gnome.org/svn/at-spi/trunk@351
e2bd861d-eb25-0410-b326-
f6ed22b6b98c
+2002-10-10 Padraig O'Briain <padraig.obriain@sun.com>
+
+ * registryd/deviceeventcontroller.c
+ (global_filter_fn): Correct typo which caused KeyPress and KeyRelease
+ events to be ignored.
+ (spi_controller_update_key_grabs): Use GrabModeSync for pointer_mode
+ keyboard_mode so that XAllowEvents() can be called.
+
+ Fixes bug #93658.
+
2002-10-08 Padraig O'Briain <padraig.obriain@sun.com>
* cspi/spi-accessible.c: Correct names of roles returned by
2002-10-08 Padraig O'Briain <padraig.obriain@sun.com>
* cspi/spi-accessible.c: Correct names of roles returned by
{
grab_mask.key_val = AnyKey;
#ifdef SPI_DEBUG
{
grab_mask.key_val = AnyKey;
#ifdef SPI_DEBUG
- fprintf (stderr, "AnyKey grab!"); */
+ fprintf (stderr, "AnyKey grab!");
#endif
process_cb (controller, &grab_mask);
}
#endif
process_cb (controller, &grab_mask);
}
XEvent *xevent = gdk_xevent;
SpiDEController *controller;
XEvent *xevent = gdk_xevent;
SpiDEController *controller;
- if (xevent->type == KeyPress && xevent->type == KeyRelease)
+ if (xevent->type == KeyPress || xevent->type == KeyRelease)
{
controller = SPI_DEVICE_EVENT_CONTROLLER (data);
spi_device_event_controller_forward_key_event (controller, xevent);
{
controller = SPI_DEVICE_EVENT_CONTROLLER (data);
spi_device_event_controller_forward_key_event (controller, xevent);
x_default_error_handler = XSetErrorHandler (_spi_controller_device_error_handler);
}
x_default_error_handler = XSetErrorHandler (_spi_controller_device_error_handler);
}
-#define SPI_KEYEVENT_DEBUG
static gboolean
spi_key_set_contains_key (Accessibility_KeySet *key_set,
const Accessibility_DeviceEvent *key_event)
static gboolean
spi_key_set_contains_key (Accessibility_KeySet *key_set,
const Accessibility_DeviceEvent *key_event)
- fprintf (stderr, "grab with mask %x\n", grab_mask->mod_mask);
+ fprintf (stderr, "grab %d with mask %x\n", grab_mask->key_val, grab_mask->mod_mask);
#endif
XGrabKey (spi_get_display (),
grab_mask->key_val,
grab_mask->mod_mask,
gdk_x11_get_default_root_xwindow (),
True,
#endif
XGrabKey (spi_get_display (),
grab_mask->key_val,
grab_mask->mod_mask,
gdk_x11_get_default_root_xwindow (),
True,
- GrabModeAsync,
- GrabModeAsync);
+ GrabModeSync,
+ GrabModeSync);
XSync (spi_get_display (), False);
update_failed = spi_clear_error_state ();
if (update_failed) {
XSync (spi_get_display (), False);
update_failed = spi_clear_error_state ();
if (update_failed) {