...
 
Commits (6)
......@@ -2,7 +2,7 @@
Authors of AT-SPI D-Bus implementation
--------------------------------------
Mike Gorse <mgorse@novell.com>
Mike Gorse <mgorse@suse.com>
Mark Doffman <mark.doffman@codethink.co.uk>
......
What's new in at-spi2-core 2.31.92:
* Fix atspi_table_cell_get_(row_column)_header_cells.
* Update documentation to indicate that extents are only meaningful
when an object has both STATE_VISIBLE and STATE_SHOWING.
* Use a consistent style for the meson options.
* Fix a compiler warning on BSD.
* Add ScrollSubstringTo and ScrollSubstringToPoint text interfaces.
What's new in at-spi2-core 2.31.1:
* Bus launcher: fix an issue where the error wasn't cleared on failure.
* Add support for locking/unlocking modifiers.
* Update error log text for consistency.
* Documentation clean-ups.
What's new in at-spi2-core 2.29.1:
* Add dbus-broker support to bus launcher.
......
prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
includedir=@includedir@
Name: atspi
Description: Accessibility Technology software library
Requires: dbus-1 glib-2.0
Version: @VERSION@
Libs: -L${libdir} -latspi
Cflags: -I${includedir}/at-spi-2.0
......@@ -36,7 +36,7 @@ atspi_collection_is_ancestor_of (AtspiCollection *collection,
AtspiAccessible *test,
GError **error)
{
g_warning ("Atspi: TODO: Implement is_ancestor_of");
g_warning ("AT-SPI: TODO: Implement is_ancestor_of");
return FALSE;
}
......@@ -267,7 +267,7 @@ atspi_collection_get_matches_from (AtspiCollection *collection,
AtspiAccessible *
atspi_collection_get_active_descendant (AtspiCollection *collection, GError **error)
{
g_warning ("atspi: TODO: Implement get_active_descendants");
g_warning ("AT-SPI: TODO: Implement get_active_descendants");
return NULL;
}
......
......@@ -129,6 +129,8 @@ atspi_component_get_accessible_at_point (AtspiComponent *obj,
* (e.g. ATSPI_COORD_TYPE_WINDOW, ATSPI_COORD_TYPE_SCREEN).
*
* Gets the bounding box of the specified #AtspiComponent.
* The returned values are meaningful only if the Component has both
* STATE_VISIBLE and STATE_SHOWING.
*
* Returns: An #AtspiRect giving the accessible's extents.
**/
......@@ -164,6 +166,8 @@ atspi_component_get_extents (AtspiComponent *obj,
* (e.g. ATSPI_COORD_TYPE_WINDOW, ATSPI_COORD_TYPE_SCREEN).
*
* Gets the minimum x and y coordinates of the specified #AtspiComponent.
* The returned values are meaningful only if the Component has both
* STATE_VISIBLE and STATE_SHOWING.
*
* returns: An #AtspiPoint giving the @obj's position.
**/
......@@ -192,6 +196,8 @@ atspi_component_get_position (AtspiComponent *obj,
* @obj: a pointer to the #AtspiComponent to query.
*
* Gets the size of the specified #AtspiComponent.
* The returned values are meaningful only if the Component has both
* STATE_VISIBLE and STATE_SHOWING.
*
* returns: An #AtspiPoint giving the @obj's size.
**/
......
This diff is collapsed.
......@@ -351,13 +351,13 @@ _atspi_dbus_handle_DeviceEvent (DBusConnection *bus, DBusMessage *message, void
if (strcmp (dbus_message_get_signature (message), "(uiuuisb)") != 0)
{
g_warning ("Atspi: Unknown signature for an event");
g_warning ("AT-SPI: Unknown signature for an event");
goto done;
}
if (sscanf (path, "/org/a11y/atspi/listeners/%d", &id) != 1)
{
g_warning ("Atspi: Bad listener path: %s\n", path);
g_warning ("AT-SPI: Bad listener path: %s\n", path);
goto done;
}
......@@ -379,7 +379,7 @@ _atspi_dbus_handle_DeviceEvent (DBusConnection *bus, DBusMessage *message, void
retval = (*klass->device_event) (listener, &event);
if (retval != 0 && retval != 1)
{
g_warning ("at-spi: device event handler returned %d; should be 0 or 1", retval);
g_warning ("AT-SPI: device event handler returned %d; should be 0 or 1", retval);
retval = 0;
}
}
......
......@@ -25,6 +25,7 @@
#include "atspi-private.h"
#include "atspi-accessible-private.h"
#include <string.h>
#include <strings.h>
#include <ctype.h>
typedef struct
......@@ -101,7 +102,7 @@ callback_unref (gpointer callback)
info = g_hash_table_lookup (callbacks, callback);
if (!info)
{
g_warning ("Atspi: Dereferencing invalid callback %p\n", callback);
g_warning ("AT-SPI: Dereferencing invalid callback %p\n", callback);
return;
}
info->ref_count--;
......@@ -679,7 +680,7 @@ atspi_event_listener_register_from_callback_full (AtspiEventListenerCB callback,
dbus_bus_add_match (_atspi_bus(), matchrule, &d_error);
if (dbus_error_is_set (&d_error))
{
g_warning ("Atspi: Adding match: %s", d_error.message);
g_warning ("AT-SPI: Adding match: %s", d_error.message);
dbus_error_free (&d_error);
/* TODO: Set error */
}
......@@ -916,7 +917,7 @@ _atspi_send_event (AtspiEvent *e)
if (!convert_event_type_to_dbus (e->type, &category, &name, &detail, NULL))
{
g_warning ("Atspi: Couldn't parse event: %s\n", e->type);
g_warning ("AT-SPI: Couldn't parse event: %s\n", e->type);
return;
}
for (l = event_listeners; l; l = g_list_next (l))
......
......@@ -49,6 +49,8 @@ atspi_image_get_image_description (AtspiImage *obj, GError **error)
* @obj: a pointer to the #AtspiImage to query.
*
* Gets the size of the image displayed in a specified #AtspiImage object.
* The returned values are meaningful only if the Image has both
* STATE_VISIBLE and STATE_SHOWING.
*
* Returns: a pointer to an #AtspiPoint where x corresponds to
* the image's width and y corresponds to the image's height.
......@@ -78,6 +80,8 @@ atspi_image_get_image_size (AtspiImage *obj, GError **error)
*
* Gets the minimum x and y coordinates of the image displayed in a
* specified #AtspiImage implementor.
* The returned values are meaningful only if the Image has both
* STATE_VISIBLE and STATE_SHOWING.
*
* Returns: a pointer to an #AtspiPoint where x and y correspond to the
* minimum coordinates of the displayed image.
......@@ -112,6 +116,8 @@ atspi_image_get_image_position (AtspiImage *obj,
*
* Gets the bounding box of the image displayed in a
* specified #AtspiImage implementor.
* The returned values are meaningful only if the Image has both
* STATE_VISIBLE and STATE_SHOWING.
*
* Returns: a pointer to an #AtspiRect corresponding to the image's bounding box. The minimum x and y coordinates,
* width, and height are specified.
......
......@@ -164,7 +164,7 @@ atspi_match_rule_new (AtspiStateSet *states,
if (role < 128)
rule->roles [role / 32] |= (1 << (role % 32));
else
g_warning ("Atspi: unexpected role %d\n", role);
g_warning ("AT-SPI: unexpected role %d\n", role);
}
}
else
......
......@@ -125,7 +125,7 @@ void _atspi_dbus_set_state (AtspiAccessible *accessible, DBusMessageIter *iter);
} \
if (strcmp (dbus_message_get_signature (message), type) != 0) \
{ \
g_warning ("at-spi: Expected message signature %s but got %s at %s line %d", type, dbus_message_get_signature (message), __FILE__, __LINE__); \
g_warning ("AT-SPI: Expected message signature %s but got %s at %s line %d", type, dbus_message_get_signature (message), __FILE__, __LINE__); \
dbus_message_unref (message); \
return (ret); \
}
......
......@@ -203,7 +203,7 @@ handle_get_bus_address (DBusPendingCall *pending, void *user_data)
else
{
if (!strcmp (error.name, DBUS_ERROR_FILE_NOT_FOUND))
g_warning ("Unable to open bus connection: %s", error.message);
g_warning ("AT-SPI: Unable to open bus connection: %s", error.message);
dbus_error_free (&error);
}
}
......@@ -1258,7 +1258,7 @@ _atspi_dbus_get_property (gpointer obj, const char *interface, const char *name,
dbus_message_iter_init (reply, &iter);
if (dbus_message_iter_get_arg_type (&iter) != 'v')
{
g_warning ("AT-SPI: expected a variant when fetching %s from interface %s; got %s\n", name, interface, dbus_message_get_signature (reply));
g_warning ("atspi_dbus_get_property: expected a variant when fetching %s from interface %s; got %s\n", name, interface, dbus_message_get_signature (reply));
goto done;
}
dbus_message_iter_recurse (&iter, &iter_variant);
......@@ -1530,7 +1530,7 @@ get_accessibility_bus_address_dbus (void)
if (!reply)
{
g_warning ("Error retrieving accessibility bus address: %s: %s",
g_warning ("AT-SPI: Error retrieving accessibility bus address: %s: %s",
error.name, error.message);
dbus_error_free (&error);
goto out;
......@@ -1584,7 +1584,7 @@ atspi_get_a11y_bus (void)
if (a11y_dbus_slot == -1)
if (!dbus_connection_allocate_data_slot (&a11y_dbus_slot))
g_warning ("at-spi: Unable to allocate D-Bus slot");
g_warning ("AT-SPI: Unable to allocate D-Bus slot");
address_env = g_getenv ("AT_SPI_BUS_ADDRESS");
if (address_env != NULL && *address_env != 0)
......
......@@ -426,8 +426,8 @@ atspi_deregister_device_event_listener (AtspiDeviceListener *listener,
/**
* atspi_generate_keyboard_event:
* @keyval: a #gint indicating the keycode or keysym of the key event
* being synthesized.
* @keyval: a #gint indicating the keycode or keysym or modifier mask of the
* key event being synthesized.
* @keystring: (allow-none): an (optional) UTF-8 string which, if
* @synth_type is %ATSPI_KEY_STRING, indicates a 'composed'
* keyboard input string being synthesized; this type of
......@@ -436,7 +436,8 @@ atspi_deregister_device_event_listener (AtspiDeviceListener *listener,
* input method (such as XIM) were used.
* @synth_type: an #AtspiKeySynthType flag indicating whether @keyval
* is to be interpreted as a keysym rather than a keycode
* (%ATSPI_KEY_SYM) or a string (%ATSPI_KEY_STRING), or
* (%ATSPI_KEY_SYM) or a string (%ATSPI_KEY_STRING) or a modifier
* mask (%ATSPI_KEY_LOCKMODIFIERS and %ATSPI_KEY_UNLOCKMODIFIERS), or
* whether to synthesize %ATSPI_KEY_PRESS,
* %ATSPI_KEY_RELEASE, or both (%ATSPI_KEY_PRESSRELEASE).
* @error: (allow-none): a pointer to a %NULL #GError pointer, or %NULL
......
......@@ -34,7 +34,7 @@ get_object_array_and_unref (DBusMessage *reply)
if (!reply)
return NULL;
if (strcmp (dbus_message_get_signature (reply), "(so)") != 0)
if (strcmp (dbus_message_get_signature (reply), "a(so)") != 0)
{
dbus_message_unref (reply);
return NULL;
......@@ -58,6 +58,8 @@ get_object_array_and_unref (DBusMessage *reply)
* @obj: a GObject instance that implements AtspiTableCellIface
*
* Returns the number of columns occupied by this cell accessible.
* The returned values are meaningful only if the table cell has both
* STATE_VISIBLE and STATE_SHOWING.
*
* Returns: a gint representing the number of columns occupied by this cell,
* or 0 if the cell does not implement this method.
......@@ -101,6 +103,8 @@ atspi_table_cell_get_column_header_cells (AtspiTableCell *obj, GError **error)
* @obj: a GObject instance that implements AtspiTableCellIface
*
* Returns the number of rows occupied by this cell accessible.
* The returned values are meaningful only if the table cell has both
* STATE_VISIBLE and STATE_SHOWING.
*
* Returns: a gint representing the number of rows occupied by this cell,
* or 0 if the cell does not implement this method.
......@@ -206,6 +210,8 @@ atspi_table_cell_get_position (AtspiTableCell *obj,
* @column_span: (out): the number of columns occupied by this cell.
*
* Gets the row and column indexes and extents of this cell accessible.
* The returned values are meaningful only if the table cell has both
* STATE_VISIBLE and STATE_SHOWING.
*/
void
atspi_table_cell_get_row_column_span (AtspiTableCell *obj,
......
......@@ -285,6 +285,8 @@ atspi_table_get_column_description (AtspiTable *obj,
* Gets the number of rows spanned by the table cell at the specific row
* and column. (some tables can have cells which span multiple rows
* and/or columns).
* The returned values are meaningful only if the Table has both
* STATE_VISIBLE and STATE_SHOWING.
*
* Returns: a #gint indicating the number of rows spanned by the specified cell.
**/
......@@ -313,6 +315,8 @@ atspi_table_get_row_extent_at (AtspiTable *obj,
* Gets the number of columns spanned by the table cell at the specific
* row and column (some tables can have cells which span multiple
* rows and/or columns).
* The returned values are meaningful only if the Table has both
* STATE_VISIBLE and STATE_SHOWING.
*
* Returns: a #gint indicating the number of columns spanned by the specified cell.
**/
......@@ -646,6 +650,8 @@ atspi_table_remove_column_selection (AtspiTable *obj,
* extents, and whether the cell is currently selected. If
* the child at index is not a cell (for instance, if it is
* a summary, caption, etc.), #FALSE is returned.
* The returned values are meaningful only if the Table has both
* STATE_VISIBLE and STATE_SHOWING.
*
* Example:
* If the #AtspiTable child at index '6' extends across columns 5 and 6 of
......
......@@ -618,6 +618,8 @@ atspi_text_get_character_at_offset (AtspiText *obj,
*
* Gets a bounding box containing the glyph representing
* the character at a particular text offset.
* The returned values are meaningful only if the Text has both
* STATE_VISIBLE and STATE_SHOWING.
*
* Returns: An #AtspiRect specifying the position and size of the character.
*
......@@ -690,6 +692,8 @@ atspi_text_get_offset_at_point (AtspiText *obj,
* for the returned values.
*
* Gets the bounding box for text within a range in an #AtspiText object.
* The returned values are meaningful only if the Text has both
* STATE_VISIBLE and STATE_SHOWING.
*
* Returns: An #AtspiRect giving the position and size of the specified range
* of text.
......@@ -892,6 +896,72 @@ atspi_text_set_selection (AtspiText *obj,
return retval;
}
/**
* atspi_text_scroll_substring_to:
* @obj: a pointer to the #AtspiText object on which to operate.
* @start_offset: a #gint indicating the start of the desired text range.
* @end_offset: a #gint indicating the first character past the desired range.
* @type: a #AtspiScrollType indicating where the object should be placed on the
* screen.
*
* Scrolls whatever container of the #AtspiText text range so it becomes
* visible on the screen.
*
* Returns: #TRUE if successful, #FALSE otherwise.
**/
gboolean
atspi_text_scroll_substring_to (AtspiText *obj,
gint start_offset,
gint end_offset,
AtspiScrollType type,
GError **error)
{
dbus_bool_t retval = FALSE;
g_return_val_if_fail (obj != NULL, FALSE);
_atspi_dbus_call (obj, atspi_interface_text, "ScrollSubstringTo",
error, "iiu=>b",
start_offset, end_offset, type, &retval);
return retval;
}
/**
* atspi_text_scroll_substring_to_point:
* @obj: a pointer to the #AtspiText object on which to operate.
* @start_offset: a #gint indicating the start of the desired text range.
* @end_offset: a #gint indicating the first character past the desired range.
* @coords: a #AtspiCoordType indicating whether the coordinates are relative to
* the screen, to the window, or to the parent object.
* @x: the x coordinate of the point to reach
* @y: the y coordinate of the point to reach
*
* Scrolls whatever container of the #AtspiText text range so it becomes
* visible on the screen at a given position.
*
* Returns: #TRUE if successful, #FALSE otherwise.
**/
gboolean
atspi_text_scroll_substring_to_point (AtspiText *obj,
gint start_offset,
gint end_offset,
AtspiCoordType coords,
gint x,
gint y,
GError **error)
{
dbus_bool_t retval = FALSE;
g_return_val_if_fail (obj != NULL, FALSE);
_atspi_dbus_call (obj, atspi_interface_text, "ScrollSubstringToPoint",
error, "iiuii=>b",
start_offset, end_offset, coords, x, y, &retval);
return retval;
}
static void
atspi_text_base_init (AtspiText *klass)
{
......
......@@ -137,6 +137,10 @@ gboolean atspi_text_remove_selection (AtspiText *obj, gint selection_num, GError
gboolean atspi_text_set_selection (AtspiText *obj, gint selection_num, gint start_offset, gint end_offset, GError **error);
gboolean atspi_text_scroll_substring_to (AtspiText *obj, gint start_offset, gint end_offset, AtspiScrollType type, GError **error);
gboolean atspi_text_scroll_substring_to_point (AtspiText *obj, gint start_offset, gint end_offset, AtspiCoordType coords, gint x, gint y, GError **error);
G_END_DECLS
#endif /* _ATSPI_TEXT_H_ */
......@@ -113,3 +113,13 @@ if have_gir
)
endif
pkgconfig = import('pkgconfig')
pkgconfig.generate(
name: 'atspi',
description: 'Accessibility Technology software library',
version: meson.project_version(),
libraries: atspi,
requires: 'dbus-1 glib-2.0',
subdirs: 'at-spi-2.0',
filebase: 'atspi-2',
)
......@@ -25,7 +25,7 @@
#include <unistd.h>
#include <string.h>
#include <signal.h>
#ifdef __linux
#ifdef __linux__
#include <sys/prctl.h>
#include <sys/socket.h>
#include <sys/un.h>
......@@ -278,7 +278,7 @@ setup_bus_child_daemon (gpointer data)
close (app->pipefd[1]);
/* On Linux, tell the bus process to exit if this process goes away */
#ifdef __linux
#ifdef __linux__
prctl (PR_SET_PDEATHSIG, 15);
#endif
}
......@@ -293,7 +293,9 @@ ensure_a11y_bus_daemon (A11yBusLauncher *app, char *config_path)
if (pipe (app->pipefd) < 0)
g_error ("Failed to create pipe: %s", strerror (errno));
g_clear_pointer (&app->a11y_launch_error_message, g_free);
if (!g_spawn_async (NULL,
argv,
NULL,
......@@ -389,6 +391,8 @@ ensure_a11y_bus_broker (A11yBusLauncher *app, char *config_path)
if (listen (app->listenfd, 1024) < 0)
g_error ("Failed to listen on socket: %s", strerror(errno));
g_clear_pointer (&app->a11y_launch_error_message, g_free);
if (!g_spawn_async (NULL,
argv,
NULL,
......
at-spi2-core (2.32.0-1) experimental; urgency=medium
* Team upload
* New upstream release
* Update configure flags
* Drop debian/patches/git-lockmods: Applied in new release
-- Jeremy Bicha <jbicha@debian.org> Sat, 16 Mar 2019 17:55:45 -0400
at-spi2-core (2.30.0-7) unstable; urgency=medium
* Move 90qt-a11y.conf to /etc to allow administrators to disable it if
......
......@@ -10,7 +10,7 @@ Build-Depends: debhelper (>= 11.1.3),
libxkbcommon-x11-dev,
libxkbcommon-dev,
libxtst-dev,
meson (>= 0.48.2-1),
meson (>= 0.48.2),
libgirepository1.0-dev,
gtk-doc-tools (>= 1.09),
gobject-introspection,
......
commit 77313dabdc76ebd012d003e253a79596e3acc72d
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date: Sun Nov 18 15:24:16 2018 -0600
Add support for locking/unlocking modifiers
diff --git a/atspi/atspi-constants.h b/atspi/atspi-constants.h
index d9ad154..b9f41ef 100644
--- a/atspi/atspi-constants.h
+++ b/atspi/atspi-constants.h
@@ -715,6 +715,8 @@ typedef enum {
* subject to the out-of-keymap limitations described for
* @ATSPI_KEY_SYM. In practice this limitation primarily effects
* Chinese and Japanese locales.
+ * @ATSPI_KEY_LOCKMODIFIERS: Emulates locking a set of modifiers.
+ * @ATSPI_KEY_UNLOCKMODIFIERS: Emulates unlocking a set of modifiers.
*
* Enumeration used when synthesizing keyboard input via
* #atspi_generate_keyboard_event.
@@ -726,6 +728,8 @@ typedef enum {
ATSPI_KEY_PRESSRELEASE,
ATSPI_KEY_SYM,
ATSPI_KEY_STRING,
+ ATSPI_KEY_LOCKMODIFIERS,
+ ATSPI_KEY_UNLOCKMODIFIERS,
} AtspiKeySynthType;
/**
diff --git a/atspi/atspi-registry.c b/atspi/atspi-registry.c
index c9b11f0..76b1926 100644
--- a/atspi/atspi-registry.c
+++ b/atspi/atspi-registry.c
@@ -426,8 +426,8 @@ atspi_deregister_device_event_listener (AtspiDeviceListener *listener,
/**
* atspi_generate_keyboard_event:
- * @keyval: a #gint indicating the keycode or keysym of the key event
- * being synthesized.
+ * @keyval: a #gint indicating the keycode or keysym or modifier mask of the
+ * key event being synthesized.
* @keystring: (allow-none): an (optional) UTF-8 string which, if
* @synth_type is %ATSPI_KEY_STRING, indicates a 'composed'
* keyboard input string being synthesized; this type of
@@ -436,7 +436,8 @@ atspi_deregister_device_event_listener (AtspiDeviceListener *listener,
* input method (such as XIM) were used.
* @synth_type: an #AtspiKeySynthType flag indicating whether @keyval
* is to be interpreted as a keysym rather than a keycode
- * (%ATSPI_KEY_SYM) or a string (%ATSPI_KEY_STRING), or
+ * (%ATSPI_KEY_SYM) or a string (%ATSPI_KEY_STRING) or a modifier
+ * mask (%ATSPI_KEY_LOCKMODIFIERS and %ATSPI_KEY_UNLOCKMODIFIERS), or
* whether to synthesize %ATSPI_KEY_PRESS,
* %ATSPI_KEY_RELEASE, or both (%ATSPI_KEY_PRESSRELEASE).
* @error: (allow-none): a pointer to a %NULL #GError pointer, or %NULL
diff --git a/doc/libatspi/tmpl/atspi-constants.sgml b/doc/libatspi/tmpl/atspi-constants.sgml
index 24bb07f..af2ec33 100644
--- a/doc/libatspi/tmpl/atspi-constants.sgml
+++ b/doc/libatspi/tmpl/atspi-constants.sgml
@@ -291,6 +291,8 @@ Constant definitions needed by multiple interfaces.
@ATSPI_KEY_PRESSRELEASE:
@ATSPI_KEY_SYM:
@ATSPI_KEY_STRING:
+@ATSPI_KEY_LOCKMODIFIERS:
+@ATSPI_KEY_UNLOCKMODIFIERS:
<!-- ##### MACRO ATSPI_KEYSYNTHTYPE_COUNT ##### -->
<para>
diff --git a/idl/controller.didl b/idl/controller.didl
index 53b5f71..4519a0a 100644
--- a/idl/controller.didl
+++ b/idl/controller.didl
@@ -6,7 +6,9 @@ interface org.freestandards.atspi.DeviceEventController {
KEY_RELEASE,
KEY_PRESSRELEASE,
KEY_SYM,
- KEY_STRING
+ KEY_STRING,
+ KEY_LOCKMODIFIERS,
+ KEY_UNLOCKMODIFIERS
}
/*
diff --git a/registryd/de-types.h b/registryd/de-types.h
index a338e38..f08823c 100644
--- a/registryd/de-types.h
+++ b/registryd/de-types.h
@@ -47,6 +47,8 @@ typedef enum {
Accessibility_KEY_PRESSRELEASE,
Accessibility_KEY_SYM,
Accessibility_KEY_STRING,
+ Accessibility_KEY_LOCKMODIFIERS,
+ Accessibility_KEY_UNLOCKMODIFIERS,
} Accessibility_KeySynthType;
typedef struct _Accessibility_DeviceEvent Accessibility_DeviceEvent;
diff --git a/registryd/deviceeventcontroller.c b/registryd/deviceeventcontroller.c
index 0c965ef..4e25ad6 100644
--- a/registryd/deviceeventcontroller.c
+++ b/registryd/deviceeventcontroller.c
@@ -1762,6 +1762,12 @@ impl_generate_keyboard_event (DBusConnection *bus, DBusMessage *message, void *u
fprintf (stderr, "Keystring synthesis failure, string=%s\n",
keystring);
break;
+ case Accessibility_KEY_LOCKMODIFIERS:
+ spi_dec_plat_lock_modifiers (controller, keycode);
+ break;
+ case Accessibility_KEY_UNLOCKMODIFIERS:
+ spi_dec_plat_unlock_modifiers (controller, keycode);
+ break;
}
reply = dbus_message_new_method_return (message);
return reply;
at-spi-by-default
disable-test-that-needs-installed-dbus-service.patch
git-lockmods
......@@ -8,8 +8,8 @@ export DEB_BUILD_MAINT_OPTIONS = hardening=+all
override_dh_auto_configure:
ac_cv_lib_ICE_IceConnectionNumber=no \
dh_auto_configure -- --libexecdir=/usr/lib/at-spi2-core \
-Denable-introspection=yes \
-Denable_docs=true
-Dintrospection=yes \
-Ddocs=true
override_dh_auto_test:
dbus-run-session -- xvfb-run dh_auto_test
......
......@@ -42,8 +42,6 @@
<xi:include href="xml/atspi-types.xml"/>
<xi:include href="xml/atspi-constants.xml"/>
<xi:include href="xml/atspi-misc.xml"/>
<xi:include href="xml/atspi-misc-private.xml"/>
<xi:include href="xml/atspi-listener-private.xml"/>
</chapter>
<chapter id="object-tree">
......
<SECTION>
<FILE>atspi-text</FILE>
AtspiRange
ATSPI_TYPE_RANGE
atspi_range_copy
AtspiTextRange
ATSPI_TYPE_TEXT_RANGE
atspi_text_get_type
AtspiText
atspi_text_range_get_type
......@@ -29,12 +27,19 @@ atspi_text_get_selection
atspi_text_add_selection
atspi_text_remove_selection
atspi_text_set_selection
atspi_text_get_string_at_offset
atspi_text_get_text_attribute_value
atspi_text_get_text_attributes
atspi_text_scroll_substring_to
atspi_text_scroll_substring_to_point
<SUBSECTION Standard>
ATSPI_TEXT
ATSPI_IS_TEXT
ATSPI_TYPE_TEXT
atspi_range_get_type
ATSPI_TEXT_GET_IFACE
ATSPI_TYPE_RANGE
ATSPI_TYPE_TEXT_RANGE
</SECTION>
<SECTION>
......@@ -97,6 +102,9 @@ AtspiAction
atspi_action_get_n_actions
atspi_action_get_description
atspi_action_get_key_binding
atspi_action_get_action_description
atspi_action_get_action_name
atspi_action_get_localized_name
atspi_action_get_name
atspi_action_do_action
<SUBSECTION Standard>
......@@ -161,6 +169,10 @@ AtspiDocument
atspi_document_get_locale
atspi_document_get_attribute_value
atspi_document_get_attributes
atspi_document_get_current_page_number
atspi_document_get_document_attribute_value
atspi_document_get_document_attributes
atspi_document_get_page_count
<SUBSECTION Standard>
ATSPI_DOCUMENT
ATSPI_IS_DOCUMENT
......@@ -207,6 +219,8 @@ atspi_accessible_get_attributes_as_array
atspi_accessible_get_locale
atspi_accessible_get_toolkit_name
atspi_accessible_get_toolkit_version
atspi_accessible_get_atspi_version
atspi_accessible_get_id
atspi_accessible_get_application
atspi_accessible_get_action
atspi_accessible_get_collection
......@@ -218,8 +232,24 @@ atspi_accessible_get_hypertext
atspi_accessible_get_image
atspi_accessible_get_selection
atspi_accessible_get_table
atspi_accessible_get_table_cell
atspi_accessible_get_text
atspi_accessible_get_value
atspi_accessible_get_object_locale
atspi_accessible_set_cache_mask
atspi_accessible_clear_cache
atspi_accessible_get_process_id
atspi_accessible_get_action_iface
atspi_accessible_get_collection_iface
atspi_accessible_get_component_iface
atspi_accessible_get_document_iface
atspi_accessible_get_editable_text_iface
atspi_accessible_get_hypertext_iface
atspi_accessible_get_image_iface
atspi_accessible_get_selection_iface
atspi_accessible_get_table_iface
atspi_accessible_get_text_iface
atspi_accessible_get_value_iface
atspi_accessible_get_interfaces
<SUBSECTION Standard>
ATSPI_ACCESSIBLE
......@@ -229,6 +259,9 @@ atspi_accessible_get_type
ATSPI_ACCESSIBLE_CLASS
ATSPI_IS_ACCESSIBLE_CLASS
ATSPI_ACCESSIBLE_GET_CLASS
<SUBSECTION Private>
AtspiAccessiblePrivate
</SECTION>
<SECTION>
......@@ -252,6 +285,20 @@ ATSPI_IS_DEVICE_LISTENER_CLASS
ATSPI_DEVICE_LISTENER_GET_CLASS
</SECTION>
<SECTION>
<FILE>atspi-hypertext</FILE>
AtspiHypertext
atspi_hypertext_get_n_links
atspi_hypertext_get_link
atspi_hypertext_get_link_index
<SUBSECTION Standard>
ATSPI_HYPERTEXT
ATSPI_IS_HYPERTEXT
ATSPI_TYPE_HYPERTEXT
atspi_hypertext_get_type
ATSPI_HYPERTEXT_GET_IFACE
</SECTION>
<SECTION>
<FILE>atspi-hyperlink</FILE>
<TITLE>AtspiHyperlink</TITLE>
......@@ -278,7 +325,6 @@ ATSPI_HYPERLINK_GET_CLASS
<SECTION>
<FILE>atspi-editabletext</FILE>
AtspiEditableText
atspi_editable_text_set_attributes
atspi_editable_text_insert_text
atspi_editable_text_copy_text
atspi_editable_text_cut_text
......@@ -290,6 +336,8 @@ ATSPI_IS_EDITABLE_TEXT
ATSPI_TYPE_EDITABLE_TEXT
atspi_editable_text_get_type
ATSPI_EDITABLE_TEXT_GET_IFACE
<SUBSECTION Private>
atspi_editable_text_set_attributes
</SECTION>
<SECTION>
......@@ -356,12 +404,13 @@ atspi_table_cell_get_position
atspi_table_cell_get_row_column_span
atspi_table_cell_get_table
<SUBSECTION Standard>
ATSPI_TABLE
ATSPI_IS_TABLE
ATSPI_TYPE_TABLE
atspi_table_get_type
ATSPI_TABLE_GET_IFACE
ATSPI_TABLE_CELL
ATSPI_IS_TABLE_CELL
ATSPI_TYPE_TABLE_CELL
atspi_table_cell_get_type
ATSPI_TABLE_CELL_GET_IFACE
</SECTION>
<SECTION>
<FILE>atspi-selection</FILE>
AtspiSelection
......@@ -393,7 +442,9 @@ atspi_event_listener_new
atspi_event_listener_new_simple
atspi_event_listener_register
atspi_event_listener_register_from_callback
atspi_event_listener_register_from_callback_full
atspi_event_listener_register_no_data
atspi_event_listener_register_full
atspi_event_listener_deregister
atspi_event_listener_deregister_from_callback
atspi_event_listener_deregister_no_data
......@@ -407,20 +458,6 @@ ATSPI_IS_EVENT_LISTENER_CLASS
ATSPI_EVENT_LISTENER_GET_CLASS
</SECTION>
<SECTION>
<FILE>atspi-hypertext</FILE>
AtspiHypertext
atspi_hypertext_get_n_links
atspi_hypertext_get_link
atspi_hypertext_get_link_index
<SUBSECTION Standard>
ATSPI_HYPERTEXT
ATSPI_IS_HYPERTEXT
ATSPI_TYPE_HYPERTEXT
atspi_hypertext_get_type
ATSPI_HYPERTEXT_GET_IFACE
</SECTION>
<SECTION>
<FILE>atspi-component</FILE>
AtspiRect
......@@ -443,6 +480,9 @@ atspi_component_grab_focus
atspi_component_get_alpha
atspi_component_scroll_to
atspi_component_scroll_to_point
atspi_component_set_extents
atspi_component_set_position
atspi_component_set_size
<SUBSECTION Standard>
ATSPI_COMPONENT
ATSPI_IS_COMPONENT
......@@ -467,20 +507,6 @@ atspi_generate_mouse_event
<SECTION>
<FILE>atspi-types</FILE>
AtspiAccessible
AtspiAction
AtspiCollection
AtspiComponent
AtspiDocument
AtspiEditableText
AtspiHyperlink
AtspiHypertext
AtspiImage
AtspiSelection
AtspiTable
AtspiTableCell
AtspiText
AtspiValue
AtspiControllerEventMask
AtspiKeyMaskType
AtspiKeyEventMask
......@@ -489,9 +515,13 @@ AtspiDeviceEvent
AtspiEventListenerMode
AtspiKeyDefinition
AtspiEvent
ATSPI_TYPE_EVENT
AtspiKeystrokeListener
AtspiKeyListenerSyncType
<SUBSECTION Standard>
ATSPI_TYPE_EVENT
atspi_device_event_get_type
atspi_key_listener_sync_type_get_type
</SECTION>
<SECTION>
......@@ -508,6 +538,7 @@ AtspiCollectionTreeTraversalType
ATSPI_TREETRAVERSALTYPE
AtspiComponentLayer
ATSPI_COMPONENTLAYER_COUNT
AtspiTextGranularity
AtspiTextBoundaryType
ATSPI_TEXT_BOUNDARY_TYPE_COUNT
AtspiTextClipType
......@@ -526,42 +557,83 @@ AtspiRelationType
ATSPI_RELATIONTYPE_COUNT
AtspiRole
ATSPI_ROLE_COUNT
AtspiCache
AtspiScrollType
ATSPI_SCROLLTYPE_COUNT
<SUBSECTION Standard>
atspi_cache_get_type
atspi_collection_match_type_get_type
atspi_collection_sort_order_get_type
atspi_collection_tree_traversal_type_get_type
atspi_component_layer_get_type
atspi_coord_type_get_type
atspi_event_type_get_type
atspi_key_event_type_get_type
atspi_key_synth_type_get_type
atspi_locale_type_get_type
atspi_modifier_type_get_type
atspi_modifier_type_get_type
atspi_relation_type_get_type
atspi_role_get_type
atspi_scroll_type_get_type
atspi_state_type_get_type
atspi_text_boundary_type_get_type
atspi_text_clip_type_get_type
atspi_text_granularity_get_type
ATSPI_TYPE_CACHE
ATSPI_TYPE_COLLECTION_MATCH_TYPE
ATSPI_TYPE_COLLECTION_SORT_ORDER
ATSPI_TYPE_COLLECTION_TREE_TRAVERSAL_TYPE
ATSPI_TYPE_COMPONENT_LAYER
ATSPI_TYPE_COORD_TYPE
ATSPI_TYPE_DEVICE_EVENT
ATSPI_TYPE_EVENT_TYPE
ATSPI_TYPE_KEY_EVENT_TYPE
ATSPI_TYPE_KEY_LISTENER_SYNC_TYPE
ATSPI_TYPE_KEY_SYNTH_TYPE
ATSPI_TYPE_LOCALE_TYPE
ATSPI_TYPE_MODIFIER_TYPE
ATSPI_TYPE_RELATION_TYPE
ATSPI_TYPE_ROLE
ATSPI_TYPE_SCROLL_TYPE
ATSPI_TYPE_STATE_TYPE
ATSPI_TYPE_TEXT_BOUNDARY_TYPE
ATSPI_TYPE_TEXT_CLIP_TYPE
ATSPI_TYPE_TEXT_GRANULARITY
</SECTION>
<SECTION>
<FILE>atspi-misc</FILE>
atspi_init
atspi_is_initialized
atspi_set_timeout
atspi_set_main_context
atspi_event_main
atspi_event_quit
atspi_exit
</SECTION>
<SECTION>
<FILE>atspi-misc-private</FILE>
ATSPI_CACHE_PARENT
<SUBSECTION Private>
atspi_main_loop
atspi_get_a11y_bus
atspi_dbus_connection_setup_with_g_main
atspi_dbus_server_setup_with_g_main
atspi_bus_registry
ATSPI_CACHE_CHILDREN
ATSPI_CACHE_NAME
ATSPI_CACHE_DESCRIPTION
ATSPI_CACHE_STATES
ATSPI_CACHE_ROLE
ATSPI_CACHE_INTERFACES
AtspiReference
ATSPI_DBUS_NAME_REGISTRY
ATSPI_DBUS_PATH_REGISTRY
ATSPI_DBUS_INTERFACE_REGISTRY
ATSPI_DBUS_PATH_NULL
ATSPI_DBUS_PATH_ROOT
ATSPI_DBUS_PATH_DEC
ATSPI_DBUS_INTERFACE_DEC
ATSPI_DBUS_INTERFACE_DEVICE_EVENT_LISTENER
ATSPI_DBUS_INTERFACE_CACHE
ATSPI_CACHE_NAME
ATSPI_CACHE_PARENT
ATSPI_CACHE_ROLE
ATSPI_CACHE_STATES
ATSPI_DBUS_INTERFACE_ACCESSIBLE
ATSPI_DBUS_INTERFACE_ACTION
ATSPI_DBUS_INTERFACE_APPLICATION
ATSPI_DBUS_INTERFACE_CACHE
ATSPI_DBUS_INTERFACE_COLLECTION
ATSPI_DBUS_INTERFACE_COMPONENT
ATSPI_DBUS_INTERFACE_DEC
ATSPI_DBUS_INTERFACE_DEVICE_EVENT_LISTENER
ATSPI_DBUS_INTERFACE_DOCUMENT
ATSPI_DBUS_INTERFACE_EDITABLE_TEXT
ATSPI_DBUS_INTERFACE_EVENT_KEYBOARD
......@@ -570,18 +642,22 @@ ATSPI_DBUS_INTERFACE_EVENT_OBJECT
ATSPI_DBUS_INTERFACE_HYPERLINK
ATSPI_DBUS_INTERFACE_HYPERTEXT
ATSPI_DBUS_INTERFACE_IMAGE
ATSPI_DBUS_INTERFACE_REGISTRY
ATSPI_DBUS_INTERFACE_SELECTION
ATSPI_DBUS_INTERFACE_SOCKET
ATSPI_DBUS_INTERFACE_TABLE
ATSPI_DBUS_INTERFACE_TABLE_CELL
ATSPI_DBUS_INTERFACE_TEXT
ATSPI_DBUS_INTERFACE_VALUE
ATSPI_DBUS_INTERFACE_SOCKET
atspi_path_dec
atspi_path_registry
atspi_path_root
atspi_bus_registry
ATSPI_DBUS_NAME_REGISTRY
ATSPI_DBUS_PATH_DEC
ATSPI_DBUS_PATH_NULL
ATSPI_DBUS_PATH_REGISTRY
ATSPI_DBUS_PATH_ROOT
atspi_interface_accessible
atspi_interface_action
atspi_interface_application
atspi_interface_cache
atspi_interface_collection
atspi_interface_component
atspi_interface_dec
......@@ -596,12 +672,13 @@ atspi_interface_selection
atspi_interface_table
atspi_interface_table_cell
atspi_interface_text
atspi_interface_cache
atspi_interface_value
</SECTION>
atspi_no_cache
atspi_path_dec
atspi_path_registry
atspi_path_root
AtspiReference
AtspiError
ATSPI_ERROR
<SECTION>
<FILE>atspi-listener-private</FILE>
atspi_dbus_handle_deviceEvent
</SECTION>
......@@ -291,6 +291,8 @@ Constant definitions needed by multiple interfaces.
@ATSPI_KEY_PRESSRELEASE:
@ATSPI_KEY_SYM:
@ATSPI_KEY_STRING:
@ATSPI_KEY_LOCKMODIFIERS:
@ATSPI_KEY_UNLOCKMODIFIERS:
<!-- ##### MACRO ATSPI_KEYSYNTHTYPE_COUNT ##### -->
<para>
......
......@@ -102,6 +102,7 @@ interface org.freestandards.atspi.Component {
/*
Obtain the components bounding box, in pixels, relative to the specified coordinate system.
The returned values are meaningful only if the Component has both STATE_VISIBLE and STATE_SHOWING.
*/
method GetExtents {
CoordType cood_type;
......@@ -111,6 +112,7 @@ interface org.freestandards.atspi.Component {
/*
Obtain the position of the current component in the specified coordinate system.
The returned values are meaningful only if the Component has both STATE_VISIBLE and STATE_SHOWING.
*/
method GetPosition {
CoordType coord_type;
......@@ -122,6 +124,7 @@ interface org.freestandards.atspi.Component {
/*
Obtain the size in the specified coordinate system.
Fully contains teh object's visual representation without accounting for viewport clipping.
The returned values are meaningful only if the Component has both STATE_VISIBLE and STATE_SHOWING.
*/
method GetSize reply {
int32 width;
......
......@@ -6,7 +6,9 @@ interface org.freestandards.atspi.DeviceEventController {
KEY_RELEASE,
KEY_PRESSRELEASE,
KEY_SYM,
KEY_STRING
KEY_STRING,
KEY_LOCKMODIFIERS,
KEY_UNLOCKMODIFIERS
}
/*
......
......@@ -10,14 +10,20 @@ interface org.freestandards.atspi.Image {
/* A string corresponding to the local used by the image description. */
read property string ImageLocale;
/* Obtain a bounding box which entirely contains the image contents. */
/*
Obtain a bounding box which entirely contains the image contents.
The returned values are meaningful only if the Image has both STATE_VISIBLE and STATE_SHOWING.
*/
method GetImageExtents {
CoordType coord_type;
} reply {
BoundingBox;
}
/* Get the coordinates of the image on the screen */
/*
Get the coordinates of the image on the screen
The returned values are meaningful only if the Image has both STATE_VISIBLE and STATE_SHOWING.
*/
method GetImagePosition {
CoordType coord_type;
} reply {
......@@ -25,7 +31,10 @@ interface org.freestandards.atspi.Image {
int32 y;
}
/* Get the size of the current on-screen view of the image. */
/*
Get the size of the current on-screen view of the image.
The returned values are meaningful only if the Image has both STATE_VISIBLE and STATE_SHOWING.
*/
method GetImageSize reply {
int32 width;
int32 height;
......
......@@ -76,6 +76,8 @@ namespace org.freestandards.atspi {
/*
Get the number of rows spanned by the table cell at the specific row and column.
The returned values are meaningful only if the Table has both STATE_VISIBLE and STATE_SHOWING.
*/
method GetRowExtentAt {
int32 row;
int32 column;
......@@ -85,6 +87,7 @@ namespace org.freestandards.atspi {
/*
Get the number of columns spanned by the table cell at the specific row and column.
The returned values are meaningful only if the Table has both STATE_VISIBLE and STATE_SHOWING.
*/
method GetColumnExtentAt {
int32 row;
......@@ -171,6 +174,7 @@ namespace org.freestandards.atspi {
/*
Given a child index determine the row and column indicies and extents
and whether the cell is currently selected.
The returned values are meaningful only if the Table has both STATE_VISIBLE and STATE_SHOWING.
*/
method GetRowColumnExtentsAtIndex {
int32 index;
......
......@@ -129,6 +129,7 @@ namespace org.freestandards.atspi {
/*
Obtain a bounding box of the character glyph at a particular character offset,
in the given coordinate system.
The returned values are meaningful only if the Text has both STATE_VISIBLE and STATE_SHOWING.
*/
method GetCharacterExtents {
int32 offset;
......@@ -192,6 +193,7 @@ namespace org.freestandards.atspi {
Obtain the bounding box which entirely contains the given text range.
Negative values may be obtained in the event that part of the text range is
off-screen.
The returned values are meaningful only if the Text has both STATE_VISIBLE and STATE_SHOWING.
*/
method GetRangeExtents {
int32 start_offset;
......@@ -241,6 +243,22 @@ namespace org.freestandards.atspi {
method GetAttributeSet reply {
Attributes attributes'
}
/*
Scroll this text range so it becomes visible on the screen.
*/
method ScrollSubstringTo {
ScrollType type;
}
/*
Scroll this text range so it becomes visible on the screen at a given position.
*/
method ScrollSubstringToPoint {
CoordType type;
int32 x;
int32 y;
}
}
/*
......
project('at-spi2-core', 'c',
version: '2.29.1',
version: '2.32.0',
license: 'LGPLv2.1+',
default_options: [
'buildtype=debugoptimized',
......@@ -55,7 +55,7 @@ gio_dep = dependency('gio-2.0', version: gio_req_version)
dl_dep = cc.find_library('dl', required: false)
x11_deps = []
x11_option = get_option('enable-x11')
x11_option = get_option('x11')
if x11_option != 'no'
x11_dep = dependency('x11', required: false)
......@@ -96,7 +96,7 @@ at_spi_conf.set('ALIGNOF_DBIND_STRUCT', cc.alignment('dbind_struct', prefix: 'ty
# introspection support
have_gir = false
introspection_option = get_option('enable-introspection')
introspection_option = get_option('introspection')
if introspection_option != 'no'
gir_dep = dependency('gobject-introspection-1.0', version: '>= 0.6.7', required: false)
......@@ -109,20 +109,6 @@ xgettext = find_program('xgettext', required : false)
configure_file(output: 'config.h', configuration: at_spi_conf)
# Compat variables for pkgconfig
pkgconf = configuration_data()
pkgconf.set('prefix', get_option('prefix'))
pkgconf.set('exec_prefix', get_option('prefix'))
pkgconf.set('libdir', atspi_libdir)
pkgconf.set('includedir', atspi_includedir)
pkgconf.set('VERSION', meson.project_version())
configure_file(input: 'atspi-2.pc.in',
output: 'atspi-2.pc',
configuration: pkgconf,
install: true,
install_dir: join_paths(get_option('libdir'), 'pkgconfig'))
gnome = import('gnome')
subdir('dbind')
......@@ -131,7 +117,7 @@ subdir('bus')
subdir('registryd')
subdir('test')
if get_option('enable_docs')
if get_option('docs')
subdir('doc/libatspi')
endif
......
......@@ -19,11 +19,17 @@ option('systemd_user_dir',
description: 'Location of the systemd user services',
type: 'string',
value: 'default')
option('enable_docs',
option('docs',
description: 'Generate API reference for atspi (requires GTK-Doc)',
type: 'boolean',
value: false)
option('enable-introspection', type: 'combo', choices: ['yes', 'no', 'auto'], value: 'auto', description: 'Enable GObject Introspection (depends on GObject)')
option('enable-x11', type: 'combo', choices: ['yes', 'no', 'auto'], value: 'auto', description: 'Enable X11 support')
option('introspection',
description: 'Enable GObject Introspection (depends on GObject)',
type: 'combo',
choices: ['yes', 'no', 'auto'],
value: 'auto')
option('x11',
description: 'Enable X11 support',
type: 'combo',
choices: ['yes', 'no', 'auto'],
value: 'auto')
......@@ -2,27 +2,27 @@
# Copyright (C) 2011 Listed translators
# This file is distributed under the same license as the at-spi2-core package.
# Claude Paroz <claude@2xlibre.net>, 2011.
# Charles Monzat <charles.monzat@numericable.fr>, 2018.
#
msgid ""
msgstr ""
"Project-Id-Version: at-spi2-core master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=at-"
"spi&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2014-02-03 23:50+0000\n"
"PO-Revision-Date: 2014-03-11 22:53+0100\n"
"Last-Translator: Claude Paroz <claude@2xlibre.net>\n"
"Language-Team: GNOME French Team <gnomefr@traduc.org>\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/at-spi2-core/issues\n"
"POT-Creation-Date: 2018-10-05 04:46+0000\n"
"PO-Revision-Date: 2018-11-14 18:35+0100\n"
"Last-Translator: Charles Monzat <charles.monzat@numericable.fr>\n"
"Language-Team: français <gnomefr@traduc.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Gtranslator 3.30.0\n"
#: ../atspi/atspi-component.c:325 ../atspi/atspi-misc.c:1034
#: ../atspi/atspi-value.c:111
#: atspi/atspi-component.c:326 atspi/atspi-misc.c:1073 atspi/atspi-value.c:111
msgid "The application no longer exists"
msgstr "L'application n'existe plus"
msgstr "L’application n’existe plus"
#: ../atspi/atspi-misc.c:1777
#: atspi/atspi-misc.c:1850
msgid "Attempted synchronous call where prohibited"
msgstr "La tentative d'appel synchrone est interdite"
msgstr "La tentative dappel synchrone est interdite"
......@@ -47,6 +47,8 @@ typedef enum {
Accessibility_KEY_PRESSRELEASE,
Accessibility_KEY_SYM,
Accessibility_KEY_STRING,
Accessibility_KEY_LOCKMODIFIERS,
Accessibility_KEY_UNLOCKMODIFIERS,
} Accessibility_KeySynthType;
typedef struct _Accessibility_DeviceEvent Accessibility_DeviceEvent;
......
......@@ -1762,6 +1762,12 @@ impl_generate_keyboard_event (DBusConnection *bus, DBusMessage *message, void *u
fprintf (stderr, "Keystring synthesis failure, string=%s\n",
keystring);
break;
case Accessibility_KEY_LOCKMODIFIERS:
spi_dec_plat_lock_modifiers (controller, keycode);
break;
case Accessibility_KEY_UNLOCKMODIFIERS:
spi_dec_plat_unlock_modifiers (controller, keycode);
break;
}
reply = dbus_message_new_method_return (message);
return reply;
......
......@@ -16,7 +16,7 @@ registryd_deps = [
dl_dep,
]
x11_option = get_option('enable-x11')
x11_option = get_option('x11')
if x11_option != 'no'
if x11_dep.found()
registryd_sources += [
......
......@@ -152,5 +152,19 @@
<arg direction="out" type="a{ss}"/>
</method>
<method name="ScrollSubstringTo">
<arg direction="in" name="startOffset" type="i"/>
<arg direction="in" name="endOffset" type="i"/>
<arg direction="in" name="type" type="u"/>
</method>
<method name="ScrollSubstringToPoint">
<arg direction="in" name="startOffset" type="i"/>
<arg direction="in" name="endOffset" type="i"/>
<arg direction="in" name="type" type="u"/>
<arg direction="in" name="x" type="i"/>
<arg direction="in" name="y" type="i"/>
</method>
</interface>
</node>