summaryrefslogtreecommitdiff
path: root/registryd
diff options
context:
space:
mode:
Diffstat (limited to 'registryd')
-rw-r--r--registryd/de-marshaller.c90
-rw-r--r--registryd/de-marshaller.h8
-rw-r--r--registryd/de-types.h46
-rw-r--r--registryd/deviceeventcontroller-x11.c1425
-rw-r--r--registryd/deviceeventcontroller-x11.h11
-rw-r--r--registryd/deviceeventcontroller.c1138
-rw-r--r--registryd/deviceeventcontroller.h65
-rw-r--r--registryd/display.c74
-rw-r--r--registryd/event-source.c71
-rw-r--r--registryd/event-source.h2
-rw-r--r--registryd/keymasks.h30
-rw-r--r--registryd/paths.h38
-rw-r--r--registryd/reentrant-list.c72
-rw-r--r--registryd/reentrant-list.h19
-rw-r--r--registryd/registry-main.c262
-rw-r--r--registryd/registry.c402
-rw-r--r--registryd/registry.h24
-rw-r--r--registryd/ucs2keysym.c89
18 files changed, 1972 insertions, 1894 deletions
diff --git a/registryd/de-marshaller.c b/registryd/de-marshaller.c
index f1094846..8c65bfe7 100644
--- a/registryd/de-marshaller.c
+++ b/registryd/de-marshaller.c
@@ -20,85 +20,93 @@
* Boston, MA 02110-1301, USA.
*/
-#include <stdlib.h>
-#include <glib.h>
-#include <glib-object.h>
#include <dbus/dbus.h>
+#include <glib-object.h>
+#include <glib.h>
+#include <stdlib.h>
#include "de-types.h"
-dbus_bool_t spi_dbus_message_iter_get_struct(DBusMessageIter *iter, ...)
+dbus_bool_t
+spi_dbus_message_iter_get_struct (DBusMessageIter *iter, ...)
{
va_list args;
DBusMessageIter iter_struct;
int type;
void *ptr;
- dbus_message_iter_recurse(iter, &iter_struct);
- va_start(args, iter);
+ dbus_message_iter_recurse (iter, &iter_struct);
+ va_start (args, iter);
for (;;)
- {
- type = va_arg(args, int);
- if (type == DBUS_TYPE_INVALID) break;
- if (type != dbus_message_iter_get_arg_type(&iter_struct))
{
- va_end(args);
- return FALSE;
+ type = va_arg (args, int);
+ if (type == DBUS_TYPE_INVALID)
+ break;
+ if (type != dbus_message_iter_get_arg_type (&iter_struct))
+ {
+ va_end (args);
+ return FALSE;
+ }
+ ptr = va_arg (args, void *);
+ dbus_message_iter_get_basic (&iter_struct, ptr);
+ dbus_message_iter_next (&iter_struct);
}
- ptr = va_arg(args, void *);
- dbus_message_iter_get_basic(&iter_struct, ptr);
- dbus_message_iter_next(&iter_struct);
- }
- dbus_message_iter_next(iter);
- va_end(args);
+ dbus_message_iter_next (iter);
+ va_end (args);
return TRUE;
}
-dbus_bool_t spi_dbus_message_iter_append_struct(DBusMessageIter *iter, ...)
+dbus_bool_t
+spi_dbus_message_iter_append_struct (DBusMessageIter *iter, ...)
{
va_list args;
DBusMessageIter iter_struct;
int type;
void *ptr;
- if (!dbus_message_iter_open_container(iter, DBUS_TYPE_STRUCT, NULL, &iter_struct)) return FALSE;
- va_start(args, iter);
- for (;;)
- {
- type = va_arg(args, int);
- if (type == DBUS_TYPE_INVALID) break;
- ptr = va_arg(args, void *);
- dbus_message_iter_append_basic(&iter_struct, type, ptr);
- }
- if (!dbus_message_iter_close_container(iter, &iter_struct))
- {
- va_end(args);
+ if (!dbus_message_iter_open_container (iter, DBUS_TYPE_STRUCT, NULL, &iter_struct))
return FALSE;
- }
- va_end(args);
+ va_start (args, iter);
+ for (;;)
+ {
+ type = va_arg (args, int);
+ if (type == DBUS_TYPE_INVALID)
+ break;
+ ptr = va_arg (args, void *);
+ dbus_message_iter_append_basic (&iter_struct, type, ptr);
+ }
+ if (!dbus_message_iter_close_container (iter, &iter_struct))
+ {
+ va_end (args);
+ return FALSE;
+ }
+ va_end (args);
return TRUE;
}
-dbus_bool_t spi_dbus_marshal_deviceEvent(DBusMessage *message, const Accessibility_DeviceEvent *e)
+dbus_bool_t
+spi_dbus_marshal_deviceEvent (DBusMessage *message, const Accessibility_DeviceEvent *e)
{
DBusMessageIter iter;
- if (!message) return FALSE;
- dbus_message_iter_init_append(message, &iter);
- return spi_dbus_message_iter_append_struct(&iter, DBUS_TYPE_UINT32, &e->type, DBUS_TYPE_INT32, &e->id, DBUS_TYPE_UINT32, &e->hw_code, DBUS_TYPE_UINT32, &e->modifiers, DBUS_TYPE_INT32, &e->timestamp, DBUS_TYPE_STRING, &e->event_string, DBUS_TYPE_BOOLEAN, &e->is_text, DBUS_TYPE_INVALID);
+ if (!message)
+ return FALSE;
+ dbus_message_iter_init_append (message, &iter);
+ return spi_dbus_message_iter_append_struct (&iter, DBUS_TYPE_UINT32, &e->type, DBUS_TYPE_INT32, &e->id, DBUS_TYPE_UINT32, &e->hw_code, DBUS_TYPE_UINT32, &e->modifiers, DBUS_TYPE_INT32, &e->timestamp, DBUS_TYPE_STRING, &e->event_string, DBUS_TYPE_BOOLEAN, &e->is_text, DBUS_TYPE_INVALID);
}
-dbus_bool_t spi_dbus_demarshal_deviceEvent(DBusMessage *message, Accessibility_DeviceEvent *e)
+dbus_bool_t
+spi_dbus_demarshal_deviceEvent (DBusMessage *message, Accessibility_DeviceEvent *e)
{
DBusMessageIter iter;
dbus_uint16_t hw_code;
dbus_uint16_t modifiers;
- dbus_message_iter_init(message, &iter);
- if (spi_dbus_message_iter_get_struct(&iter, DBUS_TYPE_UINT32, &e->type, DBUS_TYPE_INT32, &e->id, DBUS_TYPE_INT32, &e->hw_code, DBUS_TYPE_INT32, &e->modifiers, DBUS_TYPE_INT32, &e->timestamp, DBUS_TYPE_STRING, &e->event_string, DBUS_TYPE_BOOLEAN, &e->is_text, DBUS_TYPE_INVALID))
+ dbus_message_iter_init (message, &iter);
+ if (spi_dbus_message_iter_get_struct (&iter, DBUS_TYPE_UINT32, &e->type, DBUS_TYPE_INT32, &e->id, DBUS_TYPE_INT32, &e->hw_code, DBUS_TYPE_INT32, &e->modifiers, DBUS_TYPE_INT32, &e->timestamp, DBUS_TYPE_STRING, &e->event_string, DBUS_TYPE_BOOLEAN, &e->is_text, DBUS_TYPE_INVALID))
return TRUE;
/* TODO: Perhaps remove the below code for 2.1 */
- if (!spi_dbus_message_iter_get_struct(&iter, DBUS_TYPE_UINT32, &e->type, DBUS_TYPE_INT32, &e->id, DBUS_TYPE_INT16, &hw_code, DBUS_TYPE_INT16, &modifiers, DBUS_TYPE_INT32, &e->timestamp, DBUS_TYPE_STRING, &e->event_string, DBUS_TYPE_BOOLEAN, &e->is_text, DBUS_TYPE_INVALID))
+ if (!spi_dbus_message_iter_get_struct (&iter, DBUS_TYPE_UINT32, &e->type, DBUS_TYPE_INT32, &e->id, DBUS_TYPE_INT16, &hw_code, DBUS_TYPE_INT16, &modifiers, DBUS_TYPE_INT32, &e->timestamp, DBUS_TYPE_STRING, &e->event_string, DBUS_TYPE_BOOLEAN, &e->is_text, DBUS_TYPE_INVALID))
return FALSE;
e->hw_code = hw_code;
e->modifiers = modifiers;
diff --git a/registryd/de-marshaller.h b/registryd/de-marshaller.h
index 93eaa423..ddaf1360 100644
--- a/registryd/de-marshaller.h
+++ b/registryd/de-marshaller.h
@@ -29,9 +29,9 @@
#include "de-types.h"
-dbus_bool_t spi_dbus_message_iter_get_struct(DBusMessageIter *iter, ...);
-dbus_bool_t spi_dbus_message_iter_append_struct(DBusMessageIter *iter, ...);
-dbus_bool_t spi_dbus_marshal_deviceEvent(DBusMessage *message, const Accessibility_DeviceEvent *e);
-dbus_bool_t spi_dbus_demarshal_deviceEvent(DBusMessage *message, Accessibility_DeviceEvent *e);
+dbus_bool_t spi_dbus_message_iter_get_struct (DBusMessageIter *iter, ...);
+dbus_bool_t spi_dbus_message_iter_append_struct (DBusMessageIter *iter, ...);
+dbus_bool_t spi_dbus_marshal_deviceEvent (DBusMessage *message, const Accessibility_DeviceEvent *e);
+dbus_bool_t spi_dbus_demarshal_deviceEvent (DBusMessage *message, Accessibility_DeviceEvent *e);
#endif /* SPI_DE_MARSHALLER_H_ */
diff --git a/registryd/de-types.h b/registryd/de-types.h
index d26cc90f..656aded1 100644
--- a/registryd/de-types.h
+++ b/registryd/de-types.h
@@ -29,45 +29,51 @@
typedef unsigned long Accessibility_ControllerEventMask;
-typedef enum {
- Accessibility_KEY_PRESSED_EVENT,
- Accessibility_KEY_RELEASED_EVENT,
- Accessibility_BUTTON_PRESSED_EVENT,
- Accessibility_BUTTON_RELEASED_EVENT,
+typedef enum
+{
+ Accessibility_KEY_PRESSED_EVENT,
+ Accessibility_KEY_RELEASED_EVENT,
+ Accessibility_BUTTON_PRESSED_EVENT,
+ Accessibility_BUTTON_RELEASED_EVENT,
} Accessibility_EventType;
-typedef enum {
- Accessibility_KEY_PRESSED,
- Accessibility_KEY_RELEASED,
+typedef enum
+{
+ Accessibility_KEY_PRESSED,
+ Accessibility_KEY_RELEASED,
} Accessibility_KeyEventType;
-typedef enum {
- Accessibility_KEY_PRESS,
- Accessibility_KEY_RELEASE,
- Accessibility_KEY_PRESSRELEASE,
- Accessibility_KEY_SYM,
- Accessibility_KEY_STRING,
- Accessibility_KEY_LOCKMODIFIERS,
- Accessibility_KEY_UNLOCKMODIFIERS,
+typedef enum
+{
+ Accessibility_KEY_PRESS,
+ Accessibility_KEY_RELEASE,
+ Accessibility_KEY_PRESSRELEASE,
+ Accessibility_KEY_SYM,
+ Accessibility_KEY_STRING,
+ Accessibility_KEY_LOCKMODIFIERS,
+ Accessibility_KEY_UNLOCKMODIFIERS,
} Accessibility_KeySynthType;
-typedef struct {
+typedef struct
+{
Accessibility_EventType type;
dbus_uint32_t id;
dbus_uint32_t hw_code;
dbus_uint32_t modifiers;
dbus_uint32_t timestamp;
- char * event_string;
+ char *event_string;
dbus_bool_t is_text;
} Accessibility_DeviceEvent;
-typedef struct {
+typedef struct
+{
dbus_bool_t synchronous;
dbus_bool_t preemptive;
dbus_bool_t global;
} Accessibility_EventListenerMode;
-typedef struct {
+typedef struct
+{
dbus_int32_t keycode;
dbus_int32_t keysym;
char *keystring;
diff --git a/registryd/deviceeventcontroller-x11.c b/registryd/deviceeventcontroller-x11.c
index 689191f7..d5cae611 100644
--- a/registryd/deviceeventcontroller-x11.c
+++ b/registryd/deviceeventcontroller-x11.c
@@ -25,13 +25,13 @@
#include <config.h>
-#undef SPI_XKB_DEBUG
-#undef SPI_DEBUG
-#undef SPI_KEYEVENT_DEBUG
+#undef SPI_XKB_DEBUG
+#undef SPI_DEBUG
+#undef SPI_KEYEVENT_DEBUG
-#include <string.h>
#include <ctype.h>
#include <stdio.h>
+#include <string.h>
#include <sys/time.h>
#define XK_MISCELLANY
@@ -42,49 +42,50 @@
#include <dbus/dbus.h>
-#include "paths.h"
-#include "keymasks.h"
-#include "de-types.h"
#include "de-marshaller.h"
+#include "de-types.h"
#include "display.h"
#include "event-source.h"
+#include "keymasks.h"
+#include "paths.h"
#include "deviceeventcontroller.h"
+
#include "deviceeventcontroller-x11.h"
#include "reentrant-list.h"
static void spi_dec_x11_emit_modifier_event (SpiDEController *controller,
- guint prev_mask,
- guint current_mask);
+ guint prev_mask,
+ guint current_mask);
#define CHECK_RELEASE_DELAY 20
-#define BIT(c, x) (c[x/8]&(1<<(x%8)))
+#define BIT(c, x) (c[x / 8] & (1 << (x % 8)))
static guint check_release_handler = 0;
static Accessibility_DeviceEvent pressed_event;
static void wait_for_release_event (XEvent *event, SpiDEController *controller);
static int spi_error_code = 0;
-typedef struct {
- gint x;
- gint y;
+typedef struct
+{
+ gint x;
+ gint y;
} SpiPoint;
-static SpiPoint last_mouse_pos_static = {0, 0};
+static SpiPoint last_mouse_pos_static = { 0, 0 };
static SpiPoint *last_mouse_pos = &last_mouse_pos_static;
static unsigned int mouse_mask_state = 0;
static unsigned int mouse_button_mask =
- Button1Mask | Button2Mask | Button3Mask | Button4Mask | Button5Mask;
+ Button1Mask | Button2Mask | Button3Mask | Button4Mask | Button5Mask;
static unsigned int key_modifier_mask =
- Mod1Mask | Mod2Mask | Mod3Mask | Mod4Mask | Mod5Mask | ShiftMask | LockMask | ControlMask | SPI_KEYMASK_NUMLOCK;
+ Mod1Mask | Mod2Mask | Mod3Mask | Mod4Mask | Mod5Mask | ShiftMask | LockMask | ControlMask | SPI_KEYMASK_NUMLOCK;
extern unsigned int _numlock_physical_mask;
-static XModifierKeymap* xmkeymap = NULL;
-
+static XModifierKeymap *xmkeymap = NULL;
static int (*x_default_error_handler) (Display *display, XErrorEvent *error_event);
-static void spi_controller_register_with_devices (SpiDEController *controller);
-static gboolean spi_device_event_controller_forward_key_event (SpiDEController *controller,
- const XEvent *event);
+static void spi_controller_register_with_devices (SpiDEController *controller);
+static gboolean spi_device_event_controller_forward_key_event (SpiDEController *controller,
+ const XEvent *event);
static SpiDEController *saved_controller;
@@ -99,66 +100,76 @@ static SpiDEController *saved_controller;
static SpiDEControllerPrivate *
spi_device_event_controller_get_instance_private (SpiDEController *controller)
{
- return g_type_instance_get_private ((GTypeInstance *) controller, SPI_DEVICE_EVENT_CONTROLLER_TYPE);
+ return g_type_instance_get_private ((GTypeInstance *) controller, SPI_DEVICE_EVENT_CONTROLLER_TYPE);
}
static unsigned int
keysym_mod_mask (KeySym keysym, KeyCode keycode)
{
- /* we really should use XKB and look directly at the keymap */
- /* this is very inelegant */
- Display *display = spi_get_display ();
- unsigned int mods_rtn = 0;
- unsigned int retval = 0;
- KeySym sym_rtn;
-
- if (XkbLookupKeySym (display, keycode, 0, &mods_rtn, &sym_rtn) &&
- (sym_rtn == keysym)) {
- retval = 0;
- }
- else if (XkbLookupKeySym (display, keycode, ShiftMask, &mods_rtn, &sym_rtn) &&
- (sym_rtn == keysym)) {
- retval = ShiftMask;
- }
- else if (XkbLookupKeySym (display, keycode, Mod2Mask, &mods_rtn, &sym_rtn) &&
- (sym_rtn == keysym)) {
- retval = Mod2Mask;
- }
- else if (XkbLookupKeySym (display, keycode, Mod3Mask, &mods_rtn, &sym_rtn) &&
- (sym_rtn == keysym)) {
- retval = Mod3Mask;
- }
- else if (XkbLookupKeySym (display, keycode, Mod4Mask, &mods_rtn, &sym_rtn) &&
- (sym_rtn == keysym)) {
- retval = Mod4Mask;
- }
- else if (XkbLookupKeySym (display, keycode, Mod5Mask, &mods_rtn, &sym_rtn) &&
- (sym_rtn == keysym)) {
- retval = Mod5Mask;
- }
- else if (XkbLookupKeySym (display, keycode,
- ShiftMask | Mod2Mask, &mods_rtn, &sym_rtn) &&
- (sym_rtn == keysym)) {
- retval = (Mod2Mask | ShiftMask);
- }
- else if (XkbLookupKeySym (display, keycode,
- ShiftMask | Mod3Mask, &mods_rtn, &sym_rtn) &&
- (sym_rtn == keysym)) {
- retval = (Mod3Mask | ShiftMask);
- }
- else if (XkbLookupKeySym (display, keycode,
- ShiftMask | Mod4Mask, &mods_rtn, &sym_rtn) &&
- (sym_rtn == keysym)) {
- retval = (Mod4Mask | ShiftMask);
- }
- else if (XkbLookupKeySym (display, keycode,
- ShiftMask | Mod5Mask, &mods_rtn, &sym_rtn) &&
- (sym_rtn == keysym)) {
- retval = (Mod5Mask | ShiftMask);
- }
- else
- retval = 0xFFFF;
- return retval;
+ /* we really should use XKB and look directly at the keymap */
+ /* this is very inelegant */
+ Display *display = spi_get_display ();
+ unsigned int mods_rtn = 0;
+ unsigned int retval = 0;
+ KeySym sym_rtn;
+
+ if (XkbLookupKeySym (display, keycode, 0, &mods_rtn, &sym_rtn) &&
+ (sym_rtn == keysym))
+ {
+ retval = 0;
+ }
+ else if (XkbLookupKeySym (display, keycode, ShiftMask, &mods_rtn, &sym_rtn) &&
+ (sym_rtn == keysym))
+ {
+ retval = ShiftMask;
+ }
+ else if (XkbLookupKeySym (display, keycode, Mod2Mask, &mods_rtn, &sym_rtn) &&
+ (sym_rtn == keysym))
+ {
+ retval = Mod2Mask;
+ }
+ else if (XkbLookupKeySym (display, keycode, Mod3Mask, &mods_rtn, &sym_rtn) &&
+ (sym_rtn == keysym))
+ {
+ retval = Mod3Mask;
+ }
+ else if (XkbLookupKeySym (display, keycode, Mod4Mask, &mods_rtn, &sym_rtn) &&
+ (sym_rtn == keysym))
+ {
+ retval = Mod4Mask;
+ }
+ else if (XkbLookupKeySym (display, keycode, Mod5Mask, &mods_rtn, &sym_rtn) &&
+ (sym_rtn == keysym))
+ {
+ retval = Mod5Mask;
+ }
+ else if (XkbLookupKeySym (display, keycode,
+ ShiftMask | Mod2Mask, &mods_rtn, &sym_rtn) &&
+ (sym_rtn == keysym))
+ {
+ retval = (Mod2Mask | ShiftMask);
+ }
+ else if (XkbLookupKeySym (display, keycode,
+ ShiftMask | Mod3Mask, &mods_rtn, &sym_rtn) &&
+ (sym_rtn == keysym))
+ {
+ retval = (Mod3Mask | ShiftMask);
+ }
+ else if (XkbLookupKeySym (display, keycode,
+ ShiftMask | Mod4Mask, &mods_rtn, &sym_rtn) &&
+ (sym_rtn == keysym))
+ {
+ retval = (Mod4Mask | ShiftMask);
+ }
+ else if (XkbLookupKeySym (display, keycode,
+ ShiftMask | Mod5Mask, &mods_rtn, &sym_rtn) &&
+ (sym_rtn == keysym))
+ {
+ retval = (Mod5Mask | ShiftMask);
+ }
+ else
+ retval = 0xFFFF;
+ return retval;
}
static gboolean
@@ -176,17 +187,17 @@ replace_map_keysym (SpiDEControllerPrivate *priv, KeyCode keycode, KeySym keysym
if (desc && desc->map)
{
gint offset = desc->map->key_sym_map[keycode].offset;
- desc->map->syms[offset] = keysym;
+ desc->map->syms[offset] = keysym;
}
else
{
fprintf (stderr, "Error changing key map: empty server structure\n");
- }
+ }
XkbSetMap (dpy, XkbAllMapComponentsMask, desc);
/**
- * FIXME: the use of XkbChangeMap, and the reuse of the priv->xkb_desc structure,
+ * FIXME: the use of XkbChangeMap, and the reuse of the priv->xkb_desc structure,
* would be far preferable.
- * HOWEVER it does not seem to work using XFree 4.3.
+ * HOWEVER it does not seem to work using XFree 4.3.
**/
/* XkbChangeMap (dpy, priv->xkb_desc, priv->changes); */
XFlush (dpy);
@@ -210,126 +221,127 @@ spi_dec_reset_reserved (gpointer data)
static gint
spi_dec_x11_get_keycode (SpiDEController *controller,
- gint keysym,
- gchar *key_str,
- gboolean fix,
- guint *modmask)
+ gint keysym,
+ gchar *key_str,
+ gboolean fix,
+ guint *modmask)
{
- KeyCode keycode = 0;
+ KeyCode keycode = 0;
if (key_str && key_str[0])
- keysym = XStringToKeysym(key_str);
- keycode = XKeysymToKeycode (spi_get_display (), (KeySym) keysym);
- if (!keycode && fix)
- {
- SpiDEControllerPrivate *priv = spi_device_event_controller_get_instance_private (controller);
- /* if there's no keycode available, fix it */
- if (replace_map_keysym (priv, priv->reserved_keycode, keysym))
- {
- keycode = priv->reserved_keycode;
- /*
- * queue a timer to restore the old keycode. Ugly, but required
- * due to races / asynchronous X delivery.
- * Long-term fix is to extend the X keymap here instead of replace entries.
- */
- priv->reserved_reset_timeout = g_timeout_add (500, spi_dec_reset_reserved, priv);
- g_source_set_name_by_id (priv->reserved_reset_timeout, "[at-spi2-core] spi_dec_reset_reserved");
- }
- if (modmask)
- *modmask = 0;
- return keycode;
- }
- if (modmask)
- *modmask = keysym_mod_mask (keysym, keycode);
- return keycode;
+ keysym = XStringToKeysym (key_str);
+ keycode = XKeysymToKeycode (spi_get_display (), (KeySym) keysym);
+ if (!keycode && fix)
+ {
+ SpiDEControllerPrivate *priv = spi_device_event_controller_get_instance_private (controller);
+ /* if there's no keycode available, fix it */
+ if (replace_map_keysym (priv, priv->reserved_keycode, keysym))
+ {
+ keycode = priv->reserved_keycode;
+ /*
+ * queue a timer to restore the old keycode. Ugly, but required
+ * due to races / asynchronous X delivery.
+ * Long-term fix is to extend the X keymap here instead of replace entries.
+ */
+ priv->reserved_reset_timeout = g_timeout_add (500, spi_dec_reset_reserved, priv);
+ g_source_set_name_by_id (priv->reserved_reset_timeout, "[at-spi2-core] spi_dec_reset_reserved");
+ }
+ if (modmask)
+ *modmask = 0;
+ return keycode;
+ }
+ if (modmask)
+ *modmask = keysym_mod_mask (keysym, keycode);
+ return keycode;
}
static gboolean
spi_dec_button_update_and_emit (SpiDEController *controller,
- guint mask_return)
+ guint mask_return)
{
gchar event_detail[3];
if ((mask_return & mouse_button_mask) !=
- (mouse_mask_state & mouse_button_mask))
+ (mouse_mask_state & mouse_button_mask))
{
int button_number = 0;
gboolean is_down = False;
-
+
if (!(mask_return & Button1Mask) &&
- (mouse_mask_state & Button1Mask))
- {
- mouse_mask_state &= ~Button1Mask;
- button_number = 1;
- }
+ (mouse_mask_state & Button1Mask))
+ {
+ mouse_mask_state &= ~Button1Mask;
+ button_number = 1;
+ }
else if ((mask_return & Button1Mask) &&
- !(mouse_mask_state & Button1Mask))
- {
- mouse_mask_state |= Button1Mask;
- button_number = 1;
- is_down = True;
- }
+ !(mouse_mask_state & Button1Mask))
+ {
+ mouse_mask_state |= Button1Mask;
+ button_number = 1;
+ is_down = True;
+ }
else if (!(mask_return & Button2Mask) &&
- (mouse_mask_state & Button2Mask))
- {
- mouse_mask_state &= ~Button2Mask;
- button_number = 2;
- }
+ (mouse_mask_state & Button2Mask))
+ {
+ mouse_mask_state &= ~Button2Mask;
+ button_number = 2;
+ }
else if ((mask_return & Button2Mask) &&
- !(mouse_mask_state & Button2Mask))
- {
- mouse_mask_state |= Button2Mask;
- button_number = 2;
- is_down = True;
- }
+ !(mouse_mask_state & Button2Mask))
+ {
+ mouse_mask_state |= Button2Mask;
+ button_number = 2;
+ is_down = True;
+ }
else if (!(mask_return & Button3Mask) &&
- (mouse_mask_state & Button3Mask))
- {
- mouse_mask_state &= ~Button3Mask;
- button_number = 3;
- }
+ (mouse_mask_state & Button3Mask))
+ {
+ mouse_mask_state &= ~Button3Mask;
+ button_number = 3;
+ }
else if ((mask_return & Button3Mask) &&
- !(mouse_mask_state & Button3Mask))
- {
- mouse_mask_state |= Button3Mask;
- button_number = 3;
- is_down = True;
- }
+ !(mouse_mask_state & Button3Mask))
+ {
+ mouse_mask_state |= Button3Mask;
+ button_number = 3;
+ is_down = True;
+ }
else if (!(mask_return & Button4Mask) &&
- (mouse_mask_state & Button4Mask))
- {
- mouse_mask_state &= ~Button4Mask;
- button_number = 4;
- }
+ (mouse_mask_state & Button4Mask))
+ {
+ mouse_mask_state &= ~Button4Mask;
+ button_number = 4;
+ }
else if ((mask_return & Button4Mask) &&
- !(mouse_mask_state & Button4Mask))
- {
- mouse_mask_state |= Button4Mask;
- button_number = 4;
- is_down = True;
- }
+ !(mouse_mask_state & Button4Mask))
+ {
+ mouse_mask_state |= Button4Mask;
+ button_number = 4;
+ is_down = True;
+ }
else if (!(mask_return & Button5Mask) &&
- (mouse_mask_state & Button5Mask))
- {
- mouse_mask_state &= ~Button5Mask;
- button_number = 5;
- }
+ (mouse_mask_state & Button5Mask))
+ {
+ mouse_mask_state &= ~Button5Mask;
+ button_number = 5;
+ }
else if ((mask_return & Button5Mask) &&
- !(mouse_mask_state & Button5Mask))
- {
- mouse_mask_state |= Button5Mask;
- button_number = 5;
- is_down = True;
- }
- if (button_number) {
-#ifdef SPI_DEBUG
- fprintf (stderr, "Button %d %s\n",
- button_number, (is_down) ? "Pressed" : "Released");
+ !(mouse_mask_state & Button5Mask))
+ {
+ mouse_mask_state |= Button5Mask;
+ button_number = 5;
+ is_down = True;
+ }
+ if (button_number)
+ {
+#ifdef SPI_DEBUG
+ fprintf (stderr, "Button %d %s\n",
+ button_number, (is_down) ? "Pressed" : "Released");
#endif
- snprintf (event_detail, 3, "%d%c", button_number,
- (is_down) ? 'p' : 'r');
- dbus_uint32_t x = last_mouse_pos->x, y = last_mouse_pos->y;
- spi_dec_dbus_emit(controller, SPI_DBUS_INTERFACE_EVENT_MOUSE, "Button", event_detail, x, y);
- }
+ snprintf (event_detail, 3, "%d%c", button_number,
+ (is_down) ? 'p' : 'r');
+ dbus_uint32_t x = last_mouse_pos->x, y = last_mouse_pos->y;
+ spi_dec_dbus_emit (controller, SPI_DBUS_INTERFACE_EVENT_MOUSE, "Button", event_detail, x, y);
+ }
return TRUE;
}
else
@@ -339,10 +351,12 @@ spi_dec_button_update_and_emit (SpiDEController *controller,
}
static guint
-spi_dec_x11_mouse_check (SpiDEController *controller,
- int *x, int *y, gboolean *moved)
+spi_dec_x11_mouse_check (SpiDEController *controller,
+ int *x,
+ int *y,
+ gboolean *moved)
{
- int win_x_return,win_y_return;
+ int win_x_return, win_y_return;
unsigned int mask_return;
Window root_return, child_return;
Display *display = spi_get_display ();
@@ -352,30 +366,31 @@ spi_dec_x11_mouse_check (SpiDEController *controller,
return 0;
}
- XQueryPointer(display, DefaultRootWindow (display),
- &root_return, &child_return,
- x, y,
- &win_x_return, &win_y_return, &mask_return);
- /*
+ XQueryPointer (display, DefaultRootWindow (display),
+ &root_return, &child_return,
+ x, y,
+ &win_x_return, &win_y_return, &mask_return);
+ /*
* Since many clients grab the pointer, and X goes an automatic
* pointer grab on mouse-down, we often must detect mouse button events
- * by polling rather than via a button grab.
- * The while loop (rather than if) is used since it's possible that
+ * by polling rather than via a button grab.
+ * The while loop (rather than if) is used since it's possible that
* multiple buttons have changed state since we last checked.
*/
- if (mask_return != mouse_mask_state)
+ if (mask_return != mouse_mask_state)
{
- while (spi_dec_button_update_and_emit (controller, mask_return));
+ while (spi_dec_button_update_and_emit (controller, mask_return))
+ ;
}
- if (*x != last_mouse_pos->x || *y != last_mouse_pos->y)
+ if (*x != last_mouse_pos->x || *y != last_mouse_pos->y)
{
// TODO: combine these two signals?
dbus_uint32_t ix = *x, iy = *y;
- spi_dec_dbus_emit(controller, SPI_DBUS_INTERFACE_EVENT_MOUSE, "Abs", "", ix, iy);
+ spi_dec_dbus_emit (controller, SPI_DBUS_INTERFACE_EVENT_MOUSE, "Abs", "", ix, iy);
ix -= last_mouse_pos->x;
iy -= last_mouse_pos->y;
- spi_dec_dbus_emit(controller, SPI_DBUS_INTERFACE_EVENT_MOUSE, "Rel", "", ix, iy);
+ spi_dec_dbus_emit (controller, SPI_DBUS_INTERFACE_EVENT_MOUSE, "Rel", "", ix, iy);
last_mouse_pos->x = *x;
last_mouse_pos->y = *y;
*moved = True;
@@ -392,13 +407,13 @@ spi_dec_x11_mouse_check (SpiDEController *controller,
static int
spi_dec_ungrab_mouse (gpointer data)
{
- Display *display = spi_get_display ();
- if (display)
- {
- XUngrabButton (spi_get_display (), AnyButton, AnyModifier,
- XDefaultRootWindow (spi_get_display ()));
- }
- return FALSE;
+ Display *display = spi_get_display ();
+ if (display)
+ {
+ XUngrabButton (spi_get_display (), AnyButton, AnyModifier,
+ XDefaultRootWindow (spi_get_display ()));
+ }
+ return FALSE;
}
#endif
@@ -411,14 +426,15 @@ spi_dec_init_mouse_listener (SpiDEController *dec)
if (display)
{
if (XGrabButton (display, AnyButton, AnyModifier,
- spi_get_root_window (),
- True, ButtonPressMask | ButtonReleaseMask,
- GrabModeSync, GrabModeAsync, None, None) != Success) {
+ spi_get_root_window (),
+ True, ButtonPressMask | ButtonReleaseMask,
+ GrabModeSync, GrabModeAsync, None, None) != Success)
+ {
#ifdef SPI_DEBUG
- fprintf (stderr, "WARNING: could not grab mouse buttons!\n");
+ fprintf (stderr, "WARNING: could not grab mouse buttons!\n");
#endif
- ;
- }
+ ;
+ }
XSync (display, False);
#ifdef SPI_DEBUG
fprintf (stderr, "mouse buttons grabbed\n");
@@ -436,63 +452,63 @@ spi_dec_clear_unlatch_pending (SpiDEController *controller)
static void
spi_device_event_controller_forward_mouse_event (SpiDEController *controller,
- XEvent *xevent)
+ XEvent *xevent)
{
gchar event_detail[3];
XButtonEvent *xbutton_event = (XButtonEvent *) xevent;
dbus_uint32_t ix, iy;
int button = xbutton_event->button;
-
+
unsigned int mouse_button_state = xbutton_event->state;
switch (button)
{
case 1:
- mouse_button_state |= Button1Mask;
- break;
+ mouse_button_state |= Button1Mask;
+ break;
case 2:
- mouse_button_state |= Button2Mask;
- break;
+ mouse_button_state |= Button2Mask;
+ break;
case 3:
- mouse_button_state |= Button3Mask;
- break;
+ mouse_button_state |= Button3Mask;
+ break;
case 4:
- mouse_button_state |= Button4Mask;
- break;
+ mouse_button_state |= Button4Mask;
+ break;
case 5:
- mouse_button_state |= Button5Mask;
- break;
+ mouse_button_state |= Button5Mask;
+ break;
}
last_mouse_pos->x = ((XButtonEvent *) xevent)->x_root;
last_mouse_pos->y = ((XButtonEvent *) xevent)->y_root;
-#ifdef SPI_DEBUG
+#ifdef SPI_DEBUG
fprintf (stderr, "mouse button %d %s (%x)\n",
- xbutton_event->button,
- (xevent->type == ButtonPress) ? "Press" : "Release",
- mouse_button_state);
+ xbutton_event->button,
+ (xevent->type == ButtonPress) ? "Press" : "Release",
+ mouse_button_state);
#endif
snprintf (event_detail, 3, "%d%c", button,
- (xevent->type == ButtonPress) ? 'p' : 'r');
+ (xevent->type == ButtonPress) ? 'p' : 'r');
- if ((mouse_button_state & mouse_button_mask) !=
- (mouse_mask_state & mouse_button_mask))
- {
+ if ((mouse_button_state & mouse_button_mask) !=
+ (mouse_mask_state & mouse_button_mask))
+ {
if ((mouse_mask_state & key_modifier_mask) !=
- (mouse_button_state & key_modifier_mask))
- spi_dec_x11_emit_modifier_event (controller,
- mouse_mask_state, mouse_button_state);
+ (mouse_button_state & key_modifier_mask))
+ spi_dec_x11_emit_modifier_event (controller,
+ mouse_mask_state, mouse_button_state);
mouse_mask_state = mouse_button_state;
ix = last_mouse_pos->x;
iy = last_mouse_pos->y;
- spi_dec_dbus_emit(controller, SPI_DBUS_INTERFACE_EVENT_MOUSE, "Button", event_detail, ix, iy);
+ spi_dec_dbus_emit (controller, SPI_DBUS_INTERFACE_EVENT_MOUSE, "Button", event_detail, ix, iy);
}
XAllowEvents (spi_get_display (),
- ReplayPointer,
- CurrentTime);
+ ReplayPointer,
+ CurrentTime);
}
static void
@@ -512,7 +528,7 @@ global_filter_fn (XEvent *xevent, void *data)
gboolean is_consumed;
is_consumed =
- spi_device_event_controller_forward_key_event (controller, xevent);
+ spi_device_event_controller_forward_key_event (controller, xevent);
if (is_consumed)
{
@@ -527,10 +543,10 @@ global_filter_fn (XEvent *xevent, void *data)
for (i = 0; i < n_events; i++)
{
XNextEvent (display, &next_event);
- if (next_event.type != KeyPress &&
- next_event.type != KeyRelease)
- g_warning ("Unexpected event type %d in queue", next_event.type);
- }
+ if (next_event.type != KeyPress &&
+ next_event.type != KeyRelease)
+ g_warning ("Unexpected event type %d in queue", next_event.type);
+ }
XAllowEvents (display, AsyncKeyboard, CurrentTime);
if (n_events)
@@ -552,92 +568,91 @@ global_filter_fn (XEvent *xevent, void *data)
}
if (xevent->type == priv->xkb_base_event_code)
{
- XkbAnyEvent * xkb_ev = (XkbAnyEvent *) xevent;
+ XkbAnyEvent *xkb_ev = (XkbAnyEvent *) xevent;
/* ugly but probably necessary...*/
XSynchronize (display, TRUE);
if (xkb_ev->xkb_type == XkbStateNotify)
{
- XkbStateNotifyEvent *xkb_snev =
- (XkbStateNotifyEvent *) xkb_ev;
- /* check the mouse, to catch mouse events grabbed by
- * another client; in case we should revert this XKB delatch
- */
- if (!priv->pending_xkb_mod_relatch_mask)
- {
- int x, y;
- gboolean moved;
- spi_dec_x11_mouse_check (controller, &x, &y, &moved);
- }
- /* we check again, since the previous call may have
- changed this flag */
- if (priv->pending_xkb_mod_relatch_mask)
- {
- unsigned int feedback_mask;
+ XkbStateNotifyEvent *xkb_snev =
+ (XkbStateNotifyEvent *) xkb_ev;
+ /* check the mouse, to catch mouse events grabbed by
+ * another client; in case we should revert this XKB delatch
+ */
+ if (!priv->pending_xkb_mod_relatch_mask)
+ {
+ int x, y;
+ gboolean moved;
+ spi_dec_x11_mouse_check (controller, &x, &y, &moved);
+ }
+ /* we check again, since the previous call may have
+ changed this flag */
+ if (priv->pending_xkb_mod_relatch_mask)
+ {
+ unsigned int feedback_mask;
#ifdef SPI_XKB_DEBUG
- fprintf (stderr, "relatching %x\n",
- priv->pending_xkb_mod_relatch_mask);
+ fprintf (stderr, "relatching %x\n",
+ priv->pending_xkb_mod_relatch_mask);
#endif
- /* temporarily turn off the latch bell, if it's on */
- XkbGetControls (display,
- XkbAccessXFeedbackMask,
- priv->xkb_desc);
- feedback_mask = priv->xkb_desc->ctrls->ax_options;
- if (feedback_mask & XkbAX_StickyKeysFBMask)
- {
- XkbControlsChangesRec changes = {XkbAccessXFeedbackMask,
- 0, False};
- priv->xkb_desc->ctrls->ax_options
- &= ~(XkbAX_StickyKeysFBMask);
- XkbChangeControls (display, priv->xkb_desc, &changes);
- }
- /* TODO: account for lock as well as latch */
- XkbLatchModifiers (display,
- XkbUseCoreKbd,
- priv->pending_xkb_mod_relatch_mask,
- priv->pending_xkb_mod_relatch_mask);
- if (feedback_mask & XkbAX_StickyKeysFBMask)
- {
- XkbControlsChangesRec changes = {XkbAccessXFeedbackMask,
- 0, False};
- priv->xkb_desc->ctrls->ax_options = feedback_mask;
- XkbChangeControls (display, priv->xkb_desc, &changes);
- }
+ /* temporarily turn off the latch bell, if it's on */
+ XkbGetControls (display,
+ XkbAccessXFeedbackMask,
+ priv->xkb_desc);
+ feedback_mask = priv->xkb_desc->ctrls->ax_options;
+ if (feedback_mask & XkbAX_StickyKeysFBMask)
+ {
+ XkbControlsChangesRec changes = { XkbAccessXFeedbackMask,
+ 0, False };
+ priv->xkb_desc->ctrls->ax_options &= ~(XkbAX_StickyKeysFBMask);
+ XkbChangeControls (display, priv->xkb_desc, &changes);
+ }
+ /* TODO: account for lock as well as latch */
+ XkbLatchModifiers (display,
+ XkbUseCoreKbd,
+ priv->pending_xkb_mod_relatch_mask,
+ priv->pending_xkb_mod_relatch_mask);
+ if (feedback_mask & XkbAX_StickyKeysFBMask)
+ {
+ XkbControlsChangesRec changes = { XkbAccessXFeedbackMask,
+ 0, False };
+ priv->xkb_desc->ctrls->ax_options = feedback_mask;
+ XkbChangeControls (display, priv->xkb_desc, &changes);
+ }
#ifdef SPI_XKB_DEBUG
- fprintf (stderr, "relatched %x\n",
- priv->pending_xkb_mod_relatch_mask);
+ fprintf (stderr, "relatched %x\n",
+ priv->pending_xkb_mod_relatch_mask);
#endif
- priv->pending_xkb_mod_relatch_mask = 0;
- }
- else
- {
- priv->xkb_latch_mask = xkb_snev->latched_mods;
- }
- }
+ priv->pending_xkb_mod_relatch_mask = 0;
+ }
+ else
+ {
+ priv->xkb_latch_mask = xkb_snev->latched_mods;
+ }
+ }
XSynchronize (display, FALSE);
}
-
+
return;
}
static gboolean
spi_clear_error_state (void)
{
- gboolean retval = spi_error_code != 0;
- spi_error_code = 0;
- return retval;
+ gboolean retval = spi_error_code != 0;
+ spi_error_code = 0;
+ return retval;
}
static int
_spi_controller_device_error_handler (Display *display, XErrorEvent *error)
{
- if (error->error_code == BadAccess)
- {
+ if (error->error_code == BadAccess)
+ {
g_message ("Could not complete key grab: grab already in use.\n");
spi_error_code = BadAccess;
return 0;
}
- else
+ else
{
return (*x_default_error_handler) (display, error);
}
@@ -649,7 +664,7 @@ spi_controller_register_with_devices (SpiDEController *controller)
SpiDEControllerPrivate *priv = spi_device_event_controller_get_instance_private (controller);
int event_base, error_base, major_version, minor_version;
- if (XTestQueryExtension (spi_get_display(), &event_base, &error_base, &major_version, &minor_version))
+ if (XTestQueryExtension (spi_get_display (), &event_base, &error_base, &major_version, &minor_version))
{
XTestGrabControl (spi_get_display (), True);
}
@@ -659,71 +674,71 @@ spi_controller_register_with_devices (SpiDEController *controller)
/* register with: (translated) keystroke handler */
priv->have_xkb = XkbQueryExtension (spi_get_display (),
- &priv->xkb_major_extension_opcode,
- &priv->xkb_base_event_code,
- &priv->xkb_base_error_code, NULL, NULL);
+ &priv->xkb_major_extension_opcode,
+ &priv->xkb_base_event_code,
+ &priv->xkb_base_error_code, NULL, NULL);
if (priv->have_xkb)
{
gint i;
guint64 reserved = 0;
priv->xkb_desc = XkbGetMap (spi_get_display (), XkbKeySymsMask, XkbUseCoreKbd);
XkbSelectEvents (spi_get_display (),
- XkbUseCoreKbd,
- XkbStateNotifyMask, XkbStateNotifyMask);
- _numlock_physical_mask = XkbKeysymToModifiers (spi_get_display (),
- XK_Num_Lock);
+ XkbUseCoreKbd,
+ XkbStateNotifyMask, XkbStateNotifyMask);
+ _numlock_physical_mask = XkbKeysymToModifiers (spi_get_display (),
+ XK_Num_Lock);
for (i = priv->xkb_desc->max_key_code; i >= priv->xkb_desc->min_key_code; --i)
- {
- if (priv->xkb_desc->map->key_sym_map[i].kt_index[0] == XkbOneLevelIndex)
- {
- if (XkbKeycodeToKeysym (spi_get_display (), i, 0, 0) != 0)
- {
- /* don't use this one if there's a grab client! */
-
- /* Runtime errors are generated from these functions,
- * that are then quashed. Equivalent to:
- * try
- * {Blah}
- * except
- * {;}
- */
-
- spi_x_error_trap ();
- XGrabKey (spi_get_display (), i, 0,
- spi_get_root_window (),
- TRUE,
- GrabModeSync, GrabModeSync);
- XSync (spi_get_display (), TRUE);
- XUngrabKey (spi_get_display (), i, 0,
- spi_get_root_window ());
- if (!spi_x_error_release ())
- {
- reserved = i;
- break;
- }
- }
- }
- }
- if (reserved)
- {
- priv->reserved_keycode = reserved;
- priv->reserved_keysym = XkbKeycodeToKeysym (spi_get_display (), reserved, 0, 0);
- }
+ {
+ if (priv->xkb_desc->map->key_sym_map[i].kt_index[0] == XkbOneLevelIndex)
+ {
+ if (XkbKeycodeToKeysym (spi_get_display (), i, 0, 0) != 0)
+ {
+ /* don't use this one if there's a grab client! */
+
+ /* Runtime errors are generated from these functions,
+ * that are then quashed. Equivalent to:
+ * try
+ * {Blah}
+ * except
+ * {;}
+ */
+
+ spi_x_error_trap ();
+ XGrabKey (spi_get_display (), i, 0,
+ spi_get_root_window (),
+ TRUE,
+ GrabModeSync, GrabModeSync);
+ XSync (spi_get_display (), TRUE);
+ XUngrabKey (spi_get_display (), i, 0,
+ spi_get_root_window ());
+ if (!spi_x_error_release ())
+ {
+ reserved = i;
+ break;
+ }
+ }
+ }
+ }
+ if (reserved)
+ {
+ priv->reserved_keycode = reserved;
+ priv->reserved_keysym = XkbKeycodeToKeysym (spi_get_display (), reserved, 0, 0);
+ }
else
- {
- priv->reserved_keycode = XKeysymToKeycode (spi_get_display (), XK_numbersign);
- priv->reserved_keysym = XK_numbersign;
- }
+ {
+ priv->reserved_keycode = XKeysymToKeycode (spi_get_display (), XK_numbersign);
+ priv->reserved_keysym = XK_numbersign;
+ }
#ifdef SPI_RESERVED_DEBUG
unsigned sym = 0;
sym = XKeycodeToKeysym (spi_get_display (), reserved, 0);
fprintf (stderr, "%x\n", sym);
- fprintf (stderr, "setting the reserved keycode to %d (%s)\n",
- reserved,
- XKeysymToString (XKeycodeToKeysym (spi_get_display (),
- reserved, 0)));
+ fprintf (stderr, "setting the reserved keycode to %d (%s)\n",
+ reserved,
+ XKeysymToString (XKeycodeToKeysym (spi_get_display (),
+ reserved, 0)));
#endif
- }
+ }
spi_set_filter (global_filter_fn, controller);
spi_set_events (KeyPressMask | KeyReleaseMask);
@@ -737,11 +752,11 @@ spi_keystroke_from_x_key_event (XKeyEvent *x_key_event)
Accessibility_DeviceEvent key_event;
KeySym keysym;
const int cbuf_bytes = 20;
- char cbuf [21];
+ char cbuf[21];
int nbytes;
- nbytes = XLookupString (x_key_event, cbuf, cbuf_bytes, &keysym, NULL);
- key_event.id = (dbus_int32_t)(keysym);
+ nbytes = XLookupString (x_key_event, cbuf, cbuf_bytes, &keysym, NULL);
+ key_event.id = (dbus_int32_t) (keysym);
key_event.hw_code = (dbus_int16_t) x_key_event->keycode;
if (((XEvent *) x_key_event)->type == KeyPress)
{
@@ -750,109 +765,109 @@ spi_keystroke_from_x_key_event (XKeyEvent *x_key_event)
else
{
key_event.type = Accessibility_KEY_RELEASED_EVENT;
- }
- key_event.modifiers = (dbus_uint16_t)(x_key_event->state);
+ }
+ key_event.modifiers = (dbus_uint16_t) (x_key_event->state);
key_event.is_text = FALSE;
switch (keysym)
{
- case ' ':
- key_event.event_string = g_strdup ("space");
- break;
- case XK_Tab:
- key_event.event_string = g_strdup ("Tab");
- break;
- case XK_BackSpace:
- key_event.event_string = g_strdup ("Backspace");
- break;
- case XK_Return:
- key_event.event_string = g_strdup ("Return");
- break;
- case XK_Home:
- key_event.event_string = g_strdup ("Home");
- break;
- case XK_Page_Down:
- key_event.event_string = g_strdup ("Page_Down");
- break;
- case XK_Page_Up:
- key_event.event_string = g_strdup ("Page_Up");
- break;
- case XK_F1:
- key_event.event_string = g_strdup ("F1");
- break;
- case XK_F2:
- key_event.event_string = g_strdup ("F2");
- break;
- case XK_F3:
- key_event.event_string = g_strdup ("F3");
- break;
- case XK_F4:
- key_event.event_string = g_strdup ("F4");
- break;
- case XK_F5:
- key_event.event_string = g_strdup ("F5");
- break;
- case XK_F6:
- key_event.event_string = g_strdup ("F6");
- break;
- case XK_F7:
- key_event.event_string = g_strdup ("F7");
- break;
- case XK_F8:
- key_event.event_string = g_strdup ("F8");
- break;
- case XK_F9:
- key_event.event_string = g_strdup ("F9");
- break;
- case XK_F10:
- key_event.event_string = g_strdup ("F10");
- break;
- case XK_F11:
- key_event.event_string = g_strdup ("F11");
- break;
- case XK_F12:
- key_event.event_string = g_strdup ("F12");
- break;
- case XK_End:
- key_event.event_string = g_strdup ("End");
- break;
- case XK_Escape:
- key_event.event_string = g_strdup ("Escape");
- break;
- case XK_Up:
- key_event.event_string = g_strdup ("Up");
- break;
- case XK_Down:
- key_event.event_string = g_strdup ("Down");
- break;
- case XK_Left:
- key_event.event_string = g_strdup ("Left");
- break;
- case XK_Right:
- key_event.event_string = g_strdup ("Right");
- break;
- default:
- if (nbytes > 0)
- {
- gunichar c;
- cbuf[nbytes] = '\0'; /* OK since length is cbuf_bytes+1 */
- key_event.event_string = g_strdup (cbuf);
- c = keysym2ucs (keysym);
- if (c > 0 && !g_unichar_iscntrl (c))
- {
- key_event.is_text = TRUE;
- /* incorrect for some composed chars? */
- }
- }
- else
- {
- key_event.event_string = g_strdup ("");
- }
+ case ' ':
+ key_event.event_string = g_strdup ("space");
+ break;
+ case XK_Tab:
+ key_event.event_string = g_strdup ("Tab");
+ break;
+ case XK_BackSpace:
+ key_event.event_string = g_strdup ("Backspace");
+ break;
+ case XK_Return:
+ key_event.event_string = g_strdup ("Return");
+ break;
+ case XK_Home:
+ key_event.event_string = g_strdup ("Home");
+ break;
+ case XK_Page_Down:
+ key_event.event_string = g_strdup ("Page_Down");
+ break;
+ case XK_Page_Up:
+ key_event.event_string = g_strdup ("Page_Up");
+ break;
+ case XK_F1:
+ key_event.event_string = g_strdup ("F1");
+ break;
+ case XK_F2:
+ key_event.event_string = g_strdup ("F2");
+ break;
+ case XK_F3:
+ key_event.event_string = g_strdup ("F3");
+ break;
+ case XK_F4:
+ key_event.event_string = g_strdup ("F4");
+ break;
+ case XK_F5:
+ key_event.event_string = g_strdup ("F5");
+ break;
+ case XK_F6:
+ key_event.event_string = g_strdup ("F6");
+ break;
+ case XK_F7:
+ key_event.event_string = g_strdup ("F7");
+ break;
+ case XK_F8:
+ key_event.event_string = g_strdup ("F8");
+ break;
+ case XK_F9:
+ key_event.event_string = g_strdup ("F9");
+ break;
+ case XK_F10:
+ key_event.event_string = g_strdup ("F10");
+ break;
+ case XK_F11:
+ key_event.event_string = g_strdup ("F11");
+ break;
+ case XK_F12:
+ key_event.event_string = g_strdup ("F12");
+ break;
+ case XK_End:
+ key_event.event_string = g_strdup ("End");
+ break;
+ case XK_Escape:
+ key_event.event_string = g_strdup ("Escape");
+ break;
+ case XK_Up:
+ key_event.event_string = g_strdup ("Up");
+ break;
+ case XK_Down:
+ key_event.event_string = g_strdup ("Down");
+ break;
+ case XK_Left:
+ key_event.event_string = g_strdup ("Left");
+ break;
+ case XK_Right:
+ key_event.event_string = g_strdup ("Right");
+ break;
+ default:
+ if (nbytes > 0)
+ {
+ gunichar c;
+ cbuf[nbytes] = '\0'; /* OK since length is cbuf_bytes+1 */
+ key_event.event_string = g_strdup (cbuf);
+ c = keysym2ucs (keysym);
+ if (c > 0 && !g_unichar_iscntrl (c))
+ {
+ key_event.is_text = TRUE;
+ /* incorrect for some composed chars? */
+ }
+ }
+ else
+ {
+ key_event.event_string = g_strdup ("");
+ }
}
key_event.timestamp = (dbus_uint32_t) x_key_event->time;
#ifdef SPI_KEYEVENT_DEBUG
{
- char *pressed_str = "pressed";
+ char *pressed_str = "pressed";
char *released_str = "released";
char *state_ptr;
@@ -860,26 +875,25 @@ spi_keystroke_from_x_key_event (XKeyEvent *x_key_event)
state_ptr = pressed_str;
else
state_ptr = released_str;
-
+
fprintf (stderr,
- "Key %lu %s (%c), modifiers %d; string=%s [%x] %s\n",
- (unsigned long) keysym,
- state_ptr,
- keysym ? (int) keysym : '*',
- (int) x_key_event->state,
- key_event.event_string,
- key_event.event_string[0],
- (key_event.is_text == TRUE) ? "(text)" : "(not text)");
+ "Key %lu %s (%c), modifiers %d; string=%s [%x] %s\n",
+ (unsigned long) keysym,
+ state_ptr,
+ keysym ? (int) keysym : '*',
+ (int) x_key_event->state,
+ key_event.event_string,
+ key_event.event_string[0],
+ (key_event.is_text == TRUE) ? "(text)" : "(not text)");
}
#endif
#ifdef SPI_DEBUG
fprintf (stderr, "%s%c\n",
- (x_key_event->state & Mod1Mask)?"Alt-":"",
- ((x_key_event->state & ShiftMask)^(x_key_event->state & LockMask))?
- g_ascii_toupper (keysym) : g_ascii_tolower (keysym));
+ (x_key_event->state & Mod1Mask) ? "Alt-" : "",
+ ((x_key_event->state & ShiftMask) ^ (x_key_event->state & LockMask)) ? g_ascii_toupper (keysym) : g_ascii_tolower (keysym));
fprintf (stderr, "serial: %x Time: %x\n", x_key_event->serial, x_key_event->time);
#endif /* SPI_DEBUG */
- return key_event;
+ return key_event;
}
static gboolean
@@ -888,12 +902,12 @@ spi_dec_x11_grab_key (SpiDEController *controller,
Accessibility_ControllerEventMask mod_mask)
{
XGrabKey (spi_get_display (),
- key_val,
- mod_mask,
- spi_get_root_window (),
- True,
- GrabModeSync,
- GrabModeSync);
+ key_val,
+ mod_mask,
+ spi_get_root_window (),
+ True,
+ GrabModeSync,
+ GrabModeSync);
XSync (spi_get_display (), False);
return spi_clear_error_state ();
}
@@ -904,9 +918,9 @@ spi_dec_x11_ungrab_key (SpiDEController *controller,
Accessibility_ControllerEventMask mod_mask)
{
XUngrabKey (spi_get_display (),
- key_val,
- mod_mask,
- spi_get_root_window ());
+ key_val,
+ mod_mask,
+ spi_get_root_window ());
}
static unsigned int
@@ -915,26 +929,26 @@ xkb_get_slowkeys_delay (SpiDEController *controller)
unsigned int retval = 0;
SpiDEControllerPrivate *priv = spi_device_event_controller_get_instance_private (controller);
#ifdef HAVE_XKB
-#ifdef XKB_HAS_GET_SLOW_KEYS_DELAY
+#ifdef XKB_HAS_GET_SLOW_KEYS_DELAY
retval = XkbGetSlowKeysDelay (spi_get_display (),
- XkbUseCoreKbd, &bounce_delay);
+ XkbUseCoreKbd, &bounce_delay);
#else
if (!(priv->xkb_desc == (XkbDescPtr) BadAlloc || priv->xkb_desc == NULL))
{
Status s = XkbGetControls (spi_get_display (),
- XkbAllControlsMask, priv->xkb_desc);
+ XkbAllControlsMask, priv->xkb_desc);
if (s == Success)
{
- if (priv->xkb_desc->ctrls->enabled_ctrls & XkbSlowKeysMask)
- retval = priv->xkb_desc->ctrls->slow_keys_delay;
- }
+ if (priv->xkb_desc->ctrls->enabled_ctrls & XkbSlowKeysMask)
+ retval = priv->xkb_desc->ctrls->slow_keys_delay;
+ }
}
#endif
#endif
#ifdef SPI_XKB_DEBUG
- fprintf (stderr, "SlowKeys delay: %d\n", (int) retval);
+ fprintf (stderr, "SlowKeys delay: %d\n", (int) retval);
#endif
- return retval;
+ return retval;
}
static unsigned int
@@ -943,19 +957,19 @@ xkb_get_bouncekeys_delay (SpiDEController *controller)
unsigned int retval = 0;
SpiDEControllerPrivate *priv = spi_device_event_controller_get_instance_private (controller);
#ifdef HAVE_XKB
-#ifdef XKB_HAS_GET_BOUNCE_KEYS_DELAY
+#ifdef XKB_HAS_GET_BOUNCE_KEYS_DELAY
retval = XkbGetBounceKeysDelay (spi_get_display (),
- XkbUseCoreKbd, &bounce_delay);
+ XkbUseCoreKbd, &bounce_delay);
#else
if (!(priv->xkb_desc == (XkbDescPtr) BadAlloc || priv->xkb_desc == NULL))
{
Status s = XkbGetControls (spi_get_display (),
- XkbAllControlsMask, priv->xkb_desc);
+ XkbAllControlsMask, priv->xkb_desc);
if (s == Success)
{
- if (priv->xkb_desc->ctrls->enabled_ctrls & XkbBounceKeysMask)
- retval = priv->xkb_desc->ctrls->debounce_delay;
- }
+ if (priv->xkb_desc->ctrls->enabled_ctrls & XkbBounceKeysMask)
+ retval = priv->xkb_desc->ctrls->debounce_delay;
+ }
}
#endif
#endif
@@ -969,210 +983,223 @@ static gboolean
spi_dec_x11_synth_keycode_press (SpiDEController *controller,
unsigned int keycode)
{
- unsigned int time = CurrentTime;
- unsigned int bounce_delay;
-#ifdef THIS_IS_BROKEN
- unsigned int elapsed_msec;
- struct timeval tv;
+ unsigned int time = CurrentTime;
+ unsigned int bounce_delay;
+#ifdef THIS_IS_BROKEN
+ unsigned int elapsed_msec;
+ struct timeval tv;
#endif
- SpiDEControllerPrivate *priv = spi_device_event_controller_get_instance_private (controller);
-
- spi_x_error_trap ();
- if (keycode == priv->last_release_keycode)
- {
- bounce_delay = xkb_get_bouncekeys_delay (controller);
- if (bounce_delay)
- {
+ SpiDEControllerPrivate *priv = spi_device_event_controller_get_instance_private (controller);
+
+ spi_x_error_trap ();
+ if (keycode == priv->last_release_keycode)
+ {
+ bounce_delay = xkb_get_bouncekeys_delay (controller);
+ if (bounce_delay)
+ {
#ifdef THIS_IS_BROKEN
- gettimeofday (&tv, NULL);
- elapsed_msec =
- (tv.tv_sec - priv->last_release_time.tv_sec) * 1000
- + (tv.tv_usec - priv->last_release_time.tv_usec) / 1000;
-# ifdef SPI_XKB_DEBUG
- fprintf (stderr, "%d ms elapsed (%ld usec)\n", elapsed_msec,
- (long) (tv.tv_usec - priv->last_release_time.tv_usec));
-# endif
- if (elapsed_msec < bounce_delay)
- time = bounce_delay - elapsed_msec + 1;
+ gettimeofday (&tv, NULL);
+ elapsed_msec =
+ (tv.tv_sec - priv->last_release_time.tv_sec) * 1000 + (tv.tv_usec - priv->last_release_time.tv_usec) / 1000;
+#ifdef SPI_XKB_DEBUG
+ fprintf (stderr, "%d ms elapsed (%ld usec)\n", elapsed_msec,
+ (long) (tv.tv_usec - priv->last_release_time.tv_usec));
+#endif
+ if (elapsed_msec < bounce_delay)
+ time = bounce_delay - elapsed_msec + 1;
#else
- time = bounce_delay + 10;
- /* fudge for broken XTest */
+ time = bounce_delay + 10;
+ /* fudge for broken XTest */
#endif
-#ifdef SPI_XKB_DEBUG
- fprintf (stderr, "waiting %d ms\n", time);
+#ifdef SPI_XKB_DEBUG
+ fprintf (stderr, "waiting %d ms\n", time);
#endif
- }
- }
- XTestFakeKeyEvent (spi_get_display (), keycode, True, time);
- priv->last_press_keycode = keycode;
- XFlush (spi_get_display ());
- XSync (spi_get_display (), False);
- gettimeofday (&priv->last_press_time, NULL);
- return TRUE;
+ }
+ }
+ XTestFakeKeyEvent (spi_get_display (), keycode, True, time);
+ priv->last_press_keycode = keycode;
+ XFlush (spi_get_display ());
+ XSync (spi_get_display (), False);
+ gettimeofday (&priv->last_press_time, NULL);
+ return TRUE;
}
static gboolean
spi_dec_x11_synth_keycode_release (SpiDEController *controller,
- unsigned int keycode)
+ unsigned int keycode)
{
- unsigned int time = CurrentTime;
- unsigned int slow_delay;
+ unsigned int time = CurrentTime;
+ unsigned int slow_delay;
#ifdef THIS_IS_BROKEN_DUNNO_WHY
- unsigned int elapsed_msec;
- struct timeval tv;
+ unsigned int elapsed_msec;
+ struct timeval tv;
#endif
- SpiDEControllerPrivate *priv = spi_device_event_controller_get_instance_private (controller);
-
- spi_x_error_trap ();
- if (keycode == priv->last_press_keycode)
- {
- slow_delay = xkb_get_slowkeys_delay (controller);
- if (slow_delay)
- {
+ SpiDEControllerPrivate *priv = spi_device_event_controller_get_instance_private (controller);
+
+ spi_x_error_trap ();
+ if (keycode == priv->last_press_keycode)
+ {
+ slow_delay = xkb_get_slowkeys_delay (controller);
+ if (slow_delay)
+ {
#ifdef THIS_IS_BROKEN_DUNNO_WHY
- gettimeofday (&tv, NULL);
- elapsed_msec =
- (tv.tv_sec - priv->last_press_time.tv_sec) * 1000
- + (tv.tv_usec - priv->last_press_time.tv_usec) / 1000;
-# ifdef SPI_XKB_DEBUG
- fprintf (stderr, "%d ms elapsed (%ld usec)\n", elapsed_msec,
- (long) (tv.tv_usec - priv->last_press_time.tv_usec));
-# endif
- if (elapsed_msec < slow_delay)
- time = slow_delay - elapsed_msec + 1;
+ gettimeofday (&tv, NULL);
+ elapsed_msec =
+ (tv.tv_sec - priv->last_press_time.tv_sec) * 1000 + (tv.tv_usec - priv->last_press_time.tv_usec) / 1000;
+#ifdef SPI_XKB_DEBUG
+ fprintf (stderr, "%d ms elapsed (%ld usec)\n", elapsed_msec,
+ (long) (tv.tv_usec - priv->last_press_time.tv_usec));
+#endif
+ if (elapsed_msec < slow_delay)
+ time = slow_delay - elapsed_msec + 1;
#else
- time = slow_delay + 10;
- /* our XTest seems broken, we have to add slop as above */
+ time = slow_delay + 10;
+ /* our XTest seems broken, we have to add slop as above */
#endif
-#ifdef SPI_XKB_DEBUG
- fprintf (stderr, "waiting %d ms\n", time);
+#ifdef SPI_XKB_DEBUG
+ fprintf (stderr, "waiting %d ms\n", time);
#endif
- }
- }
- XTestFakeKeyEvent (spi_get_display (), keycode, False, time);
- priv->last_release_keycode = keycode;
- XSync (spi_get_display (), False);
- gettimeofday (&priv->last_release_time, NULL);
- return TRUE;
+ }
+ }
+ XTestFakeKeyEvent (spi_get_display (), keycode, False, time);
+ priv->last_release_keycode = keycode;
+ XSync (spi_get_display (), False);
+ gettimeofday (&priv->last_release_time, NULL);
+ return TRUE;
}
static gboolean
spi_dec_x11_lock_modifiers (SpiDEController *controller, unsigned modifiers)
{
- SpiDEControllerPrivate *priv = spi_device_event_controller_get_instance_private (controller);
-
- if (priv->have_xkb) {
- return XkbLockModifiers (spi_get_display (), XkbUseCoreKbd,
- modifiers, modifiers);
- } else {
- int mod_index;
- if (xmkeymap==NULL)
- xmkeymap = XGetModifierMapping(spi_get_display ());
- for (mod_index=0;mod_index<8;mod_index++)
- if (modifiers & (1<<mod_index))
- spi_dec_x11_synth_keycode_press(controller, xmkeymap->modifiermap[mod_index]);
- return TRUE;
+ SpiDEControllerPrivate *priv = spi_device_event_controller_get_instance_private (controller);
+
+ if (priv->have_xkb)
+ {
+ return XkbLockModifiers (spi_get_display (), XkbUseCoreKbd,
+ modifiers, modifiers);
+ }
+ else
+ {
+ int mod_index;
+ if (xmkeymap == NULL)
+ xmkeymap = XGetModifierMapping (spi_get_display ());
+ for (mod_index = 0; mod_index < 8; mod_index++)
+ if (modifiers & (1 << mod_index))
+ spi_dec_x11_synth_keycode_press (controller, xmkeymap->modifiermap[mod_index]);
+ return TRUE;
}
}
static gboolean
spi_dec_x11_unlock_modifiers (SpiDEController *controller, unsigned modifiers)
{
- SpiDEControllerPrivate *priv = spi_device_event_controller_get_instance_private (controller);
-
- if (priv->have_xkb) {
- return XkbLockModifiers (spi_get_display (), XkbUseCoreKbd,
- modifiers, 0);
- } else {
- int mod_index;
- if (xmkeymap==NULL)
- xmkeymap = XGetModifierMapping(spi_get_display ());
-
- for (mod_index=0;mod_index<8;mod_index++)
- if (modifiers & (1<<mod_index))
- spi_dec_x11_synth_keycode_release(controller, xmkeymap->modifiermap[mod_index]);
- return TRUE;
+ SpiDEControllerPrivate *priv = spi_device_event_controller_get_instance_private (controller);
+
+ if (priv->have_xkb)
+ {
+ return XkbLockModifiers (spi_get_display (), XkbUseCoreKbd,
+ modifiers, 0);
+ }
+ else
+ {
+ int mod_index;
+ if (xmkeymap == NULL)
+ xmkeymap = XGetModifierMapping (spi_get_display ());
+
+ for (mod_index = 0; mod_index < 8; mod_index++)
+ if (modifiers & (1 << mod_index))
+ spi_dec_x11_synth_keycode_release (controller, xmkeymap->modifiermap[mod_index]);
+ return TRUE;
}
}
static KeySym
keysym_for_unichar (SpiDEController *controller, gunichar unichar)
{
- return (KeySym) ucs2keysym ((long) unichar);
+ return (KeySym) ucs2keysym ((long) unichar);
}
static gboolean
spi_dec_x11_synth_keystring (SpiDEController *controller, guint synth_type, gint keycode, const char *keystring)
{
- /* probably we need to create and inject an XIM handler eventually. */
- /* for now, try to match the string to existing
- * keycode+modifier states.
- */
- KeySym *keysyms;
- gint maxlen = 0;
- gunichar unichar = 0;
- gint i = 0;
- gboolean retval = TRUE;
- const gchar *c;
- KeySym keysym;
-
- if (!(keystring && *keystring && g_utf8_validate (keystring, -1, &c))) {
- retval = FALSE;
- }
- else {
+ /* probably we need to create and inject an XIM handler eventually. */
+ /* for now, try to match the string to existing
+ * keycode+modifier states.
+ */
+ KeySym *keysyms;
+ gint maxlen = 0;
+ gunichar unichar = 0;
+ gint i = 0;
+ gboolean retval = TRUE;
+ const gchar *c;
+ KeySym keysym;
+
+ if (!(keystring && *keystring && g_utf8_validate (keystring, -1, &c)))
+ {
+ retval = FALSE;
+ }
+ else
+ {
#ifdef SPI_DEBUG
- fprintf (stderr, "[keystring synthesis attempted on %s]\n", keystring);
+ fprintf (stderr, "[keystring synthesis attempted on %s]\n", keystring);
#endif
- maxlen = strlen (keystring) + 1;
- keysyms = g_new0 (KeySym, maxlen);
-
- while (keystring && (unichar = g_utf8_get_char (keystring))) {
- char bytes[6];
- gint mbytes;
-
- mbytes = g_unichar_to_utf8 (unichar, bytes);
- bytes[mbytes] = '\0';
+ maxlen = strlen (keystring) + 1;
+ keysyms = g_new0 (KeySym, maxlen);
+
+ while (keystring && (unichar = g_utf8_get_char (keystring)))
+ {
+ char bytes[6];
+ gint mbytes;
+
+ mbytes = g_unichar_to_utf8 (unichar, bytes);
+ bytes[mbytes] = '\0';
#ifdef SPI_DEBUG
- fprintf (stderr, "[unichar %s]", bytes);
+ fprintf (stderr, "[unichar %s]", bytes);
#endif
- keysym = keysym_for_unichar (controller, unichar);
- if (keysym == NoSymbol) {
+ keysym = keysym_for_unichar (controller, unichar);
+ if (keysym == NoSymbol)
+ {
#ifdef SPI_DEBUG
- fprintf (stderr, "no keysym for %s", bytes);
+ fprintf (stderr, "no keysym for %s", bytes);
#endif
- retval = FALSE;
- break;
- }
- keysyms[i++] = keysym;
- keystring = g_utf8_next_char (keystring);
- }
- keysyms[i++] = 0;
- XSynchronize (spi_get_display (), TRUE);
- for (i = 0; keysyms[i]; ++i) {
- if (!spi_dec_synth_keysym (controller, keysyms[i])) {
+ retval = FALSE;
+ break;
+ }
+ keysyms[i++] = keysym;
+ keystring = g_utf8_next_char (keystring);
+ }
+ keysyms[i++] = 0;
+ XSynchronize (spi_get_display (), TRUE);
+ for (i = 0; keysyms[i]; ++i)
+ {
+ if (!spi_dec_synth_keysym (controller, keysyms[i]))
+ {
#ifdef SPI_DEBUG
- fprintf (stderr, "could not synthesize %c\n",
- (int) keysyms[i]);
+ fprintf (stderr, "could not synthesize %c\n",
+ (int) keysyms[i]);
#endif
- retval = FALSE;
- break;
- }
- }
- XSynchronize (spi_get_display (), FALSE);
-
- g_free (keysyms);
- }
-
- if (synth_type == Accessibility_KEY_SYM) {
- keysym = keycode;
- }
- else {
- keysym = XkbKeycodeToKeysym (spi_get_display (), keycode, 0, 0);
- }
- if (XkbKeysymToModifiers (spi_get_display (), keysym) == 0) {
- spi_dec_clear_unlatch_pending (controller);
- }
- return retval;
+ retval = FALSE;
+ break;
+ }
+ }
+ XSynchronize (spi_get_display (), FALSE);
+
+ g_free (keysyms);
+ }
+
+ if (synth_type == Accessibility_KEY_SYM)
+ {
+ keysym = keycode;
+ }
+ else
+ {
+ keysym = XkbKeycodeToKeysym (spi_get_display (), keycode, 0, 0);
+ }
+ if (XkbKeysymToModifiers (spi_get_display (), keysym) == 0)
+ {
+ spi_dec_clear_unlatch_pending (controller);
+ }
+ return retval;
}
static void
@@ -1206,7 +1233,7 @@ spi_dec_x11_finalize (SpiDEController *controller)
static gboolean
spi_device_event_controller_forward_key_event (SpiDEController *controller,
- const XEvent *event)
+ const XEvent *event)
{
SpiDEControllerPrivate *priv = spi_device_event_controller_get_instance_private (controller);
Accessibility_DeviceEvent key_event;
@@ -1221,11 +1248,10 @@ spi_device_event_controller_forward_key_event (SpiDEController *controller,
/* relay to listeners, and decide whether to consume it or not */
ret = spi_controller_notify_keylisteners (controller, &key_event, TRUE);
- g_free(key_event.event_string);
+ g_free (key_event.event_string);
return ret;
}
-
static gboolean
is_key_released (long code)
{
@@ -1241,7 +1267,7 @@ static gboolean
check_release (gpointer data)
{
gboolean released;
- Accessibility_DeviceEvent *event = (Accessibility_DeviceEvent *)data;
+ Accessibility_DeviceEvent *event = (Accessibility_DeviceEvent *) data;
KeyCode code = event->hw_code;
released = is_key_released (code);
@@ -1256,8 +1282,8 @@ check_release (gpointer data)
}
static void
-wait_for_release_event (XEvent *event,
- SpiDEController *controller)
+wait_for_release_event (XEvent *event,
+ SpiDEController *controller)
{
pressed_event = spi_keystroke_from_x_key_event ((XKeyEvent *) event);
check_release_handler = g_timeout_add (CHECK_RELEASE_DELAY, check_release, &pressed_event);
@@ -1265,25 +1291,24 @@ wait_for_release_event (XEvent *event,
}
static void
-spi_dec_x11_emit_modifier_event (SpiDEController *controller, guint prev_mask,
- guint current_mask)
+spi_dec_x11_emit_modifier_event (SpiDEController *controller, guint prev_mask, guint current_mask)
{
dbus_uint32_t d1, d2;
#ifdef SPI_XKB_DEBUG
- fprintf (stderr, "MODIFIER CHANGE EVENT! %x to %x\n",
- prev_mask, current_mask);
+ fprintf (stderr, "MODIFIER CHANGE EVENT! %x to %x\n",
+ prev_mask, current_mask);
#endif
/* set bits for the virtual modifiers like NUMLOCK */
- if (prev_mask & _numlock_physical_mask)
+ if (prev_mask & _numlock_physical_mask)
prev_mask |= SPI_KEYMASK_NUMLOCK;
- if (current_mask & _numlock_physical_mask)
+ if (current_mask & _numlock_physical_mask)
current_mask |= SPI_KEYMASK_NUMLOCK;
d1 = prev_mask & key_modifier_mask;
d2 = current_mask & key_modifier_mask;
- spi_dec_dbus_emit(controller, SPI_DBUS_INTERFACE_EVENT_KEYBOARD, "Modifiers", "", d1, d2);
+ spi_dec_dbus_emit (controller, SPI_DBUS_INTERFACE_EVENT_KEYBOARD, "Modifiers", "", d1, d2);
}
static void
@@ -1298,53 +1323,53 @@ spi_dec_x11_generate_mouse_event (SpiDEController *controller,
switch (eventName[0])
{
- case 'b':
- switch (eventName[1])
- {
- /* TODO: check number of buttons before parsing */
- case '1':
- button = 1;
- break;
- case '2':
- button = 2;
- break;
- case '3':
- button = 3;
- break;
- case '4':
- button = 4;
- break;
- case '5':
- button = 5;
- break;
- default:
- err = TRUE;
- }
- if (!err)
- {
- if (x != -1 && y != -1)
- {
- XTestFakeMotionEvent (display, DefaultScreen (display),
- x, y, 0);
- }
- XTestFakeButtonEvent (display, button, !(eventName[2] == 'r'), 0);
- if (eventName[2] == 'c')
- XTestFakeButtonEvent (display, button, FALSE, 1);
- else if (eventName[2] == 'd')
- {
- XTestFakeButtonEvent (display, button, FALSE, 1);
- XTestFakeButtonEvent (display, button, TRUE, 2);
- XTestFakeButtonEvent (display, button, FALSE, 3);
- }
- }
- break;
- case 'r': /* relative motion */
- XTestFakeRelativeMotionEvent (display, x, y, 0);
- break;
- case 'a': /* absolute motion */
- XTestFakeMotionEvent (display, DefaultScreen (display),
- x, y, 0);
- break;
+ case 'b':
+ switch (eventName[1])
+ {
+ /* TODO: check number of buttons before parsing */
+ case '1':
+ button = 1;
+ break;
+ case '2':
+ button = 2;
+ break;
+ case '3':
+ button = 3;
+ break;
+ case '4':
+ button = 4;
+ break;
+ case '5':
+ button = 5;
+ break;
+ default:
+ err = TRUE;
+ }
+ if (!err)
+ {
+ if (x != -1 && y != -1)
+ {
+ XTestFakeMotionEvent (display, DefaultScreen (display),
+ x, y, 0);
+ }
+ XTestFakeButtonEvent (display, button, !(eventName[2] == 'r'), 0);
+ if (eventName[2] == 'c')
+ XTestFakeButtonEvent (display, button, FALSE, 1);
+ else if (eventName[2] == 'd')
+ {
+ XTestFakeButtonEvent (display, button, FALSE, 1);
+ XTestFakeButtonEvent (display, button, TRUE, 2);
+ XTestFakeButtonEvent (display, button, FALSE, 3);
+ }
+ }
+ break;
+ case 'r': /* relative motion */
+ XTestFakeRelativeMotionEvent (display, x, y, 0);
+ break;
+ case 'a': /* absolute motion */
+ XTestFakeMotionEvent (display, DefaultScreen (display),
+ x, y, 0);
+ break;
}
}
diff --git a/registryd/deviceeventcontroller-x11.h b/registryd/deviceeventcontroller-x11.h
index e66799e4..a39b57d7 100644
--- a/registryd/deviceeventcontroller-x11.h
+++ b/registryd/deviceeventcontroller-x11.h
@@ -1,13 +1,14 @@
#ifndef _DEVICEEVENTCONTROLLER_X11_H_
#define _DEVICEEVENTCONTROLLER_X11_H_
-#include <glib.h>
+#include <X11/XKBlib.h>
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <X11/extensions/XTest.h>
-#include <X11/XKBlib.h>
+#include <glib.h>
-typedef struct {
+typedef struct
+{
Display *xevie_display;
unsigned int last_press_keycode;
unsigned int last_release_keycode;
@@ -22,7 +23,7 @@ typedef struct {
XkbDescPtr xkb_desc;
KeyCode reserved_keycode;
KeySym reserved_keysym;
- guint reserved_reset_timeout;
+ guint reserved_reset_timeout;
} SpiDEControllerPrivate;
#ifdef HAVE_X11
@@ -30,6 +31,6 @@ void spi_dec_setup_x11 (SpiDEControllerClass *klass);
#endif
long ucs2keysym (long ucs);
-long keysym2ucs(long keysym);
+long keysym2ucs (long keysym);
#endif /* _DEVICEEVENTCONTROLLER_X11_H_ */
diff --git a/registryd/deviceeventcontroller.c b/registryd/deviceeventcontroller.c
index c5d7b9c5..466bae22 100644
--- a/registryd/deviceeventcontroller.c
+++ b/registryd/deviceeventcontroller.c
@@ -25,27 +25,27 @@
#include "config.h"
-#undef SPI_XKB_DEBUG
-#undef SPI_DEBUG
-#undef SPI_KEYEVENT_DEBUG
+#undef SPI_XKB_DEBUG
+#undef SPI_DEBUG
+#undef SPI_KEYEVENT_DEBUG
-#include <string.h>
#include <ctype.h>
#include <stdio.h>
+#include <string.h>
#include <sys/time.h>
#include <glib.h>
#include <dbus/dbus.h>
-#include "paths.h"
-#include "de-types.h"
#include "de-marshaller.h"
+#include "de-types.h"
#include "keymasks.h"
+#include "paths.h"
#include "deviceeventcontroller.h"
-#include "reentrant-list.h"
#include "introspection.h"
+#include "reentrant-list.h"
#ifdef HAVE_X11
#include "deviceeventcontroller-x11.h"
@@ -59,43 +59,43 @@
* Otherwise, there is no private data and so we use a dummy struct.
* This is so that G_ADD_PRIVATE() will have a type to work with.
*/
-typedef struct {
+typedef struct
+{
int _dummy;
} SpiDEControllerPrivate;
#endif
-typedef struct {
- gint x;
- gint y;
+typedef struct
+{
+ gint x;
+ gint y;
} SpiPoint;
static unsigned int key_modifier_mask =
- SPI_KEYMASK_MOD1 | SPI_KEYMASK_MOD2 | SPI_KEYMASK_MOD3 | SPI_KEYMASK_MOD4 |
- SPI_KEYMASK_MOD5 | SPI_KEYMASK_SHIFT | SPI_KEYMASK_SHIFTLOCK |
- SPI_KEYMASK_CONTROL | SPI_KEYMASK_NUMLOCK;
+ SPI_KEYMASK_MOD1 | SPI_KEYMASK_MOD2 | SPI_KEYMASK_MOD3 | SPI_KEYMASK_MOD4 |
+ SPI_KEYMASK_MOD5 | SPI_KEYMASK_SHIFT | SPI_KEYMASK_SHIFTLOCK |
+ SPI_KEYMASK_CONTROL | SPI_KEYMASK_NUMLOCK;
unsigned int _numlock_physical_mask = SPI_KEYMASK_MOD2; /* a guess, will be reset */
-
-typedef struct {
- guint ref_count : 30;
- guint pending_add : 1;
- guint pending_remove : 1;
+typedef struct
+{
+ guint ref_count : 30;
+ guint pending_add : 1;
+ guint pending_remove : 1;
Accessibility_ControllerEventMask mod_mask;
- dbus_uint32_t key_val; /* KeyCode */
+ dbus_uint32_t key_val; /* KeyCode */
} DEControllerGrabMask;
-
-gboolean spi_controller_update_key_grabs (SpiDEController *controller,
- Accessibility_DeviceEvent *recv);
+gboolean spi_controller_update_key_grabs (SpiDEController *controller,
+ Accessibility_DeviceEvent *recv);
static gboolean eventtype_seq_contains_event (dbus_uint32_t types,
- const Accessibility_DeviceEvent *event);
+ const Accessibility_DeviceEvent *event);
static gboolean spi_dec_poll_mouse_moving (gpointer data);
static gboolean spi_dec_poll_mouse_idle (gpointer data);
-G_DEFINE_TYPE_WITH_CODE(SpiDEController, spi_device_event_controller, G_TYPE_OBJECT,
- G_ADD_PRIVATE (SpiDEController))
+G_DEFINE_TYPE_WITH_CODE (SpiDEController, spi_device_event_controller, G_TYPE_OBJECT, G_ADD_PRIVATE (SpiDEController))
static gint
spi_dec_plat_get_keycode (SpiDEController *controller,
@@ -119,8 +119,10 @@ spi_dec_plat_get_keycode (SpiDEController *controller,
}
static guint
-spi_dec_plat_mouse_check (SpiDEController *controller,
- int *x, int *y, gboolean *moved)
+spi_dec_plat_mouse_check (SpiDEController *controller,
+ int *x,
+ int *y,
+ gboolean *moved)
{
SpiDEControllerClass *klass;
klass = SPI_DEVICE_EVENT_CONTROLLER_GET_CLASS (controller);
@@ -158,7 +160,7 @@ spi_dec_plat_ungrab_key (SpiDEController *controller, guint key_val, Accessibili
static gboolean
spi_dec_plat_synth_keycode_press (SpiDEController *controller,
- unsigned int keycode)
+ unsigned int keycode)
{
SpiDEControllerClass *klass;
klass = SPI_DEVICE_EVENT_CONTROLLER_GET_CLASS (controller);
@@ -170,7 +172,7 @@ spi_dec_plat_synth_keycode_press (SpiDEController *controller,
static gboolean
spi_dec_plat_synth_keycode_release (SpiDEController *controller,
- unsigned int keycode)
+ unsigned int keycode)
{
SpiDEControllerClass *klass;
klass = SPI_DEVICE_EVENT_CONTROLLER_GET_CLASS (controller);
@@ -214,8 +216,7 @@ spi_dec_plat_synth_keystring (SpiDEController *controller, guint synth_type, gin
}
static void
-spi_dec_plat_emit_modifier_event (SpiDEController *controller, guint prev_mask,
- guint current_mask)
+spi_dec_plat_emit_modifier_event (SpiDEController *controller, guint prev_mask, guint current_mask)
{
SpiDEControllerClass *klass;
klass = SPI_DEVICE_EVENT_CONTROLLER_GET_CLASS (controller);
@@ -238,19 +239,19 @@ spi_dec_plat_generate_mouse_event (SpiDEController *controller,
static DBusMessage *
invalid_arguments_error (DBusMessage *message)
{
- DBusMessage *reply;
- gchar *errmsg;
-
- errmsg= g_strdup_printf (
- "Method \"%s\" with signature \"%s\" on interface \"%s\" was supplied with invalid arguments\n",
- dbus_message_get_member (message),
- dbus_message_get_signature (message),
- dbus_message_get_interface (message));
- reply = dbus_message_new_error (message,
- DBUS_ERROR_INVALID_ARGS,
- errmsg);
- g_free (errmsg);
- return reply;
+ DBusMessage *reply;
+ gchar *errmsg;
+
+ errmsg = g_strdup_printf (
+ "Method \"%s\" with signature \"%s\" on interface \"%s\" was supplied with invalid arguments\n",
+ dbus_message_get_member (message),
+ dbus_message_get_signature (message),
+ dbus_message_get_interface (message));
+ reply = dbus_message_new_error (message,
+ DBUS_ERROR_INVALID_ARGS,
+ errmsg);
+ g_free (errmsg);
+ return reply;
}
/* Private methods */
@@ -278,22 +279,23 @@ spi_dbus_remove_disconnect_match (DBusConnection *bus, const char *name)
{
char *match = g_strdup_printf ("interface=%s,member=NameOwnerChanged,arg0=%s", DBUS_INTERFACE_DBUS, name);
if (match)
- {
- DBusError error;
- dbus_error_init (&error);
- dbus_bus_remove_match (bus, match, &error);
- g_free (match);
- if (dbus_error_is_set (&error))
- {
- dbus_error_free (&error);
- return FALSE;
- }
- else
- {
- return TRUE;
- }
- }
- else return FALSE;
+ {
+ DBusError error;
+ dbus_error_init (&error);
+ dbus_bus_remove_match (bus, match, &error);
+ g_free (match);
+ if (dbus_error_is_set (&error))
+ {
+ dbus_error_free (&error);
+ return FALSE;
+ }
+ else
+ {
+ return TRUE;
+ }
+ }
+ else
+ return FALSE;
}
static DEControllerGrabMask *
@@ -327,14 +329,13 @@ spi_grab_mask_compare_values (gconstpointer p1, gconstpointer p2)
return 0;
}
else
- {
+ {
return ((l1->mod_mask != l2->mod_mask) || (l1->key_val != l2->key_val));
}
}
void
-spi_dec_dbus_emit (SpiDEController *controller, const char *interface,
- const char *name, const char *minor, int a1, int a2)
+spi_dec_dbus_emit (SpiDEController *controller, const char *interface, const char *name, const char *minor, int a1, int a2)
{
DBusMessage *signal = NULL;
DBusMessageIter iter, iter_dict, iter_variant;
@@ -349,11 +350,11 @@ spi_dec_dbus_emit (SpiDEController *controller, const char *interface,
dbus_message_iter_append_basic (&iter, DBUS_TYPE_INT32, &a1);
dbus_message_iter_append_basic (&iter, DBUS_TYPE_INT32, &a2);
dbus_message_iter_open_container (&iter, DBUS_TYPE_VARIANT, "i", &iter_variant);
- dbus_message_iter_append_basic (&iter_variant, DBUS_TYPE_INT32, &nil);
+ dbus_message_iter_append_basic (&iter_variant, DBUS_TYPE_INT32, &nil);
dbus_message_iter_close_container (&iter, &iter_variant);
dbus_message_iter_open_container (&iter, DBUS_TYPE_ARRAY, "{sv}", &iter_dict);
- dbus_message_iter_close_container (&iter, &iter_dict);
+ dbus_message_iter_close_container (&iter, &iter_dict);
dbus_connection_send (controller->bus, signal, NULL);
dbus_message_unref (signal);
@@ -362,7 +363,7 @@ spi_dec_dbus_emit (SpiDEController *controller, const char *interface,
static gboolean
spi_dec_poll_mouse_moved (gpointer data)
{
- SpiDEController *controller = SPI_DEVICE_EVENT_CONTROLLER(data);
+ SpiDEController *controller = SPI_DEVICE_EVENT_CONTROLLER (data);
int x, y;
gboolean moved;
guint mask_return;
@@ -382,7 +383,7 @@ spi_dec_poll_mouse_moved (gpointer data)
static gboolean
spi_dec_poll_mouse_idle (gpointer data)
{
- SpiDEController *controller = SPI_DEVICE_EVENT_CONTROLLER(data);
+ SpiDEController *controller = SPI_DEVICE_EVENT_CONTROLLER (data);
if (!controller->have_mouse_event_listener)
return FALSE;
@@ -393,14 +394,14 @@ spi_dec_poll_mouse_idle (gpointer data)
guint id;
id = g_timeout_add (20, spi_dec_poll_mouse_moving, controller);
g_source_set_name_by_id (id, "[at-spi2-core] spi_dec_poll_mouse_moving");
- return FALSE;
+ return FALSE;
}
}
static gboolean
spi_dec_poll_mouse_moving (gpointer data)
{
- SpiDEController *controller = SPI_DEVICE_EVENT_CONTROLLER(data);
+ SpiDEController *controller = SPI_DEVICE_EVENT_CONTROLLER (data);
if (!controller->have_mouse_event_listener)
return FALSE;
@@ -417,10 +418,10 @@ spi_dec_poll_mouse_moving (gpointer data)
/**
* Eventually we can use this to make the marshalling of mask types
- * more sane, but for now we just use this to detect
+ * more sane, but for now we just use this to detect
* the use of 'virtual' masks such as numlock and convert them to
* system-specific mask values (i.e. ModMask).
- *
+ *
**/
static Accessibility_ControllerEventMask
spi_dec_translate_mask (Accessibility_ControllerEventMask mask)
@@ -435,61 +436,62 @@ spi_dec_translate_mask (Accessibility_ControllerEventMask mask)
tmp_mask = mask ^ SPI_KEYMASK_NUMLOCK;
tmp_mask |= _numlock_physical_mask;
}
-
+
return tmp_mask;
}
static DEControllerKeyListener *
spi_dec_key_listener_new (const char *bus_name,
- const char *path,
- GSList *keys,
- const Accessibility_ControllerEventMask mask,
- const dbus_uint32_t types,
- const Accessibility_EventListenerMode *mode)
+ const char *path,
+ GSList *keys,
+ const Accessibility_ControllerEventMask mask,
+ const dbus_uint32_t types,
+ const Accessibility_EventListenerMode *mode)
{
DEControllerKeyListener *key_listener = g_new0 (DEControllerKeyListener, 1);
- key_listener->listener.bus_name = g_strdup(bus_name);
- key_listener->listener.path = g_strdup(path);
+ key_listener->listener.bus_name = g_strdup (bus_name);
+ key_listener->listener.path = g_strdup (path);
key_listener->listener.type = SPI_DEVICE_TYPE_KBD;
key_listener->keys = keys;
key_listener->mask = spi_dec_translate_mask (mask);
key_listener->listener.types = types;
if (mode)
- {
- key_listener->mode = (Accessibility_EventListenerMode *) g_malloc(sizeof(Accessibility_EventListenerMode));
- memcpy(key_listener->mode, mode, sizeof(*mode));
- }
+ {
+ key_listener->mode = (Accessibility_EventListenerMode *) g_malloc (sizeof (Accessibility_EventListenerMode));
+ memcpy (key_listener->mode, mode, sizeof (*mode));
+ }
else
key_listener->mode = NULL;
#ifdef SPI_DEBUG
g_print ("new listener, with mask %x, is_global %d, keys %p (%d)\n",
- (unsigned int) key_listener->mask,
+ (unsigned int) key_listener->mask,
(int) (mode ? mode->global : 0),
- (void *) key_listener->keys,
- (int) (key_listener->keys ? g_slist_length(key_listener->keys) : 0));
+ (void *) key_listener->keys,
+ (int) (key_listener->keys ? g_slist_length (key_listener->keys) : 0));
#endif
- return key_listener;
+ return key_listener;
}
-static GSList *keylist_clone (GSList *s)
+static GSList *
+keylist_clone (GSList *s)
{
GSList *d = NULL;
GSList *l;
- for (l = s; l; l = g_slist_next(l))
- {
- Accessibility_KeyDefinition *kd = (Accessibility_KeyDefinition *)g_malloc(sizeof(Accessibility_KeyDefinition));
- if (kd)
+ for (l = s; l; l = g_slist_next (l))
{
- Accessibility_KeyDefinition *kds = (Accessibility_KeyDefinition *)l->data;
- kd->keycode = kds->keycode;
- kd->keysym = kds->keysym;
- kd->keystring = g_strdup(kds->keystring);
- d = g_slist_append(d, kd);
+ Accessibility_KeyDefinition *kd = (Accessibility_KeyDefinition *) g_malloc (sizeof (Accessibility_KeyDefinition));
+ if (kd)
+ {
+ Accessibility_KeyDefinition *kds = (Accessibility_KeyDefinition *) l->data;
+ kd->keycode = kds->keycode;
+ kd->keysym = kds->keysym;
+ kd->keystring = g_strdup (kds->keystring);
+ d = g_slist_append (d, kd);
+ }
}
- }
return d;
}
@@ -504,33 +506,36 @@ spi_key_listener_clone (DEControllerKeyListener *key_listener)
clone->mask = key_listener->mask;
clone->listener.types = key_listener->listener.types;
if (key_listener->mode)
- {
- clone->mode = (Accessibility_EventListenerMode *)g_malloc(sizeof(Accessibility_EventListenerMode));
- if (clone->mode) memcpy(clone->mode, key_listener->mode, sizeof(Accessibility_EventListenerMode));
- }
+ {
+ clone->mode = (Accessibility_EventListenerMode *) g_malloc (sizeof (Accessibility_EventListenerMode));
+ if (clone->mode)
+ memcpy (clone->mode, key_listener->mode, sizeof (Accessibility_EventListenerMode));
+ }
else
clone->mode = NULL;
return clone;
}
-static void keylist_free(GSList *keys)
+static void
+keylist_free (GSList *keys)
{
GSList *l;
- for (l = keys; l; l = g_slist_next(l))
- {
- Accessibility_KeyDefinition *kd = (Accessibility_KeyDefinition *)l->data;
- g_free(kd->keystring);
- g_free(kd);
- }
+ for (l = keys; l; l = g_slist_next (l))
+ {
+ Accessibility_KeyDefinition *kd = (Accessibility_KeyDefinition *) l->data;
+ g_free (kd->keystring);
+ g_free (kd);
+ }
g_slist_free (keys);
}
static void
spi_key_listener_data_free (DEControllerKeyListener *key_listener)
{
- keylist_free(key_listener->keys);
- if (key_listener->mode) g_free(key_listener->mode);
+ keylist_free (key_listener->keys);
+ if (key_listener->mode)
+ g_free (key_listener->mode);
g_free (key_listener->listener.bus_name);
g_free (key_listener->listener.path);
g_free (key_listener);
@@ -543,25 +548,25 @@ spi_key_listener_clone_free (DEControllerKeyListener *clone)
}
static void
-spi_dec_listener_free (DEControllerListener *listener)
+spi_dec_listener_free (DEControllerListener *listener)
{
- if (listener->type == SPI_DEVICE_TYPE_KBD)
+ if (listener->type == SPI_DEVICE_TYPE_KBD)
spi_key_listener_data_free ((DEControllerKeyListener *) listener);
else
- {
- g_free (listener->bus_name);
- g_free (listener->path);
- }
+ {
+ g_free (listener->bus_name);
+ g_free (listener->path);
+ }
}
static void
-_register_keygrab (SpiDEController *controller,
- DEControllerGrabMask *grab_mask)
+_register_keygrab (SpiDEController *controller,
+ DEControllerGrabMask *grab_mask)
{
GList *l;
l = g_list_find_custom (controller->keygrabs_list, grab_mask,
- spi_grab_mask_compare_values);
+ spi_grab_mask_compare_values);
if (l)
{
DEControllerGrabMask *cur_mask = l->data;
@@ -570,24 +575,24 @@ _register_keygrab (SpiDEController *controller,
if (cur_mask->pending_remove)
{
cur_mask->pending_remove = FALSE;
- }
+ }
}
else
{
controller->keygrabs_list =
- g_list_prepend (controller->keygrabs_list,
- spi_grab_mask_clone (grab_mask));
+ g_list_prepend (controller->keygrabs_list,
+ spi_grab_mask_clone (grab_mask));
}
}
static void
-_deregister_keygrab (SpiDEController *controller,
- DEControllerGrabMask *grab_mask)
+_deregister_keygrab (SpiDEController *controller,
+ DEControllerGrabMask *grab_mask)
{
GList *l;
l = g_list_find_custom (controller->keygrabs_list, grab_mask,
- spi_grab_mask_compare_values);
+ spi_grab_mask_compare_values);
if (l)
{
@@ -597,15 +602,15 @@ _deregister_keygrab (SpiDEController *controller,
if (cur_mask->ref_count <= 0)
{
cur_mask->pending_remove = TRUE;
- }
+ }
}
}
static void
-handle_keygrab (SpiDEController *controller,
- DEControllerKeyListener *key_listener,
- void (*process_cb) (SpiDEController *controller,
- DEControllerGrabMask *grab_mask))
+handle_keygrab (SpiDEController *controller,
+ DEControllerKeyListener *key_listener,
+ void (*process_cb) (SpiDEController *controller,
+ DEControllerGrabMask *grab_mask))
{
DEControllerGrabMask grab_mask = { 0 };
@@ -622,30 +627,30 @@ handle_keygrab (SpiDEController *controller,
{
GSList *l;
- for (l = key_listener->keys; l; l = g_slist_next(l))
+ for (l = key_listener->keys; l; l = g_slist_next (l))
{
- Accessibility_KeyDefinition *keydef = l->data;
- long key_val;
- key_val = spi_dec_plat_get_keycode (controller, keydef->keysym, keydef->keystring, FALSE, NULL);
- if (!key_val)
- key_val = keydef->keycode;
- grab_mask.key_val = key_val;
- process_cb (controller, &grab_mask);
- }
+ Accessibility_KeyDefinition *keydef = l->data;
+ long key_val;
+ key_val = spi_dec_plat_get_keycode (controller, keydef->keysym, keydef->keystring, FALSE, NULL);
+ if (!key_val)
+ key_val = keydef->keycode;
+ grab_mask.key_val = key_val;
+ process_cb (controller, &grab_mask);
+ }
}
}
static gboolean
-spi_controller_register_global_keygrabs (SpiDEController *controller,
- DEControllerKeyListener *key_listener)
+spi_controller_register_global_keygrabs (SpiDEController *controller,
+ DEControllerKeyListener *key_listener)
{
handle_keygrab (controller, key_listener, _register_keygrab);
return spi_controller_update_key_grabs (controller, NULL);
}
static void
-spi_controller_deregister_global_keygrabs (SpiDEController *controller,
- DEControllerKeyListener *key_listener)
+spi_controller_deregister_global_keygrabs (SpiDEController *controller,
+ DEControllerKeyListener *key_listener)
{
handle_keygrab (controller, key_listener, _deregister_keygrab);
spi_controller_update_key_grabs (controller, NULL);
@@ -672,49 +677,49 @@ append_keystroke_listener (DBusMessageIter *iter, DEControllerKeyListener *liste
dbus_message_iter_append_basic (&iter_struct, DBUS_TYPE_UINT32, &d_uint);
if (!dbus_message_iter_open_container (&iter_struct, DBUS_TYPE_ARRAY,
"(iisi)", &iter_subarray))
- {
- dbus_message_iter_close_container (iter, &iter_struct);
- return;
- }
+ {
+ dbus_message_iter_close_container (iter, &iter_struct);
+ return;
+ }
for (kl = listener->keys; kl; kl = kl->next)
- {
- Accessibility_KeyDefinition *kd = kl->data;
- if (!dbus_message_iter_open_container (&iter_subarray, DBUS_TYPE_STRUCT,
- NULL, &iter_substruct))
- break;
- dbus_message_iter_append_basic (&iter_substruct, DBUS_TYPE_INT32, &kd->keycode);
- dbus_message_iter_append_basic (&iter_substruct, DBUS_TYPE_INT32, &kd->keysym);
- dbus_message_iter_append_basic (&iter_substruct, DBUS_TYPE_STRING, &kd->keystring);
- dbus_message_iter_append_basic (&iter_substruct, DBUS_TYPE_INT32, &kd->unused);
- dbus_message_iter_close_container (&iter_subarray, &iter_substruct);
- }
+ {
+ Accessibility_KeyDefinition *kd = kl->data;
+ if (!dbus_message_iter_open_container (&iter_subarray, DBUS_TYPE_STRUCT,
+ NULL, &iter_substruct))
+ break;
+ dbus_message_iter_append_basic (&iter_substruct, DBUS_TYPE_INT32, &kd->keycode);
+ dbus_message_iter_append_basic (&iter_substruct, DBUS_TYPE_INT32, &kd->keysym);
+ dbus_message_iter_append_basic (&iter_substruct, DBUS_TYPE_STRING, &kd->keystring);
+ dbus_message_iter_append_basic (&iter_substruct, DBUS_TYPE_INT32, &kd->unused);
+ dbus_message_iter_close_container (&iter_subarray, &iter_substruct);
+ }
dbus_message_iter_close_container (&iter_struct, &iter_subarray);
d_uint = listener->mask;
dbus_message_iter_append_basic (&iter_struct, DBUS_TYPE_UINT32, &d_uint);
if (dbus_message_iter_open_container (&iter_struct, DBUS_TYPE_STRUCT,
- NULL, &iter_substruct))
- {
- if (listener->mode)
- {
- dbus_message_iter_append_basic (&iter_substruct, DBUS_TYPE_BOOLEAN,
- &listener->mode->synchronous);
- dbus_message_iter_append_basic (&iter_substruct, DBUS_TYPE_BOOLEAN,
- &listener->mode->preemptive);
- dbus_message_iter_append_basic (&iter_substruct, DBUS_TYPE_BOOLEAN,
- &listener->mode->global);
- }
- else
- {
- dbus_bool_t dummy_val = FALSE;
- dbus_message_iter_append_basic (&iter_substruct, DBUS_TYPE_BOOLEAN,
- &dummy_val);
- dbus_message_iter_append_basic (&iter_substruct, DBUS_TYPE_BOOLEAN,
- &dummy_val);
- dbus_message_iter_append_basic (&iter_substruct, DBUS_TYPE_BOOLEAN,
- &dummy_val);
- }
- dbus_message_iter_close_container (&iter_struct, &iter_substruct);
- }
+ NULL, &iter_substruct))
+ {
+ if (listener->mode)
+ {
+ dbus_message_iter_append_basic (&iter_substruct, DBUS_TYPE_BOOLEAN,
+ &listener->mode->synchronous);
+ dbus_message_iter_append_basic (&iter_substruct, DBUS_TYPE_BOOLEAN,
+ &listener->mode->preemptive);
+ dbus_message_iter_append_basic (&iter_substruct, DBUS_TYPE_BOOLEAN,
+ &listener->mode->global);
+ }
+ else
+ {
+ dbus_bool_t dummy_val = FALSE;
+ dbus_message_iter_append_basic (&iter_substruct, DBUS_TYPE_BOOLEAN,
+ &dummy_val);
+ dbus_message_iter_append_basic (&iter_substruct, DBUS_TYPE_BOOLEAN,
+ &dummy_val);
+ dbus_message_iter_append_basic (&iter_substruct, DBUS_TYPE_BOOLEAN,
+ &dummy_val);
+ }
+ dbus_message_iter_close_container (&iter_struct, &iter_substruct);
+ }
dbus_message_iter_close_container (iter, &iter_struct);
}
@@ -726,8 +731,8 @@ notify_keystroke_listener (SpiDEController *controller,
const char *path = SPI_DBUS_PATH_DEC;
const char *interface = SPI_DBUS_INTERFACE_DEVICE_EVENT_LISTENER;
const char *name = (enable
- ? "KeystrokeListenerRegistered"
- : "KeystrokeListenerDeregistered");
+ ? "KeystrokeListenerRegistered"
+ : "KeystrokeListenerDeregistered");
DBusMessage *signal;
DBusMessageIter iter;
@@ -741,41 +746,42 @@ notify_keystroke_listener (SpiDEController *controller,
}
static gboolean
-spi_controller_register_device_listener (SpiDEController *controller,
- DEControllerListener *listener)
+spi_controller_register_device_listener (SpiDEController *controller,
+ DEControllerListener *listener)
{
DEControllerKeyListener *key_listener;
gboolean retval;
-
- switch (listener->type) {
- case SPI_DEVICE_TYPE_KBD:
+
+ switch (listener->type)
+ {
+ case SPI_DEVICE_TYPE_KBD:
key_listener = (DEControllerKeyListener *) listener;
controller->key_listeners = g_list_prepend (controller->key_listeners,
- key_listener);
+ key_listener);
spi_dbus_add_disconnect_match (controller->bus, key_listener->listener.bus_name);
if (key_listener->mode->global)
{
- retval = spi_controller_register_global_keygrabs (controller, key_listener);
- }
+ retval = spi_controller_register_global_keygrabs (controller, key_listener);
+ }
else
- retval = TRUE;
+ retval = TRUE;
if (retval)
- notify_keystroke_listener (controller, key_listener, TRUE);
+ notify_keystroke_listener (controller, key_listener, TRUE);
break;
- default:
+ default:
g_assert_not_reached ();
break;
- }
+ }
return FALSE;
}
static void
set_reply (DBusPendingCall *pending, void *user_data)
{
- void **replyptr = (void **)user_data;
+ void **replyptr = (void **) user_data;
- *replyptr = dbus_pending_call_steal_reply (pending);
+ *replyptr = dbus_pending_call_steal_reply (pending);
}
static GSList *hung_processes = NULL;
@@ -791,15 +797,15 @@ reset_hung_process (DBusPendingCall *pending, void *data)
dbus_pending_call_unref (pending);
for (l = hung_processes; l; l = l->next)
- {
- if (!strcmp (l->data, dest))
{
- gpointer l_data = l->data;
- hung_processes = g_slist_remove (hung_processes, l_data);
- g_free (l_data);
- break;
+ if (!strcmp (l->data, dest))
+ {
+ gpointer l_data = l->data;
+ hung_processes = g_slist_remove (hung_processes, l_data);
+ g_free (l_data);
+ break;
+ }
}
- }
}
static gint
@@ -817,15 +823,15 @@ reset_hung_process_from_ping (DBusPendingCall *pending, void *data)
GSList *l;
for (l = hung_processes; l; l = l->next)
- {
- if (!strcmp (l->data, data))
{
- gpointer l_data = l->data;
- hung_processes = g_slist_remove (hung_processes, l_data);
- g_free (l_data);
- break;
+ if (!strcmp (l->data, data))
+ {
+ gpointer l_data = l->data;
+ hung_processes = g_slist_remove (hung_processes, l_data);
+ g_free (l_data);
+ break;
+ }
}
- }
g_free (data);
dbus_pending_call_unref (pending);
}
@@ -833,97 +839,97 @@ reset_hung_process_from_ping (DBusPendingCall *pending, void *data)
static DBusMessage *
send_and_allow_reentry (DBusConnection *bus, DBusMessage *message, int timeout, DBusError *error)
{
- DBusPendingCall *pending;
- DBusMessage *reply = NULL;
+ DBusPendingCall *pending;
+ DBusMessage *reply = NULL;
struct timeval tv;
- if (!dbus_connection_send_with_reply (bus, message, &pending, -1))
+ if (!dbus_connection_send_with_reply (bus, message, &pending, -1))
{
- return NULL;
+ return NULL;
}
- dbus_pending_call_set_notify (pending, set_reply, (void *)&reply, NULL);
- gettimeofday (&tv, NULL);
- while (!reply)
+ dbus_pending_call_set_notify (pending, set_reply, (void *) &reply, NULL);
+ gettimeofday (&tv, NULL);
+ while (!reply)
{
if (!dbus_connection_read_write_dispatch (bus, timeout) ||
time_elapsed (&tv) > timeout)
- {
- const char *dest = dbus_message_get_destination (message);
- GSList *l;
- gchar *bus_name_dup;
- dbus_message_ref (message);
- dbus_pending_call_set_notify (pending, reset_hung_process, message,
- (DBusFreeFunction) dbus_message_unref);
- message = dbus_message_new_method_call (dest, "/",
- "org.freedesktop.DBus.Peer",
- "Ping");
- if (!message)
- return NULL;
- dbus_connection_send_with_reply (bus, message, &pending, -1);
- dbus_message_unref (message);
- if (!pending)
- return NULL;
- bus_name_dup = g_strdup (dest);
- dbus_pending_call_set_notify (pending, reset_hung_process_from_ping,
- bus_name_dup, NULL);
- for (l = hung_processes; l; l = l->next)
- if (!strcmp (l->data, dest))
+ {
+ const char *dest = dbus_message_get_destination (message);
+ GSList *l;
+ gchar *bus_name_dup;
+ dbus_message_ref (message);
+ dbus_pending_call_set_notify (pending, reset_hung_process, message,
+ (DBusFreeFunction) dbus_message_unref);
+ message = dbus_message_new_method_call (dest, "/",
+ "org.freedesktop.DBus.Peer",
+ "Ping");
+ if (!message)
+ return NULL;
+ dbus_connection_send_with_reply (bus, message, &pending, -1);
+ dbus_message_unref (message);
+ if (!pending)
return NULL;
- hung_processes = g_slist_prepend (hung_processes, g_strdup (dest));
- return NULL;
- }
+ bus_name_dup = g_strdup (dest);
+ dbus_pending_call_set_notify (pending, reset_hung_process_from_ping,
+ bus_name_dup, NULL);
+ for (l = hung_processes; l; l = l->next)
+ if (!strcmp (l->data, dest))
+ return NULL;
+ hung_processes = g_slist_prepend (hung_processes, g_strdup (dest));
+ return NULL;
+ }
}
- dbus_pending_call_unref (pending);
- return reply;
+ dbus_pending_call_unref (pending);
+ return reply;
}
static gboolean
-Accessibility_DeviceEventListener_NotifyEvent(SpiDEController *controller,
- DEControllerListener *listener,
- const Accessibility_DeviceEvent *key_event)
-{
- DBusMessage *message = dbus_message_new_method_call(listener->bus_name,
- listener->path,
- SPI_DBUS_INTERFACE_DEVICE_EVENT_LISTENER,
- "NotifyEvent");
+Accessibility_DeviceEventListener_NotifyEvent (SpiDEController *controller,
+ DEControllerListener *listener,
+ const Accessibility_DeviceEvent *key_event)
+{
+ DBusMessage *message = dbus_message_new_method_call (listener->bus_name,
+ listener->path,
+ SPI_DBUS_INTERFACE_DEVICE_EVENT_LISTENER,
+ "NotifyEvent");
dbus_bool_t consumed = FALSE;
GSList *l;
gboolean hung = FALSE;
for (l = hung_processes; l; l = l->next)
- {
- if (!strcmp (l->data, listener->bus_name))
{
- dbus_message_set_no_reply (message, TRUE);
- hung = TRUE;
- break;
+ if (!strcmp (l->data, listener->bus_name))
+ {
+ dbus_message_set_no_reply (message, TRUE);
+ hung = TRUE;
+ break;
+ }
}
- }
-
- if (spi_dbus_marshal_deviceEvent(message, key_event))
- {
- DBusMessage *reply;
- if (hung)
+ if (spi_dbus_marshal_deviceEvent (message, key_event))
{
- dbus_connection_send (controller->bus, message, NULL);
- dbus_message_unref (message);
- return FALSE;
- }
+ DBusMessage *reply;
- reply = send_and_allow_reentry (controller->bus, message, 3000, NULL);
- if (reply)
- {
- dbus_message_get_args(reply, NULL, DBUS_TYPE_BOOLEAN, &consumed, DBUS_TYPE_INVALID);
- dbus_message_unref(reply);
+ if (hung)
+ {
+ dbus_connection_send (controller->bus, message, NULL);
+ dbus_message_unref (message);
+ return FALSE;
+ }
+
+ reply = send_and_allow_reentry (controller->bus, message, 3000, NULL);
+ if (reply)
+ {
+ dbus_message_get_args (reply, NULL, DBUS_TYPE_BOOLEAN, &consumed, DBUS_TYPE_INVALID);
+ dbus_message_unref (reply);
+ }
}
- }
- dbus_message_unref(message);
+ dbus_message_unref (message);
return consumed;
}
static gboolean
-key_set_contains_key (GSList *key_set,
- const Accessibility_DeviceEvent *key_event)
+key_set_contains_key (GSList *key_set,
+ const Accessibility_DeviceEvent *key_event)
{
gint i;
gint len;
@@ -938,40 +944,40 @@ key_set_contains_key (GSList *key_set,
}
len = g_slist_length (key_set);
-
+
if (len == 0) /* special case, means "all keys/any key" */
{
#ifdef SPI_DEBUG
- g_print ("anykey\n");
+ g_print ("anykey\n");
#endif
return TRUE;
}
- for (l = key_set,i = 0; l; l = g_slist_next(l),i++)
+ for (l = key_set, i = 0; l; l = g_slist_next (l), i++)
{
Accessibility_KeyDefinition *kd = l->data;
-#ifdef SPI_KEYEVENT_DEBUG
+#ifdef SPI_KEYEVENT_DEBUG
g_print ("key_set[%d] event = %d, code = %d; key_event %d, code %d, string %s\n",
- i,
- (int) kd->keysym,
- (int) kd->keycode,
- (int) key_event->id,
- (int) key_event->hw_code,
- key_event->event_string);
+ i,
+ (int) kd->keysym,
+ (int) kd->keycode,
+ (int) key_event->id,
+ (int) key_event->hw_code,
+ key_event->event_string);
#endif
if (kd->keysym == (dbus_uint32_t) key_event->id)
{
return TRUE;
- }
+ }
if (kd->keycode == (dbus_uint32_t) key_event->hw_code)
{
return TRUE;
- }
+ }
if (key_event->event_string && key_event->event_string[0] &&
- !strcmp (kd->keystring, key_event->event_string))
+ !strcmp (kd->keystring, key_event->event_string))
{
return TRUE;
- }
+ }
}
return FALSE;
@@ -979,7 +985,7 @@ key_set_contains_key (GSList *key_set,
static gboolean
eventtype_seq_contains_event (dbus_uint32_t types,
- const Accessibility_DeviceEvent *event)
+ const Accessibility_DeviceEvent *event)
{
if (types == 0) /* special case, means "all events/any event" */
{
@@ -991,12 +997,12 @@ eventtype_seq_contains_event (dbus_uint32_t types,
static gboolean
spi_key_event_matches_listener (const Accessibility_DeviceEvent *key_event,
- DEControllerKeyListener *listener,
- dbus_bool_t is_system_global)
+ DEControllerKeyListener *listener,
+ dbus_bool_t is_system_global)
{
if (((key_event->modifiers & 0xFF) == (dbus_uint16_t) (listener->mask & 0xFF)) &&
- key_set_contains_key (listener->keys, key_event) &&
- eventtype_seq_contains_event (listener->listener.types, key_event) &&
+ key_set_contains_key (listener->keys, key_event) &&
+ eventtype_seq_contains_event (listener->listener.types, key_event) &&
(is_system_global == listener->mode->global))
{
return TRUE;
@@ -1008,13 +1014,13 @@ spi_key_event_matches_listener (const Accessibility_DeviceEvent *key_event,
}
gboolean
-spi_controller_notify_keylisteners (SpiDEController *controller,
- Accessibility_DeviceEvent *key_event,
- dbus_bool_t is_system_global)
+spi_controller_notify_keylisteners (SpiDEController *controller,
+ Accessibility_DeviceEvent *key_event,
+ dbus_bool_t is_system_global)
{
- GList *l;
- GSList *notify = NULL, *l2;
- GList **key_listeners = &controller->key_listeners;
+ GList *l;
+ GSList *notify = NULL, *l2;
+ GList **key_listeners = &controller->key_listeners;
gboolean is_consumed;
if (!key_listeners)
@@ -1024,18 +1030,18 @@ spi_controller_notify_keylisteners (SpiDEController *controller,
/* set the NUMLOCK event mask bit if appropriate: see bug #143702 */
if (key_event->modifiers & _numlock_physical_mask)
- key_event->modifiers |= SPI_KEYMASK_NUMLOCK;
+ key_event->modifiers |= SPI_KEYMASK_NUMLOCK;
for (l = *key_listeners; l; l = l->next)
{
- DEControllerKeyListener *key_listener = l->data;
+ DEControllerKeyListener *key_listener = l->data;
- if (spi_key_event_matches_listener (key_event, key_listener, is_system_global))
- {
- /* we clone (don't dup) the listener, to avoid refcount inc. */
- notify = g_slist_prepend (notify,
- spi_key_listener_clone (key_listener));
- }
+ if (spi_key_event_matches_listener (key_event, key_listener, is_system_global))
+ {
+ /* we clone (don't dup) the listener, to avoid refcount inc. */
+ notify = g_slist_prepend (notify,
+ spi_key_listener_clone (key_listener));
+ }
}
#ifdef SPI_KEYEVENT_DEBUG
@@ -1048,17 +1054,17 @@ spi_controller_notify_keylisteners (SpiDEController *controller,
is_consumed = FALSE;
for (l2 = notify; l2 && !is_consumed; l2 = l2->next)
{
- DEControllerKeyListener *key_listener = l2->data;
+ DEControllerKeyListener *key_listener = l2->data;
is_consumed = Accessibility_DeviceEventListener_NotifyEvent (controller, &key_listener->listener, key_event) &&
- key_listener->mode->preemptive;
+ key_listener->mode->preemptive;
spi_key_listener_clone_free (key_listener);
}
for (; l2; l2 = l2->next)
{
- DEControllerKeyListener *key_listener = l2->data;
+ DEControllerKeyListener *key_listener = l2->data;
spi_key_listener_clone_free (key_listener);
/* clone doesn't have its own ref, so don't use spi_dec_listener_free */
}
@@ -1066,19 +1072,20 @@ spi_controller_notify_keylisteners (SpiDEController *controller,
g_slist_free (notify);
#ifdef SPI_DEBUG
- if (is_consumed) g_message ("consumed\n");
+ if (is_consumed)
+ g_message ("consumed\n");
#endif
return is_consumed;
}
gboolean
-spi_controller_update_key_grabs (SpiDEController *controller,
- Accessibility_DeviceEvent *recv)
+spi_controller_update_key_grabs (SpiDEController *controller,
+ Accessibility_DeviceEvent *recv)
{
GList *l, *next;
- gboolean update_failed = FALSE;
+ gboolean update_failed = FALSE;
long keycode = 0;
-
+
g_return_val_if_fail (controller != NULL, FALSE);
/*
@@ -1101,16 +1108,16 @@ spi_controller_update_key_grabs (SpiDEController *controller,
next = l->next;
re_issue_grab = recv &&
- (recv->modifiers & grab_mask->mod_mask) &&
- (grab_mask->key_val == keycode);
+ (recv->modifiers & grab_mask->mod_mask) &&
+ (grab_mask->key_val == keycode);
#ifdef SPI_DEBUG
fprintf (stderr, "mask=%lx %lx (%c%c) %s\n",
- (long int) grab_mask->key_val,
- (long int) grab_mask->mod_mask,
- grab_mask->pending_add ? '+' : '.',
- grab_mask->pending_remove ? '-' : '.',
- re_issue_grab ? "re-issue": "");
+ (long int) grab_mask->key_val,
+ (long int) grab_mask->mod_mask,
+ grab_mask->pending_add ? '+' : '.',
+ grab_mask->pending_remove ? '-' : '.',
+ re_issue_grab ? "re-issue" : "");
#endif
do_remove = FALSE;
@@ -1118,32 +1125,34 @@ spi_controller_update_key_grabs (SpiDEController *controller,
if (grab_mask->pending_add && grab_mask->pending_remove)
{
do_remove = TRUE;
- }
+ }
else if (grab_mask->pending_remove)
{
#ifdef SPI_DEBUG
- fprintf (stderr, "ungrabbing, mask=%x\n", grab_mask->mod_mask);
+ fprintf (stderr, "ungrabbing, mask=%x\n", grab_mask->mod_mask);
#endif
- spi_dec_plat_ungrab_key (controller,
- grab_mask->key_val,
- grab_mask->mod_mask);
+ spi_dec_plat_ungrab_key (controller,
+ grab_mask->key_val,
+ grab_mask->mod_mask);
do_remove = TRUE;
- }
+ }
else if (grab_mask->pending_add || re_issue_grab)
{
#ifdef SPI_DEBUG
- fprintf (stderr, "grab %d with mask %x\n", grab_mask->key_val, grab_mask->mod_mask);
+ fprintf (stderr, "grab %d with mask %x\n", grab_mask->key_val, grab_mask->mod_mask);
#endif
- update_failed = spi_dec_plat_grab_key (controller,
- grab_mask->key_val,
- grab_mask->mod_mask);
- if (update_failed) {
- while (grab_mask->ref_count > 0) --grab_mask->ref_count;
- do_remove = TRUE;
- }
- }
+ update_failed = spi_dec_plat_grab_key (controller,
+ grab_mask->key_val,
+ grab_mask->mod_mask);
+ if (update_failed)
+ {
+ while (grab_mask->ref_count > 0)
+ --grab_mask->ref_count;
+ do_remove = TRUE;
+ }
+ }
grab_mask->pending_add = FALSE;
grab_mask->pending_remove = FALSE;
@@ -1152,15 +1161,14 @@ spi_controller_update_key_grabs (SpiDEController *controller,
{
g_assert (grab_mask->ref_count <= 0);
- controller->keygrabs_list = g_list_delete_link (
- controller->keygrabs_list, l);
+ controller->keygrabs_list = g_list_delete_link (
+ controller->keygrabs_list, l);
- spi_grab_mask_free (grab_mask);
- }
-
- }
+ spi_grab_mask_free (grab_mask);
+ }
+ }
- return ! update_failed;
+ return !update_failed;
}
/*
@@ -1170,13 +1178,13 @@ static void
spi_device_event_controller_object_finalize (GObject *object)
{
SpiDEController *controller;
- GObjectClass *parent_class = G_OBJECT_CLASS(spi_device_event_controller_parent_class);
+ GObjectClass *parent_class = G_OBJECT_CLASS (spi_device_event_controller_parent_class);
SpiDEControllerClass *klass;
controller = SPI_DEVICE_EVENT_CONTROLLER (object);
klass = SPI_DEVICE_EVENT_CONTROLLER_GET_CLASS (controller);
#ifdef SPI_DEBUG
- fprintf(stderr, "spi_device_event_controller_object_finalize called\n");
+ fprintf (stderr, "spi_device_event_controller_object_finalize called\n");
#endif
if (klass->plat.finalize)
klass->plat.finalize (controller);
@@ -1197,68 +1205,69 @@ impl_register_keystroke_listener (DBusMessage *message, SpiDEController *control
GSList *keys = NULL;
dbus_int32_t mask, types;
Accessibility_EventListenerMode *mode;
- dbus_bool_t ret;
+ dbus_bool_t ret;
DBusMessage *reply = NULL;
char *keystring;
if (strcmp (dbus_message_get_signature (message), "oa(iisi)uu(bbb)") != 0)
return invalid_arguments_error (message);
- dbus_message_iter_init(message, &iter);
- dbus_message_iter_get_basic(&iter, &path);
- dbus_message_iter_next(&iter);
- dbus_message_iter_recurse(&iter, &iter_array);
- while (dbus_message_iter_get_arg_type(&iter_array) != DBUS_TYPE_INVALID)
- {
- Accessibility_KeyDefinition *kd = (Accessibility_KeyDefinition *)g_malloc(sizeof(Accessibility_KeyDefinition));
- if (!spi_dbus_message_iter_get_struct(&iter_array, DBUS_TYPE_INT32, &kd->keycode, DBUS_TYPE_INT32, &kd->keysym, DBUS_TYPE_STRING, &keystring, DBUS_TYPE_INVALID))
+ dbus_message_iter_init (message, &iter);
+ dbus_message_iter_get_basic (&iter, &path);
+ dbus_message_iter_next (&iter);
+ dbus_message_iter_recurse (&iter, &iter_array);
+ while (dbus_message_iter_get_arg_type (&iter_array) != DBUS_TYPE_INVALID)
{
- g_free(kd);
- break;
+ Accessibility_KeyDefinition *kd = (Accessibility_KeyDefinition *) g_malloc (sizeof (Accessibility_KeyDefinition));
+ if (!spi_dbus_message_iter_get_struct (&iter_array, DBUS_TYPE_INT32, &kd->keycode, DBUS_TYPE_INT32, &kd->keysym, DBUS_TYPE_STRING, &keystring, DBUS_TYPE_INVALID))
+ {
+ g_free (kd);
+ break;
+ }
+ kd->keystring = g_strdup (keystring);
+ keys = g_slist_append (keys, kd);
}
- kd->keystring = g_strdup (keystring);
- keys = g_slist_append(keys, kd);
- }
- dbus_message_iter_next(&iter);
- dbus_message_iter_get_basic(&iter, &mask);
- dbus_message_iter_next(&iter);
- dbus_message_iter_get_basic(&iter, &types);
- dbus_message_iter_next(&iter);
- mode = (Accessibility_EventListenerMode *)g_malloc(sizeof(Accessibility_EventListenerMode));
+ dbus_message_iter_next (&iter);
+ dbus_message_iter_get_basic (&iter, &mask);
+ dbus_message_iter_next (&iter);
+ dbus_message_iter_get_basic (&iter, &types);
+ dbus_message_iter_next (&iter);
+ mode = (Accessibility_EventListenerMode *) g_malloc (sizeof (Accessibility_EventListenerMode));
if (mode)
- {
- spi_dbus_message_iter_get_struct(&iter, DBUS_TYPE_BOOLEAN, &mode->synchronous, DBUS_TYPE_BOOLEAN, &mode->preemptive, DBUS_TYPE_BOOLEAN, &mode->global, DBUS_TYPE_INVALID);
- }
+ {
+ spi_dbus_message_iter_get_struct (&iter, DBUS_TYPE_BOOLEAN, &mode->synchronous, DBUS_TYPE_BOOLEAN, &mode->preemptive, DBUS_TYPE_BOOLEAN, &mode->global, DBUS_TYPE_INVALID);
+ }
#ifdef SPI_DEBUG
fprintf (stderr, "registering keystroke listener %s:%s with maskVal %lu\n",
- dbus_message_get_sender(message), path, (unsigned long) mask);
+ dbus_message_get_sender (message), path, (unsigned long) mask);
#endif
- dec_listener = spi_dec_key_listener_new (dbus_message_get_sender(message), path, keys, mask, types, mode);
+ dec_listener = spi_dec_key_listener_new (dbus_message_get_sender (message), path, keys, mask, types, mode);
g_free (mode);
ret = spi_controller_register_device_listener (
- controller, (DEControllerListener *) dec_listener);
+ controller, (DEControllerListener *) dec_listener);
reply = dbus_message_new_method_return (message);
if (reply)
- {
- dbus_message_append_args (reply, DBUS_TYPE_BOOLEAN, &ret, DBUS_TYPE_INVALID);
- }
+ {
+ dbus_message_append_args (reply, DBUS_TYPE_BOOLEAN, &ret, DBUS_TYPE_INVALID);
+ }
return reply;
}
-typedef struct {
- DBusConnection *bus;
- DEControllerListener *listener;
+typedef struct
+{
+ DBusConnection *bus;
+ DEControllerListener *listener;
} RemoveListenerClosure;
static SpiReEntrantContinue
-remove_listener_cb (GList * const *list,
- gpointer user_data)
+remove_listener_cb (GList *const *list,
+ gpointer user_data)
{
- DEControllerListener *listener = (*list)->data;
+ DEControllerListener *listener = (*list)->data;
RemoveListenerClosure *ctx = user_data;
- if (!strcmp(ctx->listener->bus_name, listener->bus_name) &&
- !strcmp(ctx->listener->path, listener->path))
+ if (!strcmp (ctx->listener->bus_name, listener->bus_name) &&
+ !strcmp (ctx->listener->path, listener->path))
{
spi_re_entrant_list_delete_link (list);
spi_dbus_remove_disconnect_match (ctx->bus, listener->bus_name);
@@ -1269,30 +1278,30 @@ remove_listener_cb (GList * const *list,
}
static SpiReEntrantContinue
-copy_key_listener_cb (GList * const *list,
- gpointer user_data)
+copy_key_listener_cb (GList *const *list,
+ gpointer user_data)
{
- DEControllerKeyListener *key_listener = (*list)->data;
- RemoveListenerClosure *ctx = user_data;
+ DEControllerKeyListener *key_listener = (*list)->data;
+ RemoveListenerClosure *ctx = user_data;
- if (!strcmp(ctx->listener->bus_name, key_listener->listener.bus_name) &&
- !strcmp(ctx->listener->path, key_listener->listener.path))
+ if (!strcmp (ctx->listener->bus_name, key_listener->listener.bus_name) &&
+ !strcmp (ctx->listener->path, key_listener->listener.path))
{
/* TODO: FIXME aggregate keys in case the listener is registered twice */
- DEControllerKeyListener *ctx_key_listener =
- (DEControllerKeyListener *) ctx->listener;
- keylist_free (ctx_key_listener->keys);
- ctx_key_listener->keys = keylist_clone(key_listener->keys);
+ DEControllerKeyListener *ctx_key_listener =
+ (DEControllerKeyListener *) ctx->listener;
+ keylist_free (ctx_key_listener->keys);
+ ctx_key_listener->keys = keylist_clone (key_listener->keys);
}
return SPI_RE_ENTRANT_CONTINUE;
}
static void
-spi_deregister_controller_key_listener (SpiDEController *controller,
- DEControllerKeyListener *key_listener)
+spi_deregister_controller_key_listener (SpiDEController *controller,
+ DEControllerKeyListener *key_listener)
{
- RemoveListenerClosure ctx;
+ RemoveListenerClosure ctx;
ctx.bus = controller->bus;
ctx.listener = (DEControllerListener *) spi_key_listener_clone (key_listener);
@@ -1300,16 +1309,16 @@ spi_deregister_controller_key_listener (SpiDEController *controller,
notify_keystroke_listener (controller, key_listener, FALSE);
/* special case, copy keyset from existing controller list entry */
- if (g_slist_length(key_listener->keys) == 0)
+ if (g_slist_length (key_listener->keys) == 0)
{
spi_re_entrant_list_foreach (&controller->key_listeners,
- copy_key_listener_cb, &ctx);
+ copy_key_listener_cb, &ctx);
}
spi_controller_deregister_global_keygrabs (controller, key_listener);
spi_re_entrant_list_foreach (&controller->key_listeners,
- remove_listener_cb, &ctx);
+ remove_listener_cb, &ctx);
spi_key_listener_clone_free ((DEControllerKeyListener *) ctx.listener);
}
@@ -1320,16 +1329,16 @@ spi_remove_device_listeners (SpiDEController *controller, const char *bus_name)
GList *l, *tmp;
for (l = controller->key_listeners; l; l = tmp)
- {
- DEControllerKeyListener *key_listener = l->data;
- tmp = l->next;
- if (!strcmp (key_listener->listener.bus_name, bus_name))
{
- /* TODO: untangle the below line(s) */
- spi_deregister_controller_key_listener (controller, key_listener);
- tmp = controller->key_listeners;
+ DEControllerKeyListener *key_listener = l->data;
+ tmp = l->next;
+ if (!strcmp (key_listener->listener.bus_name, bus_name))
+ {
+ /* TODO: untangle the below line(s) */
+ spi_deregister_controller_key_listener (controller, key_listener);
+ tmp = controller->key_listeners;
+ }
}
- }
}
/*
@@ -1346,38 +1355,38 @@ impl_deregister_keystroke_listener (DBusMessage *message, SpiDEController *contr
dbus_int32_t mask, type;
DBusMessage *reply = NULL;
- dbus_message_iter_init(message, &iter);
+ dbus_message_iter_init (message, &iter);
if (strcmp (dbus_message_get_signature (message), "oa(iisi)uu") != 0)
- {
- g_warning ("Received DeregisterKeystrokeListener with strange signature '%s'", dbus_message_get_signature (message));
- return invalid_arguments_error (message);
- }
-
- dbus_message_iter_get_basic(&iter, &path);
- dbus_message_iter_next(&iter);
- dbus_message_iter_recurse(&iter, &iter_array);
- while (dbus_message_iter_get_arg_type(&iter_array) != DBUS_TYPE_INVALID)
- {
- Accessibility_KeyDefinition *kd = (Accessibility_KeyDefinition *)g_malloc(sizeof(Accessibility_KeyDefinition));
- char *keystring;
+ {
+ g_warning ("Received DeregisterKeystrokeListener with strange signature '%s'", dbus_message_get_signature (message));
+ return invalid_arguments_error (message);
+ }
- if (!spi_dbus_message_iter_get_struct(&iter_array, DBUS_TYPE_INT32, &kd->keycode, DBUS_TYPE_INT32, &kd->keysym, DBUS_TYPE_STRING, &keystring, DBUS_TYPE_INVALID))
+ dbus_message_iter_get_basic (&iter, &path);
+ dbus_message_iter_next (&iter);
+ dbus_message_iter_recurse (&iter, &iter_array);
+ while (dbus_message_iter_get_arg_type (&iter_array) != DBUS_TYPE_INVALID)
{
- g_free(kd);
- break;
+ Accessibility_KeyDefinition *kd = (Accessibility_KeyDefinition *) g_malloc (sizeof (Accessibility_KeyDefinition));
+ char *keystring;
+
+ if (!spi_dbus_message_iter_get_struct (&iter_array, DBUS_TYPE_INT32, &kd->keycode, DBUS_TYPE_INT32, &kd->keysym, DBUS_TYPE_STRING, &keystring, DBUS_TYPE_INVALID))
+ {
+ g_free (kd);
+ break;
+ }
+ kd->keystring = g_strdup (keystring);
+ keys = g_slist_append (keys, kd);
}
- kd->keystring = g_strdup (keystring);
- keys = g_slist_append(keys, kd);
- }
- dbus_message_iter_next(&iter);
- dbus_message_iter_get_basic(&iter, &mask);
- dbus_message_iter_next(&iter);
- dbus_message_iter_get_basic(&iter, &type);
- dbus_message_iter_next(&iter);
- key_listener = spi_dec_key_listener_new (dbus_message_get_sender(message), path, keys, mask, type, NULL);
+ dbus_message_iter_next (&iter);
+ dbus_message_iter_get_basic (&iter, &mask);
+ dbus_message_iter_next (&iter);
+ dbus_message_iter_get_basic (&iter, &type);
+ dbus_message_iter_next (&iter);
+ key_listener = spi_dec_key_listener_new (dbus_message_get_sender (message), path, keys, mask, type, NULL);
#ifdef SPI_DEREGISTER_DEBUG
fprintf (stderr, "deregistering keystroke listener %p with maskVal %lu\n",
- (void *) l, (unsigned long) mask->value);
+ (void *) l, (unsigned long) mask->value);
#endif
spi_deregister_controller_key_listener (controller, key_listener);
@@ -1401,9 +1410,9 @@ impl_get_keystroke_listeners (DBusMessage *message, SpiDEController *controller)
dbus_message_iter_open_container (&iter, DBUS_TYPE_ARRAY,
"(souua(iisi)u(bbb))", &iter_array);
for (l = controller->key_listeners; l; l = l->next)
- {
- append_keystroke_listener (&iter_array, l->data);
- }
+ {
+ append_keystroke_listener (&iter_array, l->data);
+ }
dbus_message_iter_close_container (&iter, &iter_array);
return reply;
}
@@ -1411,44 +1420,45 @@ impl_get_keystroke_listeners (DBusMessage *message, SpiDEController *controller)
static unsigned
get_modifier_state (SpiDEController *controller)
{
- spi_dec_poll_mouse_moved (controller);
- return controller->mouse_mask_state;
+ spi_dec_poll_mouse_moved (controller);
+ return controller->mouse_mask_state;
}
gboolean
spi_dec_synth_keysym (SpiDEController *controller, long keysym)
{
- long key_synth_code;
- unsigned int modifiers, synth_mods, lock_mods;
+ long key_synth_code;
+ unsigned int modifiers, synth_mods, lock_mods;
- key_synth_code = spi_dec_plat_get_keycode (controller, keysym, NULL, TRUE, &synth_mods);
+ key_synth_code = spi_dec_plat_get_keycode (controller, keysym, NULL, TRUE, &synth_mods);
- if ((key_synth_code == 0) || (synth_mods == 0xFF)) return FALSE;
+ if ((key_synth_code == 0) || (synth_mods == 0xFF))
+ return FALSE;
- /* TODO: set the modifiers accordingly! */
- modifiers = get_modifier_state (controller);
- /* side-effect; we may unset mousebutton modifiers here! */
+ /* TODO: set the modifiers accordingly! */
+ modifiers = get_modifier_state (controller);
+ /* side-effect; we may unset mousebutton modifiers here! */
- lock_mods = 0;
- if (synth_mods != modifiers) {
- lock_mods = synth_mods & ~modifiers;
- spi_dec_plat_lock_modifiers (controller, lock_mods);
- if (modifiers & SPI_KEYMASK_SHIFTLOCK)
- spi_dec_plat_unlock_modifiers (controller, SPI_KEYMASK_SHIFTLOCK);
- }
- spi_dec_plat_synth_keycode_press (controller, key_synth_code);
- spi_dec_plat_synth_keycode_release (controller, key_synth_code);
+ lock_mods = 0;
+ if (synth_mods != modifiers)
+ {
+ lock_mods = synth_mods & ~modifiers;
+ spi_dec_plat_lock_modifiers (controller, lock_mods);
+ if (modifiers & SPI_KEYMASK_SHIFTLOCK)
+ spi_dec_plat_unlock_modifiers (controller, SPI_KEYMASK_SHIFTLOCK);
+ }
+ spi_dec_plat_synth_keycode_press (controller, key_synth_code);
+ spi_dec_plat_synth_keycode_release (controller, key_synth_code);
- if (synth_mods != modifiers) {
- spi_dec_plat_unlock_modifiers (controller, lock_mods);
- if (modifiers & SPI_KEYMASK_SHIFTLOCK)
- spi_dec_plat_lock_modifiers (controller, SPI_KEYMASK_SHIFTLOCK);
- }
- return TRUE;
+ if (synth_mods != modifiers)
+ {
+ spi_dec_plat_unlock_modifiers (controller, lock_mods);
+ if (modifiers & SPI_KEYMASK_SHIFTLOCK)
+ spi_dec_plat_lock_modifiers (controller, SPI_KEYMASK_SHIFTLOCK);
+ }
+ return TRUE;
}
-
-
/*
* DBus Accessibility::DEController::RegisterKeystrokeListener
* method implementation
@@ -1461,14 +1471,14 @@ impl_generate_keyboard_event (DBusMessage *message, SpiDEController *controller)
dbus_uint32_t synth_type;
DBusMessage *reply = NULL;
- if (!dbus_message_get_args(message, NULL, DBUS_TYPE_INT32, &keycode, DBUS_TYPE_STRING, &keystring, DBUS_TYPE_UINT32, &synth_type, DBUS_TYPE_INVALID))
- {
- return invalid_arguments_error (message);
- }
+ if (!dbus_message_get_args (message, NULL, DBUS_TYPE_INT32, &keycode, DBUS_TYPE_STRING, &keystring, DBUS_TYPE_UINT32, &synth_type, DBUS_TYPE_INVALID))
+ {
+ return invalid_arguments_error (message);
+ }
#ifdef SPI_DEBUG
- fprintf (stderr, "synthesizing keystroke %ld, type %d\n",
- (long) keycode, (int) synth_type);
+ fprintf (stderr, "synthesizing keystroke %ld, type %d\n",
+ (long) keycode, (int) synth_type);
#endif
/* TODO: hide/wrap/remove X dependency */
@@ -1476,39 +1486,39 @@ impl_generate_keyboard_event (DBusMessage *message, SpiDEController *controller)
* TODO: when initializing, query for XTest extension before using,
* and fall back to XSendEvent() if XTest is not available.
*/
-
+
switch (synth_type)
{
- case Accessibility_KEY_PRESS:
- spi_dec_plat_synth_keycode_press (controller, keycode);
- break;
- case Accessibility_KEY_PRESSRELEASE:
- spi_dec_plat_synth_keycode_press (controller, keycode);
- case Accessibility_KEY_RELEASE:
- spi_dec_plat_synth_keycode_release (controller, keycode);
- break;
- case Accessibility_KEY_SYM:
-#ifdef SPI_XKB_DEBUG
- fprintf (stderr, "KeySym synthesis\n");
+ case Accessibility_KEY_PRESS:
+ spi_dec_plat_synth_keycode_press (controller, keycode);
+ break;
+ case Accessibility_KEY_PRESSRELEASE:
+ spi_dec_plat_synth_keycode_press (controller, keycode);
+ case Accessibility_KEY_RELEASE:
+ spi_dec_plat_synth_keycode_release (controller, keycode);
+ break;
+ case Accessibility_KEY_SYM:
+#ifdef SPI_XKB_DEBUG
+ fprintf (stderr, "KeySym synthesis\n");
#endif
- /*
- * note: we are using long for 'keycode'
- * in our arg list; it can contain either
- * a keycode or a keysym.
- */
- spi_dec_synth_keysym (controller, keycode);
- break;
- case Accessibility_KEY_STRING:
- if (!spi_dec_plat_synth_keystring (controller, synth_type, keycode, keystring))
- 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;
+ /*
+ * note: we are using long for 'keycode'
+ * in our arg list; it can contain either
+ * a keycode or a keysym.
+ */
+ spi_dec_synth_keysym (controller, keycode);
+ break;
+ case Accessibility_KEY_STRING:
+ if (!spi_dec_plat_synth_keystring (controller, synth_type, keycode, keystring))
+ 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;
@@ -1518,19 +1528,19 @@ impl_generate_keyboard_event (DBusMessage *message, SpiDEController *controller)
static DBusMessage *
impl_generate_mouse_event (DBusMessage *message, SpiDEController *controller)
{
- dbus_int32_t x;
- dbus_int32_t y;
+ dbus_int32_t x;
+ dbus_int32_t y;
char *eventName;
DBusMessage *reply = NULL;
- if (!dbus_message_get_args(message, NULL, DBUS_TYPE_INT32, &x, DBUS_TYPE_INT32, &y, DBUS_TYPE_STRING, &eventName, DBUS_TYPE_INVALID))
- {
- return invalid_arguments_error (message);
- }
+ if (!dbus_message_get_args (message, NULL, DBUS_TYPE_INT32, &x, DBUS_TYPE_INT32, &y, DBUS_TYPE_STRING, &eventName, DBUS_TYPE_INVALID))
+ {
+ return invalid_arguments_error (message);
+ }
#ifdef SPI_DEBUG
fprintf (stderr, "generating mouse %s event at %ld, %ld\n",
- eventName, (long int) x, (long int) y);
+ eventName, (long int) x, (long int) y);
#endif
spi_dec_plat_generate_mouse_event (controller, x, y, eventName);
reply = dbus_message_new_method_return (message);
@@ -1545,23 +1555,23 @@ impl_notify_listeners_sync (DBusMessage *message, SpiDEController *controller)
dbus_bool_t ret;
DBusMessage *reply = NULL;
- if (!spi_dbus_demarshal_deviceEvent(message, &event))
- {
- return invalid_arguments_error (message);
- }
+ if (!spi_dbus_demarshal_deviceEvent (message, &event))
+ {
+ return invalid_arguments_error (message);
+ }
#ifdef SPI_DEBUG
g_print ("notifylistening listeners synchronously: controller %p, event id %d\n",
- controller, (int) event.id);
+ controller, (int) event.id);
#endif
ret = spi_controller_notify_keylisteners (controller,
- (Accessibility_DeviceEvent *)
- &event, FALSE) ?
- TRUE : FALSE;
+ (Accessibility_DeviceEvent *) &event, FALSE)
+ ? TRUE
+ : FALSE;
reply = dbus_message_new_method_return (message);
if (reply)
- {
- dbus_message_append_args (reply, DBUS_TYPE_BOOLEAN, &ret, DBUS_TYPE_INVALID);
- }
+ {
+ dbus_message_append_args (reply, DBUS_TYPE_BOOLEAN, &ret, DBUS_TYPE_INVALID);
+ }
return reply;
}
@@ -1571,16 +1581,15 @@ impl_notify_listeners_async (DBusMessage *message, SpiDEController *controller)
Accessibility_DeviceEvent event;
DBusMessage *reply = NULL;
- if (!spi_dbus_demarshal_deviceEvent(message, &event))
- {
- return invalid_arguments_error (message);
- }
+ if (!spi_dbus_demarshal_deviceEvent (message, &event))
+ {
+ return invalid_arguments_error (message);
+ }
#ifdef SPI_DEBUG
g_print ("notifylistening listeners asynchronously: controller %p, event id %d\n",
- controller, (int) event.id);
+ controller, (int) event.id);
#endif
- spi_controller_notify_keylisteners (controller, (Accessibility_DeviceEvent *)
- &event, FALSE);
+ spi_controller_notify_keylisteners (controller, (Accessibility_DeviceEvent *) &event, FALSE);
reply = dbus_message_new_method_return (message);
return reply;
}
@@ -1588,7 +1597,7 @@ impl_notify_listeners_async (DBusMessage *message, SpiDEController *controller)
static void
spi_device_event_controller_class_init (SpiDEControllerClass *klass)
{
- GObjectClass * object_class = (GObjectClass *) klass;
+ GObjectClass *object_class = (GObjectClass *) klass;
spi_device_event_controller_parent_class = g_type_class_peek_parent (klass);
@@ -1612,20 +1621,19 @@ spi_device_event_controller_init (SpiDEController *device_event_controller)
klass->plat.init (device_event_controller);
}
-
/*---------------------------------------------------------------------------*/
static const char *introspection_header =
-"<?xml version=\"1.0\"?>\n";
+ "<?xml version=\"1.0\"?>\n";
static const char *introspection_node_element =
-"<node name=\"%s\">\n";
+ "<node name=\"%s\">\n";
static const char *introspection_footer =
-"</node>";
+ "</node>";
static DBusMessage *
-impl_Introspect (DBusMessage * message, SpiDEController *controller)
+impl_Introspect (DBusMessage *message, SpiDEController *controller)
{
GString *output;
gchar *final;
@@ -1634,19 +1642,19 @@ impl_Introspect (DBusMessage * message, SpiDEController *controller)
DBusMessage *reply;
- output = g_string_new(introspection_header);
+ output = g_string_new (introspection_header);
- g_string_append_printf(output, introspection_node_element, pathstr);
+ g_string_append_printf (output, introspection_node_element, pathstr);
g_string_append (output, spi_org_a11y_atspi_DeviceEventController);
- g_string_append(output, introspection_footer);
- final = g_string_free(output, FALSE);
+ g_string_append (output, introspection_footer);
+ final = g_string_free (output, FALSE);
reply = dbus_message_new_method_return (message);
- dbus_message_append_args(reply, DBUS_TYPE_STRING, &final, DBUS_TYPE_INVALID);
+ dbus_message_append_args (reply, DBUS_TYPE_STRING, &final, DBUS_TYPE_INVALID);
- g_free(final);
+ g_free (final);
return reply;
}
@@ -1655,39 +1663,39 @@ impl_Introspect (DBusMessage * message, SpiDEController *controller)
static void
handle_message (DBusMessage *message, SpiDEController *controller)
{
- const gchar *iface = dbus_message_get_interface (message);
- const gchar *member = dbus_message_get_member (message);
+ const gchar *iface = dbus_message_get_interface (message);
+ const gchar *member = dbus_message_get_member (message);
DBusHandlerResult result = DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
DBusMessage *reply = NULL;
if (!strcmp (iface, SPI_DBUS_INTERFACE_DEC))
{
result = DBUS_HANDLER_RESULT_HANDLED;
- if (!strcmp (member, "RegisterKeystrokeListener"))
- reply = impl_register_keystroke_listener (message, controller);
+ if (!strcmp (member, "RegisterKeystrokeListener"))
+ reply = impl_register_keystroke_listener (message, controller);
else if (!strcmp (member, "DeregisterKeystrokeListener"))
- reply = impl_deregister_keystroke_listener (message, controller);
+ reply = impl_deregister_keystroke_listener (message, controller);
else if (!strcmp (member, "GetKeystrokeListeners"))
- reply = impl_get_keystroke_listeners (message, controller);
+ reply = impl_get_keystroke_listeners (message, controller);
else if (!strcmp (member, "GenerateKeyboardEvent"))
- reply = impl_generate_keyboard_event (message, controller);
+ reply = impl_generate_keyboard_event (message, controller);
else if (!strcmp (member, "GenerateMouseEvent"))
- reply = impl_generate_mouse_event (message, controller);
+ reply = impl_generate_mouse_event (message, controller);
else if (!strcmp (member, "NotifyListenersSync"))
- reply = impl_notify_listeners_sync (message, controller);
+ reply = impl_notify_listeners_sync (message, controller);
else if (!strcmp (member, "NotifyListenersAsync"))
- reply = impl_notify_listeners_async (message, controller);
+ reply = impl_notify_listeners_async (message, controller);
else
- result = DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
+ result = DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
}
if (!strcmp (iface, "org.freedesktop.DBus.Introspectable"))
{
result = DBUS_HANDLER_RESULT_HANDLED;
- if (!strcmp (member, "Introspect"))
- reply = impl_Introspect (message, controller);
+ if (!strcmp (member, "Introspect"))
+ reply = impl_Introspect (message, controller);
else
- result = DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
+ result = DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
}
if (result == DBUS_HANDLER_RESULT_HANDLED)
@@ -1721,27 +1729,27 @@ static DBusHandlerResult
handle_dec_method (DBusConnection *bus, DBusMessage *message, void *user_data)
{
SpiDEController *controller = SPI_DEVICE_EVENT_CONTROLLER (user_data);
- const gchar *iface = dbus_message_get_interface (message);
- const gchar *member = dbus_message_get_member (message);
- const gint type = dbus_message_get_type (message);
+ const gchar *iface = dbus_message_get_interface (message);
+ const gchar *member = dbus_message_get_member (message);
+ const gint type = dbus_message_get_type (message);
/* Check for basic reasons not to handle */
- if (type != DBUS_MESSAGE_TYPE_METHOD_CALL ||
+ if (type != DBUS_MESSAGE_TYPE_METHOD_CALL ||
member == NULL ||
- iface == NULL)
- return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
+ iface == NULL)
+ return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
dbus_message_ref (message);
g_queue_push_tail (controller->message_queue, message);
- if (!controller->message_queue_idle) {
- controller->message_queue_idle = g_idle_add (message_queue_dispatch, controller);
- g_source_set_name_by_id (controller->message_queue_idle, "[at-spi2-core] message_queue_dispatch");
- }
+ if (!controller->message_queue_idle)
+ {
+ controller->message_queue_idle = g_idle_add (message_queue_dispatch, controller);
+ g_source_set_name_by_id (controller->message_queue_idle, "[at-spi2-core] message_queue_dispatch");
+ }
return DBUS_HANDLER_RESULT_HANDLED;
}
-static DBusObjectPathVTable dec_vtable =
-{
+static DBusObjectPathVTable dec_vtable = {
NULL,
&handle_dec_method,
NULL, NULL, NULL, NULL
diff --git a/registryd/deviceeventcontroller.h b/registryd/deviceeventcontroller.h
index a080a13e..a78148ce 100644
--- a/registryd/deviceeventcontroller.h
+++ b/registryd/deviceeventcontroller.h
@@ -28,19 +28,20 @@
typedef struct _SpiDEController SpiDEController;
-#include "registry.h"
#include "de-types.h"
+#include "registry.h"
G_BEGIN_DECLS
-#define SPI_DEVICE_EVENT_CONTROLLER_TYPE (spi_device_event_controller_get_type ())
-#define SPI_DEVICE_EVENT_CONTROLLER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), SPI_DEVICE_EVENT_CONTROLLER_TYPE, SpiDEController))
-#define SPI_DEVICE_EVENT_CONTROLLER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), SPI_DEVICE_EVENT_CONTROLLER_TYPE, SpiDEControllerClass))
-#define SPI_IS_DEVICE_EVENT_CONTROLLER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), SPI_DEVICE_EVENT_CONTROLLER_TYPE))
+#define SPI_DEVICE_EVENT_CONTROLLER_TYPE (spi_device_event_controller_get_type ())
+#define SPI_DEVICE_EVENT_CONTROLLER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), SPI_DEVICE_EVENT_CONTROLLER_TYPE, SpiDEController))
+#define SPI_DEVICE_EVENT_CONTROLLER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), SPI_DEVICE_EVENT_CONTROLLER_TYPE, SpiDEControllerClass))
+#define SPI_IS_DEVICE_EVENT_CONTROLLER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), SPI_DEVICE_EVENT_CONTROLLER_TYPE))
#define SPI_IS_DEVICE_EVENT_CONTROLLER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), SPI_DEVICE_EVENT_CONTROLLER_TYPE))
#define SPI_DEVICE_EVENT_CONTROLLER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SPI_DEVICE_EVENT_CONTROLLER_TYPE, SpiDEControllerClass))
-struct _SpiDEController {
+struct _SpiDEController
+{
GObject parent;
DBusConnection *bus;
GList *key_listeners;
@@ -53,24 +54,27 @@ struct _SpiDEController {
gboolean have_mouse_event_listener;
};
-typedef enum {
+typedef enum
+{
SPI_DEVICE_TYPE_KBD,
SPI_DEVICE_TYPE_LAST_DEFINED
} SpiDeviceTypeCategory;
-typedef struct {
+typedef struct
+{
char *bus_name;
char *path;
SpiDeviceTypeCategory type;
gulong types;
} DEControllerListener;
-typedef struct {
+typedef struct
+{
DEControllerListener listener;
GSList *keys;
Accessibility_ControllerEventMask mask;
- Accessibility_EventListenerMode *mode;
+ Accessibility_EventListenerMode *mode;
} DEControllerKeyListener;
typedef struct
@@ -81,22 +85,22 @@ typedef struct
gboolean fix,
guint *modmask);
- guint (*mouse_check) (SpiDEController *controller,
- gint *x,
- gint *y,
- gboolean *moved);
+ guint (*mouse_check) (SpiDEController *controller,
+ gint *x,
+ gint *y,
+ gboolean *moved);
- gboolean (*register_global_keygrabs) (SpiDEController *controller,
- DEControllerKeyListener *key_listener);
+ gboolean (*register_global_keygrabs) (SpiDEController *controller,
+ DEControllerKeyListener *key_listener);
- void (*deregister_global_keygrabs) (SpiDEController *controller,
- DEControllerKeyListener *key_listener);
+ void (*deregister_global_keygrabs) (SpiDEController *controller,
+ DEControllerKeyListener *key_listener);
gboolean (*synth_keycode_press) (SpiDEController *controller,
- guint keycode);
+ guint keycode);
gboolean (*synth_keycode_release) (SpiDEController *controller,
- guint keycode);
+ guint keycode);
gboolean (*lock_modifiers) (SpiDEController *controller,
unsigned modifiers);
@@ -118,8 +122,8 @@ typedef struct
Accessibility_ControllerEventMask mod_mask);
void (*emit_modifier_event) (SpiDEController *controller,
- guint prev_mask,
- guint current_mask);
+ guint prev_mask,
+ guint current_mask);
void (*generate_mouse_event) (SpiDEController *controller,
gint x,
@@ -130,12 +134,13 @@ typedef struct
void (*finalize) (SpiDEController *controller);
} SpiDEControllerPlat;
-typedef struct {
+typedef struct
+{
GObjectClass parent_class;
SpiDEControllerPlat plat;
} SpiDEControllerClass;
-GType spi_device_event_controller_get_type (void);
+GType spi_device_event_controller_get_type (void);
void spi_device_event_controller_start_poll_mouse (SpiDEController *dec);
void spi_device_event_controller_stop_poll_mouse (SpiDEController *dec);
@@ -145,16 +150,16 @@ void spi_remove_device_listeners (SpiDEController *controller, const char *bus_n
SpiDEController *spi_registry_dec_new (DBusConnection *bus);
gboolean
-spi_controller_notify_keylisteners (SpiDEController *controller,
- Accessibility_DeviceEvent *key_event,
- dbus_bool_t is_system_global);
+spi_controller_notify_keylisteners (SpiDEController *controller,
+ Accessibility_DeviceEvent *key_event,
+ dbus_bool_t is_system_global);
-gboolean spi_controller_update_key_grabs (SpiDEController *controller,
- Accessibility_DeviceEvent *recv);
+gboolean spi_controller_update_key_grabs (SpiDEController *controller,
+ Accessibility_DeviceEvent *recv);
gboolean spi_dec_synth_keysym (SpiDEController *controller, long keysym);
-void spi_dec_dbus_emit(SpiDEController *controller, const char *interface, const char *name, const char *minor, int a1, int a2);
+void spi_dec_dbus_emit (SpiDEController *controller, const char *interface, const char *name, const char *minor, int a1, int a2);
G_END_DECLS
diff --git a/registryd/display.c b/registryd/display.c
index 011f2941..16e1c5da 100644
--- a/registryd/display.c
+++ b/registryd/display.c
@@ -22,10 +22,10 @@
#include <glib.h>
+#include <X11/Xatom.h>
#include <X11/Xlib.h>
-#include <X11/Xutil.h>
#include <X11/Xos.h>
-#include <X11/Xatom.h>
+#include <X11/Xutil.h>
#include <stdio.h>
#include <stdlib.h>
@@ -34,57 +34,63 @@
static Display *default_display = NULL;
-Display *spi_set_display (const char *display_name)
+Display *
+spi_set_display (const char *display_name)
{
- /*
- * TODO - Should we ever do anything different might need to
- * close previous display.
- */
- default_display = XOpenDisplay (display_name);
- if (!default_display)
- {
- g_warning ("AT-SPI: Cannot open default display");
- exit (1);
- }
- return default_display;
+ /*
+ * TODO - Should we ever do anything different might need to
+ * close previous display.
+ */
+ default_display = XOpenDisplay (display_name);
+ if (!default_display)
+ {
+ g_warning ("AT-SPI: Cannot open default display");
+ exit (1);
+ }
+ return default_display;
}
-Display *spi_get_display ()
+Display *
+spi_get_display ()
{
- if (!default_display)
- spi_set_display (NULL);
+ if (!default_display)
+ spi_set_display (NULL);
- return default_display;
+ return default_display;
}
-Window spi_get_root_window ()
+Window
+spi_get_root_window ()
{
- if (!default_display)
- spi_set_display (NULL);
+ if (!default_display)
+ spi_set_display (NULL);
- return DefaultRootWindow (default_display);
+ return DefaultRootWindow (default_display);
}
static int (*old_x_error_handler) (Display *, XErrorEvent *);
static int x_error_code;
-static int spi_x_error_handler (Display *display, XErrorEvent *error)
+static int
+spi_x_error_handler (Display *display, XErrorEvent *error)
{
- if (error->error_code)
- x_error_code = error->error_code;
- else
- x_error_code = 0;
-
- return 0;
+ if (error->error_code)
+ x_error_code = error->error_code;
+ else
+ x_error_code = 0;
+
+ return 0;
}
-void spi_x_error_trap (void)
+void
+spi_x_error_trap (void)
{
- old_x_error_handler = XSetErrorHandler (spi_x_error_handler);
+ old_x_error_handler = XSetErrorHandler (spi_x_error_handler);
}
-int spi_x_error_release (void)
+int
+spi_x_error_release (void)
{
- XSetErrorHandler (old_x_error_handler);
- return x_error_code;
+ XSetErrorHandler (old_x_error_handler);
+ return x_error_code;
}
diff --git a/registryd/event-source.c b/registryd/event-source.c
index ca4340c5..d73c9b67 100644
--- a/registryd/event-source.c
+++ b/registryd/event-source.c
@@ -24,36 +24,37 @@
#include "event-source.h"
-typedef struct {
+typedef struct
+{
GSource source;
-
+
Display *display;
- GPollFD event_poll_fd;
+ GPollFD event_poll_fd;
} DisplaySource;
/*---------------------------------------------------------------------------*/
-static void (*_spi_default_filter) (XEvent*, void*) = NULL;
-static void* _spi_default_filter_data = NULL;
+static void (*_spi_default_filter) (XEvent *, void *) = NULL;
+static void *_spi_default_filter_data = NULL;
/*---------------------------------------------------------------------------*/
-static gboolean
+static gboolean
event_prepare (GSource *source, gint *timeout)
{
- Display *display = ((DisplaySource *)source)->display;
+ Display *display = ((DisplaySource *) source)->display;
gboolean retval;
-
+
*timeout = -1;
retval = XPending (display);
-
+
return retval;
}
-static gboolean
-event_check (GSource *source)
+static gboolean
+event_check (GSource *source)
{
- DisplaySource *display_source = (DisplaySource*)source;
+ DisplaySource *display_source = (DisplaySource *) source;
gboolean retval;
if (display_source->event_poll_fd.revents & G_IO_IN)
@@ -64,12 +65,12 @@ event_check (GSource *source)
return retval;
}
-static gboolean
-event_dispatch (GSource *source, GSourceFunc callback, gpointer user_data)
+static gboolean
+event_dispatch (GSource *source, GSourceFunc callback, gpointer user_data)
{
- Display *display = ((DisplaySource*)source)->display;
+ Display *display = ((DisplaySource *) source)->display;
XEvent xevent;
-
+
/* TODO - Should this be "if (XPending (display))"?
* The effect of this might be to run other main loop functions
* before dispatching the next XEvent.
@@ -79,19 +80,19 @@ event_dispatch (GSource *source, GSourceFunc callback, gpointer user_data)
XNextEvent (display, &xevent);
switch (xevent.type)
- {
- case KeyPress:
- case KeyRelease:
- break;
- default:
- if (XFilterEvent (&xevent, None))
- continue;
- }
-
+ {
+ case KeyPress:
+ case KeyRelease:
+ break;
+ default:
+ if (XFilterEvent (&xevent, None))
+ continue;
+ }
+
if (_spi_default_filter)
{
_spi_default_filter (&xevent, _spi_default_filter_data);
- }
+ }
}
return TRUE;
@@ -112,9 +113,9 @@ display_source_new (Display *display)
GSource *source = g_source_new (&event_funcs, sizeof (DisplaySource));
DisplaySource *display_source = (DisplaySource *) source;
g_source_set_name (source, "[at-spi2-core] display_source_funcs");
-
+
display_source->display = display;
-
+
return source;
}
@@ -122,7 +123,7 @@ display_source_new (Display *display)
static DisplaySource *spi_display_source = NULL;
-void
+void
spi_events_init (Display *display)
{
GSource *source;
@@ -130,13 +131,13 @@ spi_events_init (Display *display)
int connection_number = ConnectionNumber (display);
source = display_source_new (display);
- spi_display_source = (DisplaySource*) source;
+ spi_display_source = (DisplaySource *) source;
g_source_set_priority (source, G_PRIORITY_DEFAULT);
-
+
spi_display_source->event_poll_fd.fd = connection_number;
spi_display_source->event_poll_fd.events = G_IO_IN;
-
+
g_source_add_poll (source, &spi_display_source->event_poll_fd);
g_source_set_can_recurse (source, TRUE);
g_source_attach (source, NULL);
@@ -158,14 +159,14 @@ spi_set_events (long event_mask)
{
long xevent_mask = StructureNotifyMask | PropertyChangeMask;
xevent_mask |= event_mask;
-
- XSelectInput (spi_display_source->display,
+
+ XSelectInput (spi_display_source->display,
DefaultRootWindow (spi_display_source->display),
xevent_mask);
}
void
-spi_set_filter (void (*filter) (XEvent*, void*), void* data)
+spi_set_filter (void (*filter) (XEvent *, void *), void *data)
{
_spi_default_filter = filter;
_spi_default_filter_data = data;
diff --git a/registryd/event-source.h b/registryd/event-source.h
index ad080f7d..1ddd34b7 100644
--- a/registryd/event-source.h
+++ b/registryd/event-source.h
@@ -28,6 +28,6 @@
void spi_events_init (Display *display);
void spi_events_uninit ();
void spi_set_events (long event_mask);
-void spi_set_filter (void (*filter) (XEvent*, void*), void* data);
+void spi_set_filter (void (*filter) (XEvent *, void *), void *data);
#endif /* SPI_EVENT_SOURCE_H_ */
diff --git a/registryd/keymasks.h b/registryd/keymasks.h
index 9f6c2c9f..1ee64b3d 100644
--- a/registryd/keymasks.h
+++ b/registryd/keymasks.h
@@ -31,21 +31,21 @@ G_BEGIN_DECLS
typedef unsigned long SpiKeyMaskType;
/* Values taken from Xlib.h */
-#define SPI_KEYMASK_ALT (1<<3) /* Mod1Mask */
-#define SPI_KEYMASK_MOD1 (1<<3) /* Mod1Mask */
-#define SPI_KEYMASK_MOD2 (1<<4) /* Mod2Mask */
-#define SPI_KEYMASK_MOD3 (1<<5) /* Mod3Mask */
-#define SPI_KEYMASK_MOD4 (1<<6) /* Mod4Mask */
-#define SPI_KEYMASK_MOD5 (1<<7) /* Mod5Mask */
-#define SPI_KEYMASK_BUTTON1 (1L<<8) /* Button1Mask */
-#define SPI_KEYMASK_BUTTON2 (1L<<9) /* Button2Mask */
-#define SPI_KEYMASK_BUTTON3 (1L<<10) /* Button3Mask */
-#define SPI_KEYMASK_BUTTON4 (1L<<11) /* Button4Mask */
-#define SPI_KEYMASK_BUTTON5 (1L<<12) /* Button5Mask */
-#define SPI_KEYMASK_CONTROL (1<<2) /* ControlMask */
-#define SPI_KEYMASK_SHIFT (1<<0) /* ShiftMask */
-#define SPI_KEYMASK_SHIFTLOCK (1<<1) /* LockMask */
-#define SPI_KEYMASK_NUMLOCK (1<<14)
+#define SPI_KEYMASK_ALT (1 << 3) /* Mod1Mask */
+#define SPI_KEYMASK_MOD1 (1 << 3) /* Mod1Mask */
+#define SPI_KEYMASK_MOD2 (1 << 4) /* Mod2Mask */
+#define SPI_KEYMASK_MOD3 (1 << 5) /* Mod3Mask */
+#define SPI_KEYMASK_MOD4 (1 << 6) /* Mod4Mask */
+#define SPI_KEYMASK_MOD5 (1 << 7) /* Mod5Mask */
+#define SPI_KEYMASK_BUTTON1 (1L << 8) /* Button1Mask */
+#define SPI_KEYMASK_BUTTON2 (1L << 9) /* Button2Mask */
+#define SPI_KEYMASK_BUTTON3 (1L << 10) /* Button3Mask */
+#define SPI_KEYMASK_BUTTON4 (1L << 11) /* Button4Mask */
+#define SPI_KEYMASK_BUTTON5 (1L << 12) /* Button5Mask */
+#define SPI_KEYMASK_CONTROL (1 << 2) /* ControlMask */
+#define SPI_KEYMASK_SHIFT (1 << 0) /* ShiftMask */
+#define SPI_KEYMASK_SHIFTLOCK (1 << 1) /* LockMask */
+#define SPI_KEYMASK_NUMLOCK (1 << 14)
#define SPI_KEYMASK_UNMODIFIED 0
G_END_DECLS
diff --git a/registryd/paths.h b/registryd/paths.h
index a505222a..b4e9ee80 100644
--- a/registryd/paths.h
+++ b/registryd/paths.h
@@ -24,30 +24,30 @@
#ifndef SPI_PATHS_H_
#define SPI_PATHS_H_
-#define SPI_DBUS_NAME_PREFIX "org.a11y.atspi."
-#define SPI_DBUS_PATH_PREFIX "/org/a11y/atspi/"
-#define SPI_DBUS_INTERFACE_PREFIX "org.a11y.atspi."
+#define SPI_DBUS_NAME_PREFIX "org.a11y.atspi."
+#define SPI_DBUS_PATH_PREFIX "/org/a11y/atspi/"
+#define SPI_DBUS_INTERFACE_PREFIX "org.a11y.atspi."
-#define SPI_DBUS_PATH_NULL SPI_DBUS_PATH_PREFIX "null"
-#define SPI_DBUS_PATH_ROOT SPI_DBUS_PATH_PREFIX "accessible/root"
+#define SPI_DBUS_PATH_NULL SPI_DBUS_PATH_PREFIX "null"
+#define SPI_DBUS_PATH_ROOT SPI_DBUS_PATH_PREFIX "accessible/root"
-#define SPI_DBUS_NAME_REGISTRY SPI_DBUS_NAME_PREFIX "Registry"
-#define SPI_DBUS_INTERFACE_REGISTRY SPI_DBUS_INTERFACE_PREFIX "Registry"
-#define SPI_DBUS_PATH_REGISTRY SPI_DBUS_PATH_PREFIX "registry"
+#define SPI_DBUS_NAME_REGISTRY SPI_DBUS_NAME_PREFIX "Registry"
+#define SPI_DBUS_INTERFACE_REGISTRY SPI_DBUS_INTERFACE_PREFIX "Registry"
+#define SPI_DBUS_PATH_REGISTRY SPI_DBUS_PATH_PREFIX "registry"
-#define SPI_DBUS_PATH_DEC SPI_DBUS_PATH_PREFIX "registry/deviceeventcontroller"
-#define SPI_DBUS_INTERFACE_DEC SPI_DBUS_INTERFACE_PREFIX "DeviceEventController"
+#define SPI_DBUS_PATH_DEC SPI_DBUS_PATH_PREFIX "registry/deviceeventcontroller"
+#define SPI_DBUS_INTERFACE_DEC SPI_DBUS_INTERFACE_PREFIX "DeviceEventController"
#define SPI_DBUS_INTERFACE_DEVICE_EVENT_LISTENER SPI_DBUS_INTERFACE_PREFIX "DeviceEventListener"
-#define SPI_DBUS_PATH_CACHE SPI_DBUS_PATH_PREFIX "cache"
-#define SPI_DBUS_INTERFACE_CACHE SPI_DBUS_INTERFACE_PREFIX "Cache"
+#define SPI_DBUS_PATH_CACHE SPI_DBUS_PATH_PREFIX "cache"
+#define SPI_DBUS_INTERFACE_CACHE SPI_DBUS_INTERFACE_PREFIX "Cache"
-#define SPI_DBUS_INTERFACE_ACCESSIBLE SPI_DBUS_INTERFACE_PREFIX "Accessible"
-#define SPI_DBUS_INTERFACE_APPLICATION SPI_DBUS_INTERFACE_PREFIX "Application"
-#define SPI_DBUS_INTERFACE_COMPONENT SPI_DBUS_INTERFACE_PREFIX "Component"
-#define SPI_DBUS_INTERFACE_EVENT_KEYBOARD SPI_DBUS_INTERFACE_PREFIX "Keyboard"
-#define SPI_DBUS_INTERFACE_EVENT_MOUSE SPI_DBUS_INTERFACE_PREFIX "Event.Mouse"
-#define SPI_DBUS_INTERFACE_EVENT_OBJECT SPI_DBUS_INTERFACE_PREFIX "Event.Object"
-#define SPI_DBUS_INTERFACE_SOCKET SPI_DBUS_INTERFACE_PREFIX "Socket"
+#define SPI_DBUS_INTERFACE_ACCESSIBLE SPI_DBUS_INTERFACE_PREFIX "Accessible"
+#define SPI_DBUS_INTERFACE_APPLICATION SPI_DBUS_INTERFACE_PREFIX "Application"
+#define SPI_DBUS_INTERFACE_COMPONENT SPI_DBUS_INTERFACE_PREFIX "Component"
+#define SPI_DBUS_INTERFACE_EVENT_KEYBOARD SPI_DBUS_INTERFACE_PREFIX "Keyboard"
+#define SPI_DBUS_INTERFACE_EVENT_MOUSE SPI_DBUS_INTERFACE_PREFIX "Event.Mouse"
+#define SPI_DBUS_INTERFACE_EVENT_OBJECT SPI_DBUS_INTERFACE_PREFIX "Event.Object"
+#define SPI_DBUS_INTERFACE_SOCKET SPI_DBUS_INTERFACE_PREFIX "Socket"
#endif /* SPI_PATHS_H_ */
diff --git a/registryd/reentrant-list.c b/registryd/reentrant-list.c
index 2c08c42d..b723c76b 100644
--- a/registryd/reentrant-list.c
+++ b/registryd/reentrant-list.c
@@ -26,9 +26,10 @@
#include "reentrant-list.h"
-typedef struct {
- GList **list;
- GList *iterator;
+typedef struct
+{
+ GList **list;
+ GList *iterator;
} Iteration;
static GSList *working_list = NULL; /* of Iteration */
@@ -39,12 +40,12 @@ static GSList *working_list = NULL; /* of Iteration */
* element.
*/
void
-spi_re_entrant_list_delete_link (GList * const *element_ptr)
+spi_re_entrant_list_delete_link (GList *const *element_ptr)
{
- GSList *l;
- GList *next;
- GList *element;
- gboolean first_item;
+ GSList *l;
+ GList *next;
+ GList *element;
+ gboolean first_item;
GList *dummy G_GNUC_UNUSED;
g_return_if_fail (element_ptr != NULL);
@@ -59,47 +60,48 @@ spi_re_entrant_list_delete_link (GList * const *element_ptr)
for (l = working_list; l; l = l->next)
{
- Iteration *i = l->data;
+ Iteration *i = l->data;
- if (i->iterator == element)
- {
- i->iterator = next;
- }
+ if (i->iterator == element)
+ {
+ i->iterator = next;
+ }
- if (first_item && *(i->list) == element)
- {
- *(i->list) = next;
- }
+ if (first_item && *(i->list) == element)
+ {
+ *(i->list) = next;
+ }
}
g_list_free_1 (element);
}
void
-spi_re_entrant_list_foreach (GList **list,
- SpiReEntrantFn func,
- gpointer user_data)
+spi_re_entrant_list_foreach (GList **list,
+ SpiReEntrantFn func,
+ gpointer user_data)
{
- Iteration i;
+ Iteration i;
- if (!list || !*list)
- {
- return;
- }
+ if (!list || !*list)
+ {
+ return;
+ }
- i.list = list;
- i.iterator = *list;
+ i.list = list;
+ i.iterator = *list;
- working_list = g_slist_prepend (working_list, &i);
+ working_list = g_slist_prepend (working_list, &i);
- while (i.iterator) {
- GList *l = i.iterator;
+ while (i.iterator)
+ {
+ GList *l = i.iterator;
- func (&i.iterator, user_data);
+ func (&i.iterator, user_data);
- if (i.iterator == l)
- i.iterator = i.iterator->next;
- }
+ if (i.iterator == l)
+ i.iterator = i.iterator->next;
+ }
- working_list = g_slist_remove (working_list, &i);
+ working_list = g_slist_remove (working_list, &i);
}
diff --git a/registryd/reentrant-list.h b/registryd/reentrant-list.h
index e1241561..39f5527a 100644
--- a/registryd/reentrant-list.h
+++ b/registryd/reentrant-list.h
@@ -28,18 +28,19 @@
G_BEGIN_DECLS
-typedef enum {
- SPI_RE_ENTRANT_CONTINUE = 0,
- SPI_RE_ENTRANT_TERMINATE
+typedef enum
+{
+ SPI_RE_ENTRANT_CONTINUE = 0,
+ SPI_RE_ENTRANT_TERMINATE
} SpiReEntrantContinue;
-typedef SpiReEntrantContinue (*SpiReEntrantFn) (GList * const *list,
- gpointer user_data);
+typedef SpiReEntrantContinue (*SpiReEntrantFn) (GList *const *list,
+ gpointer user_data);
-void spi_re_entrant_list_delete_link (GList * const *element_ptr);
-void spi_re_entrant_list_foreach (GList **list,
- SpiReEntrantFn func,
- gpointer user_data);
+void spi_re_entrant_list_delete_link (GList *const *element_ptr);
+void spi_re_entrant_list_foreach (GList **list,
+ SpiReEntrantFn func,
+ gpointer user_data);
G_END_DECLS
diff --git a/registryd/registry-main.c b/registryd/registry-main.c
index f46886d2..7619c86a 100644
--- a/registryd/registry-main.c
+++ b/registryd/registry-main.c
@@ -21,38 +21,37 @@
* Boston, MA 02110-1301, USA.
*/
-#include <stdlib.h>
#include <config.h>
-#include <string.h>
-#include <glib.h>
+#include <dlfcn.h>
#include <gio/gio.h>
+#include <glib.h>
#include <stdio.h>
-#include <dlfcn.h>
+#include <stdlib.h>
+#include <string.h>
#include <dbus/dbus.h>
+#include "atspi/atspi.h"
+#include "deviceeventcontroller.h"
#include "paths.h"
#include "registry.h"
-#include "deviceeventcontroller.h"
-#include "atspi/atspi.h"
static GMainLoop *mainloop;
static gchar *dbus_name = NULL;
static gboolean use_gnome_session = FALSE;
-static GOptionEntry optentries[] =
-{
- {"dbus-name", 0, 0, G_OPTION_ARG_STRING, &dbus_name, "Well-known name to register with D-Bus", NULL},
- {"use-gnome-session", 0, 0, G_OPTION_ARG_NONE, &use_gnome_session, "Should register with gnome session manager", NULL},
- {NULL}
+static GOptionEntry optentries[] = {
+ { "dbus-name", 0, 0, G_OPTION_ARG_STRING, &dbus_name, "Well-known name to register with D-Bus", NULL },
+ { "use-gnome-session", 0, 0, G_OPTION_ARG_NONE, &use_gnome_session, "Should register with gnome session manager", NULL },
+ { NULL }
};
-static GDBusProxy *sm_proxy = NULL;
-static char *client_id = NULL;
-static GDBusProxy *client_proxy = NULL;
+static GDBusProxy *sm_proxy = NULL;
+static char *client_id = NULL;
+static GDBusProxy *client_proxy = NULL;
-#define SM_DBUS_NAME "org.gnome.SessionManager"
-#define SM_DBUS_PATH "/org/gnome/SessionManager"
+#define SM_DBUS_NAME "org.gnome.SessionManager"
+#define SM_DBUS_PATH "/org/gnome/SessionManager"
#define SM_DBUS_INTERFACE "org.gnome.SessionManager"
#define SM_CLIENT_DBUS_INTERFACE "org.gnome.SessionManager.ClientPrivate"
@@ -61,71 +60,77 @@ static gboolean register_client (void);
static void
on_session_signal (GDBusProxy *proxy,
- gchar *sender_name,
- gchar *signal_name,
- GVariant *parameters,
- gpointer user_data)
+ gchar *sender_name,
+ gchar *signal_name,
+ GVariant *parameters,
+ gpointer user_data)
{
- if (g_strcmp0 (signal_name, "SessionOver") == 0) {
- g_main_loop_quit (mainloop);
- } else if (g_strcmp0 (signal_name, "SessionRunning") == 0) {
- if (!register_client ())
- g_warning ("Unable to register client with session manager");
- }
+ if (g_strcmp0 (signal_name, "SessionOver") == 0)
+ {
+ g_main_loop_quit (mainloop);
+ }
+ else if (g_strcmp0 (signal_name, "SessionRunning") == 0)
+ {
+ if (!register_client ())
+ g_warning ("Unable to register client with session manager");
+ }
}
static gboolean
session_manager_connect (void)
{
- GVariant *res;
- gboolean is_running;
-
- sm_proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SESSION, 0, NULL,
- SM_DBUS_NAME,
- SM_DBUS_PATH,
- SM_DBUS_INTERFACE, NULL, NULL);
-
- res = g_dbus_proxy_call_sync (sm_proxy,
- "IsSessionRunning", NULL,
- 0, 1000, NULL, NULL);
-
- if (res) {
- g_variant_get (res, "(b)", &is_running);
- g_variant_unref (res);
- if (is_running) {
- if (!register_client ())
- g_warning ("Unable to register client with session manager");
- }
+ GVariant *res;
+ gboolean is_running;
+
+ sm_proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SESSION, 0, NULL,
+ SM_DBUS_NAME,
+ SM_DBUS_PATH,
+ SM_DBUS_INTERFACE, NULL, NULL);
+
+ res = g_dbus_proxy_call_sync (sm_proxy,
+ "IsSessionRunning", NULL,
+ 0, 1000, NULL, NULL);
+
+ if (res)
+ {
+ g_variant_get (res, "(b)", &is_running);
+ g_variant_unref (res);
+ if (is_running)
+ {
+ if (!register_client ())
+ g_warning ("Unable to register client with session manager");
}
+ }
- g_signal_connect (G_OBJECT (sm_proxy), "g-signal",
- G_CALLBACK (on_session_signal), NULL);
+ g_signal_connect (G_OBJECT (sm_proxy), "g-signal",
+ G_CALLBACK (on_session_signal), NULL);
- return (sm_proxy != NULL);
+ return (sm_proxy != NULL);
}
static gboolean
end_session_response (gboolean is_okay, const gchar *reason)
{
- GVariant *ret;
- GError *error = NULL;
+ GVariant *ret;
+ GError *error = NULL;
- if (!reason)
- reason = "";
+ if (!reason)
+ reason = "";
- ret = g_dbus_proxy_call_sync (client_proxy, "EndSessionResponse",
- g_variant_new ("(bs)", is_okay, reason),
- 0, 1000, NULL, &error);
+ ret = g_dbus_proxy_call_sync (client_proxy, "EndSessionResponse",
+ g_variant_new ("(bs)", is_okay, reason),
+ 0, 1000, NULL, &error);
- if (!ret) {
- g_warning ("Failed to send session response %s", error->message);
- g_error_free (error);
- return FALSE;
- }
- else
- g_variant_unref (ret);
+ if (!ret)
+ {
+ g_warning ("Failed to send session response %s", error->message);
+ g_error_free (error);
+ return FALSE;
+ }
+ else
+ g_variant_unref (ret);
- return TRUE;
+ return TRUE;
}
static void
@@ -135,73 +140,78 @@ client_proxy_signal_cb (GDBusProxy *proxy,
GVariant *parameters,
gpointer user_data)
{
- if (g_strcmp0 (signal_name, "QueryEndSession") == 0) {
- g_debug ("Got QueryEndSession signal");
- end_session_response (TRUE, NULL);
- } else if (g_strcmp0 (signal_name, "EndSession") == 0) {
- g_debug ("Got EndSession signal");
- end_session_response (TRUE, NULL);
- g_main_loop_quit (mainloop);
- } else if (g_strcmp0 (signal_name, "Stop") == 0) {
- g_debug ("Got Stop signal");
- g_main_loop_quit (mainloop);
- }
+ if (g_strcmp0 (signal_name, "QueryEndSession") == 0)
+ {
+ g_debug ("Got QueryEndSession signal");
+ end_session_response (TRUE, NULL);
+ }
+ else if (g_strcmp0 (signal_name, "EndSession") == 0)
+ {
+ g_debug ("Got EndSession signal");
+ end_session_response (TRUE, NULL);
+ g_main_loop_quit (mainloop);
+ }
+ else if (g_strcmp0 (signal_name, "Stop") == 0)
+ {
+ g_debug ("Got Stop signal");
+ g_main_loop_quit (mainloop);
+ }
}
static gboolean
register_client (void)
{
- GError *error;
- GVariant *res;
- const char *startup_id;
- const char *app_id;
-
- if (client_proxy)
- return TRUE;
-
- startup_id = g_getenv ("DESKTOP_AUTOSTART_ID");
- if (!startup_id)
- startup_id = "";
- app_id = "at-spi-registryd.desktop";
-
- error = NULL;
- res = g_dbus_proxy_call_sync (sm_proxy,
- "RegisterClient",
- g_variant_new ("(ss)", app_id,
- startup_id),
- 0, 1000, NULL, &error);
- if (! res) {
- const char *message = (error && error->message ? error->message
- : "no error");
- g_warning ("Failed to register client: %s", message);
- if (error)
- g_error_free (error);
- return FALSE;
- }
- g_variant_get (res, "(o)", &client_id);
- g_variant_unref (res);
+ GError *error;
+ GVariant *res;
+ const char *startup_id;
+ const char *app_id;
+
+ if (client_proxy)
+ return TRUE;
+
+ startup_id = g_getenv ("DESKTOP_AUTOSTART_ID");
+ if (!startup_id)
+ startup_id = "";
+ app_id = "at-spi-registryd.desktop";
+
+ error = NULL;
+ res = g_dbus_proxy_call_sync (sm_proxy,
+ "RegisterClient",
+ g_variant_new ("(ss)", app_id,
+ startup_id),
+ 0, 1000, NULL, &error);
+ if (!res)
+ {
+ const char *message = (error && error->message ? error->message
+ : "no error");
+ g_warning ("Failed to register client: %s", message);
+ if (error)
+ g_error_free (error);
+ return FALSE;
+ }
+ g_variant_get (res, "(o)", &client_id);
+ g_variant_unref (res);
- client_proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SESSION, 0, NULL,
- SM_DBUS_NAME,
- client_id,
- SM_CLIENT_DBUS_INTERFACE,
- NULL, NULL);
+ client_proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SESSION, 0, NULL,
+ SM_DBUS_NAME,
+ client_id,
+ SM_CLIENT_DBUS_INTERFACE,
+ NULL, NULL);
- g_signal_connect (client_proxy, "g-signal",
- G_CALLBACK (client_proxy_signal_cb), NULL);
+ g_signal_connect (client_proxy, "g-signal",
+ G_CALLBACK (client_proxy_signal_cb), NULL);
- g_unsetenv ("DESKTOP_AUTOSTART_ID");
+ g_unsetenv ("DESKTOP_AUTOSTART_ID");
- return TRUE;
+ return TRUE;
}
/*---------------------------------------------------------------------------*/
-
/*---------------------------------------------------------------------------*/
typedef GObject *(*gconf_client_get_default_t) ();
-typedef gboolean (*gconf_client_get_bool_t)(GObject *, const char *, void *);
+typedef gboolean (*gconf_client_get_bool_t) (GObject *, const char *, void *);
int
main (int argc, char **argv)
@@ -217,31 +227,31 @@ main (int argc, char **argv)
int ret;
/*Parse command options*/
- opt = g_option_context_new(NULL);
- g_option_context_add_main_entries(opt, optentries, NULL);
+ opt = g_option_context_new (NULL);
+ g_option_context_add_main_entries (opt, optentries, NULL);
- if (!g_option_context_parse(opt, &argc, &argv, &err))
+ if (!g_option_context_parse (opt, &argc, &argv, &err))
{
- g_error("Option parsing failed: %s\n", err->message);
+ g_error ("Option parsing failed: %s\n", err->message);
g_clear_error (&err);
}
if (dbus_name == NULL)
- dbus_name = SPI_DBUS_NAME_REGISTRY;
+ dbus_name = SPI_DBUS_NAME_REGISTRY;
bus = atspi_get_a11y_bus ();
if (!bus)
- {
- return 0;
- }
+ {
+ return 0;
+ }
mainloop = g_main_loop_new (NULL, FALSE);
- atspi_dbus_connection_setup_with_g_main(bus, NULL);
+ atspi_dbus_connection_setup_with_g_main (bus, NULL);
- ret = dbus_bus_request_name(bus, dbus_name, DBUS_NAME_FLAG_DO_NOT_QUEUE, NULL);
+ ret = dbus_bus_request_name (bus, dbus_name, DBUS_NAME_FLAG_DO_NOT_QUEUE, NULL);
if (ret == DBUS_REQUEST_NAME_REPLY_EXISTS)
{
- exit (0); /* most likely already running */
+ exit (0); /* most likely already running */
}
else
{
@@ -254,7 +264,7 @@ main (int argc, char **argv)
if (use_gnome_session)
{
if (!session_manager_connect ())
- g_warning ("Unable to connect to session manager");
+ g_warning ("Unable to connect to session manager");
}
g_main_loop_run (mainloop);
diff --git a/registryd/registry.c b/registryd/registry.c
index 6cb10f08..349e92ec 100644
--- a/registryd/registry.c
+++ b/registryd/registry.c
@@ -23,12 +23,12 @@
*/
#include <config.h>
-#include <string.h>
#include <ctype.h>
+#include <string.h>
+#include "introspection.h"
#include "paths.h"
#include "registry.h"
-#include "introspection.h"
typedef struct
{
@@ -74,7 +74,7 @@ spi_reference_free (SpiReference *ref)
/*---------------------------------------------------------------------------*/
-G_DEFINE_TYPE(SpiRegistry, spi_registry, G_TYPE_OBJECT)
+G_DEFINE_TYPE (SpiRegistry, spi_registry, G_TYPE_OBJECT)
static void
spi_registry_finalize (GObject *object)
@@ -106,12 +106,12 @@ spi_registry_init (SpiRegistry *registry)
/*---------------------------------------------------------------------------*/
static dbus_bool_t
-return_v_string (DBusMessageIter * iter, const gchar * str)
+return_v_string (DBusMessageIter *iter, const gchar *str)
{
DBusMessageIter variant;
if (!dbus_message_iter_open_container (iter, DBUS_TYPE_VARIANT, "s",
- &variant))
+ &variant))
return FALSE;
dbus_message_iter_append_basic (&variant, DBUS_TYPE_STRING, &str);
@@ -120,12 +120,12 @@ return_v_string (DBusMessageIter * iter, const gchar * str)
}
static dbus_bool_t
-append_reference (DBusMessageIter * iter, SpiReference *ref)
+append_reference (DBusMessageIter *iter, SpiReference *ref)
{
DBusMessageIter iter_struct;
if (!dbus_message_iter_open_container (iter, DBUS_TYPE_STRUCT, NULL,
- &iter_struct))
+ &iter_struct))
return FALSE;
dbus_message_iter_append_basic (&iter_struct, DBUS_TYPE_STRING, &ref->name);
dbus_message_iter_append_basic (&iter_struct, DBUS_TYPE_OBJECT_PATH, &ref->path);
@@ -174,15 +174,15 @@ emit_children_changed (DBusConnection *bus,
DBusMessageIter iter, iter_variant, iter_array;
dbus_int32_t unused = 0;
- sig = dbus_message_new_signal(SPI_DBUS_PATH_ROOT,
- SPI_DBUS_INTERFACE_EVENT_OBJECT,
- "ChildrenChanged");
+ sig = dbus_message_new_signal (SPI_DBUS_PATH_ROOT,
+ SPI_DBUS_INTERFACE_EVENT_OBJECT,
+ "ChildrenChanged");
- dbus_message_iter_init_append(sig, &iter);
+ dbus_message_iter_init_append (sig, &iter);
- dbus_message_iter_append_basic(&iter, DBUS_TYPE_STRING, &operation);
- dbus_message_iter_append_basic(&iter, DBUS_TYPE_INT32, &index);
- dbus_message_iter_append_basic(&iter, DBUS_TYPE_INT32, &unused);
+ dbus_message_iter_append_basic (&iter, DBUS_TYPE_STRING, &operation);
+ dbus_message_iter_append_basic (&iter, DBUS_TYPE_INT32, &index);
+ dbus_message_iter_append_basic (&iter, DBUS_TYPE_INT32, &unused);
dbus_message_iter_open_container (&iter, DBUS_TYPE_VARIANT, "(so)",
&iter_variant);
@@ -193,8 +193,8 @@ emit_children_changed (DBusConnection *bus,
&iter_array);
dbus_message_iter_close_container (&iter, &iter_array);
- dbus_connection_send(bus, sig, NULL);
- dbus_message_unref(sig);
+ dbus_connection_send (bus, sig, NULL);
+ dbus_message_unref (sig);
}
static void
@@ -256,11 +256,11 @@ event_is_subtype (gchar **needle, gchar **haystack)
static gboolean
needs_mouse_poll (char **event)
{
- if (g_strcmp0 (event [0], "Mouse") != 0)
+ if (g_strcmp0 (event[0], "Mouse") != 0)
return FALSE;
- if (!event [1] || !event [1][0])
+ if (!event[1] || !event[1][0])
return TRUE;
- return (g_strcmp0 (event [1], "Abs") == 0);
+ return (g_strcmp0 (event[1], "Abs") == 0);
}
static void
@@ -383,23 +383,24 @@ signal_filter (DBusConnection *bus, DBusMessage *message, void *user_data)
SpiRegistry *reg = SPI_REGISTRY (user_data);
guint res = DBUS_HANDLER_RESULT_HANDLED;
- const gint type = dbus_message_get_type (message);
+ const gint type = dbus_message_get_type (message);
const char *iface = dbus_message_get_interface (message);
const char *member = dbus_message_get_member (message);
if (type != DBUS_MESSAGE_TYPE_SIGNAL)
return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
- if (!g_strcmp0(iface, DBUS_INTERFACE_DBUS) &&
- !g_strcmp0(member, "NameOwnerChanged"))
- handle_disconnection (reg, message);
+ if (!g_strcmp0 (iface, DBUS_INTERFACE_DBUS) &&
+ !g_strcmp0 (member, "NameOwnerChanged"))
+ handle_disconnection (reg, message);
else
- res = DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
+ res = DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
return res;
}
-typedef enum {
+typedef enum
+{
DEMARSHAL_STATUS_SUCCESS,
DEMARSHAL_STATUS_INVALID_SIGNATURE,
DEMARSHAL_STATUS_INVALID_VALUE,
@@ -444,7 +445,7 @@ socket_embed (SpiRegistry *registry, SpiReference *app_root)
return spi_reference_new (registry->bus_unique_name, SPI_DBUS_PATH_ROOT);
}
-static DBusMessage*
+static DBusMessage *
impl_Embed (DBusMessage *message, SpiRegistry *registry)
{
SpiReference *app_root = NULL;
@@ -468,7 +469,7 @@ impl_Embed (DBusMessage *message, SpiRegistry *registry)
return reply;
}
-static DBusMessage*
+static DBusMessage *
impl_Unembed (DBusMessage *message, SpiRegistry *registry)
{
SpiReference *app_reference;
@@ -491,7 +492,7 @@ impl_Unembed (DBusMessage *message, SpiRegistry *registry)
/*---------------------------------------------------------------------------*/
static DBusMessage *
-impl_Contains (DBusMessage * message, SpiRegistry *registry)
+impl_Contains (DBusMessage *message, SpiRegistry *registry)
{
dbus_bool_t retval = FALSE;
DBusMessage *reply;
@@ -503,7 +504,7 @@ impl_Contains (DBusMessage * message, SpiRegistry *registry)
}
static DBusMessage *
-impl_GetAccessibleAtPoint (DBusMessage * message, SpiRegistry *registry)
+impl_GetAccessibleAtPoint (DBusMessage *message, SpiRegistry *registry)
{
DBusMessage *reply = NULL;
DBusMessageIter iter;
@@ -518,7 +519,7 @@ impl_GetAccessibleAtPoint (DBusMessage * message, SpiRegistry *registry)
}
static DBusMessage *
-impl_GetExtents (DBusMessage * message, SpiRegistry *registry)
+impl_GetExtents (DBusMessage *message, SpiRegistry *registry)
{
dbus_int32_t x = 0, y = 0, width = 1024, height = 768;
DBusMessage *reply;
@@ -528,16 +529,16 @@ impl_GetExtents (DBusMessage * message, SpiRegistry *registry)
dbus_message_iter_init_append (reply, &iter);
dbus_message_iter_open_container (&iter, DBUS_TYPE_STRUCT, NULL,
&iter_struct);
- dbus_message_iter_append_basic (&iter_struct, DBUS_TYPE_INT32, &x);
- dbus_message_iter_append_basic (&iter_struct, DBUS_TYPE_INT32, &y);
- dbus_message_iter_append_basic (&iter_struct, DBUS_TYPE_INT32, &width);
- dbus_message_iter_append_basic (&iter_struct, DBUS_TYPE_INT32, &height);
+ dbus_message_iter_append_basic (&iter_struct, DBUS_TYPE_INT32, &x);
+ dbus_message_iter_append_basic (&iter_struct, DBUS_TYPE_INT32, &y);
+ dbus_message_iter_append_basic (&iter_struct, DBUS_TYPE_INT32, &width);
+ dbus_message_iter_append_basic (&iter_struct, DBUS_TYPE_INT32, &height);
dbus_message_iter_close_container (&iter, &iter_struct);
return reply;
}
static DBusMessage *
-impl_GetPosition (DBusMessage * message, SpiRegistry *registry)
+impl_GetPosition (DBusMessage *message, SpiRegistry *registry)
{
DBusMessage *reply;
dbus_int32_t x = 0, y = 0;
@@ -549,7 +550,7 @@ impl_GetPosition (DBusMessage * message, SpiRegistry *registry)
}
static DBusMessage *
-impl_GetSize (DBusMessage * message, SpiRegistry *registry)
+impl_GetSize (DBusMessage *message, SpiRegistry *registry)
{
/* TODO - Get the screen size */
DBusMessage *reply;
@@ -564,7 +565,7 @@ impl_GetSize (DBusMessage * message, SpiRegistry *registry)
#define LAYER_WIDGET 3;
static DBusMessage *
-impl_GetLayer (DBusMessage * message, SpiRegistry *registry)
+impl_GetLayer (DBusMessage *message, SpiRegistry *registry)
{
DBusMessage *reply;
dbus_uint32_t rv = LAYER_WIDGET;
@@ -576,7 +577,7 @@ impl_GetLayer (DBusMessage * message, SpiRegistry *registry)
}
static DBusMessage *
-impl_GetMDIZOrder (DBusMessage * message, SpiRegistry *registry)
+impl_GetMDIZOrder (DBusMessage *message, SpiRegistry *registry)
{
DBusMessage *reply;
dbus_int16_t rv = 0;
@@ -588,7 +589,7 @@ impl_GetMDIZOrder (DBusMessage * message, SpiRegistry *registry)
}
static DBusMessage *
-impl_GrabFocus (DBusMessage * message, SpiRegistry *registry)
+impl_GrabFocus (DBusMessage *message, SpiRegistry *registry)
{
DBusMessage *reply;
dbus_bool_t retval = FALSE;
@@ -600,7 +601,7 @@ impl_GrabFocus (DBusMessage * message, SpiRegistry *registry)
}
static DBusMessage *
-impl_GetAlpha (DBusMessage * message, SpiRegistry *registry)
+impl_GetAlpha (DBusMessage *message, SpiRegistry *registry)
{
double rv = 1.0;
DBusMessage *reply;
@@ -615,21 +616,21 @@ impl_GetAlpha (DBusMessage * message, SpiRegistry *registry)
/*---------------------------------------------------------------------------*/
static dbus_bool_t
-impl_get_Name (DBusMessageIter * iter, SpiRegistry *registry)
+impl_get_Name (DBusMessageIter *iter, SpiRegistry *registry)
{
const gchar *name = "main";
return return_v_string (iter, name);
}
static dbus_bool_t
-impl_get_Description (DBusMessageIter * iter, SpiRegistry *registry)
+impl_get_Description (DBusMessageIter *iter, SpiRegistry *registry)
{
const gchar *description = "";
return return_v_string (iter, description);
}
static dbus_bool_t
-impl_get_Parent (DBusMessageIter * iter, SpiRegistry *registry)
+impl_get_Parent (DBusMessageIter *iter, SpiRegistry *registry)
{
DBusMessageIter iter_variant;
SpiReference *null_ref = spi_reference_null ("");
@@ -643,7 +644,7 @@ impl_get_Parent (DBusMessageIter * iter, SpiRegistry *registry)
}
static dbus_bool_t
-impl_get_ChildCount (DBusMessageIter * iter, SpiRegistry *registry)
+impl_get_ChildCount (DBusMessageIter *iter, SpiRegistry *registry)
{
dbus_int32_t rv = registry->apps->len;
dbus_bool_t result;
@@ -658,19 +659,19 @@ impl_get_ChildCount (DBusMessageIter * iter, SpiRegistry *registry)
}
static dbus_bool_t
-impl_get_ToolkitName (DBusMessageIter * iter, SpiRegistry *registry)
+impl_get_ToolkitName (DBusMessageIter *iter, SpiRegistry *registry)
{
return return_v_string (iter, "at-spi-registry");
}
static dbus_bool_t
-impl_get_ToolkitVersion (DBusMessageIter * iter, SpiRegistry *registry)
+impl_get_ToolkitVersion (DBusMessageIter *iter, SpiRegistry *registry)
{
return return_v_string (iter, "2.0");
}
static DBusMessage *
-impl_GetChildAtIndex (DBusMessage * message, SpiRegistry *registry)
+impl_GetChildAtIndex (DBusMessage *message, SpiRegistry *registry)
{
DBusMessage *reply;
DBusMessageIter iter;
@@ -679,8 +680,7 @@ impl_GetChildAtIndex (DBusMessage * message, SpiRegistry *registry)
dbus_int32_t i;
dbus_error_init (&error);
- if (!dbus_message_get_args
- (message, &error, DBUS_TYPE_INT32, &i, DBUS_TYPE_INVALID))
+ if (!dbus_message_get_args (message, &error, DBUS_TYPE_INT32, &i, DBUS_TYPE_INVALID))
{
return dbus_message_new_error (message, DBUS_ERROR_FAILED, "Invalid arguments");
}
@@ -704,7 +704,7 @@ impl_GetChildAtIndex (DBusMessage * message, SpiRegistry *registry)
}
static DBusMessage *
-impl_GetChildren (DBusMessage * message, SpiRegistry *registry)
+impl_GetChildren (DBusMessage *message, SpiRegistry *registry)
{
DBusMessage *reply = NULL;
DBusMessageIter iter, iter_array;
@@ -713,18 +713,18 @@ impl_GetChildren (DBusMessage * message, SpiRegistry *registry)
reply = dbus_message_new_method_return (message);
dbus_message_iter_init_append (reply, &iter);
- dbus_message_iter_open_container(&iter, DBUS_TYPE_ARRAY, "(so)", &iter_array);
- for (i=0; i < registry->apps->len; i++)
+ dbus_message_iter_open_container (&iter, DBUS_TYPE_ARRAY, "(so)", &iter_array);
+ for (i = 0; i < registry->apps->len; i++)
{
SpiReference *current = g_ptr_array_index (registry->apps, i);
append_reference (&iter_array, current);
}
- dbus_message_iter_close_container(&iter, &iter_array);
+ dbus_message_iter_close_container (&iter, &iter_array);
return reply;
}
static DBusMessage *
-impl_GetIndexInParent (DBusMessage * message, SpiRegistry *registry)
+impl_GetIndexInParent (DBusMessage *message, SpiRegistry *registry)
{
DBusMessage *reply;
dbus_uint32_t rv = 0;
@@ -735,7 +735,7 @@ impl_GetIndexInParent (DBusMessage * message, SpiRegistry *registry)
}
static DBusMessage *
-impl_GetRelationSet (DBusMessage * message, SpiRegistry *registry)
+impl_GetRelationSet (DBusMessage *message, SpiRegistry *registry)
{
DBusMessage *reply;
DBusMessageIter iter, iter_array;
@@ -749,10 +749,10 @@ impl_GetRelationSet (DBusMessage * message, SpiRegistry *registry)
}
static DBusMessage *
-impl_GetRole (DBusMessage * message, SpiRegistry *registry)
+impl_GetRole (DBusMessage *message, SpiRegistry *registry)
{
DBusMessage *reply;
- dbus_uint32_t rv = 14; /* TODO: Get DESKTOP_FRAME from somewhere */
+ dbus_uint32_t rv = 14; /* TODO: Get DESKTOP_FRAME from somewhere */
reply = dbus_message_new_method_return (message);
dbus_message_append_args (reply, DBUS_TYPE_UINT32, &rv, DBUS_TYPE_INVALID);
@@ -760,7 +760,7 @@ impl_GetRole (DBusMessage * message, SpiRegistry *registry)
}
static DBusMessage *
-impl_GetRoleName (DBusMessage * message, SpiRegistry *registry)
+impl_GetRoleName (DBusMessage *message, SpiRegistry *registry)
{
DBusMessage *reply;
const char *role_name = "desktop frame";
@@ -772,7 +772,7 @@ impl_GetRoleName (DBusMessage * message, SpiRegistry *registry)
}
static DBusMessage *
-impl_GetLocalizedRoleName (DBusMessage * message, SpiRegistry *registry)
+impl_GetLocalizedRoleName (DBusMessage *message, SpiRegistry *registry)
{
/* FIXME - Localize this */
DBusMessage *reply;
@@ -785,12 +785,12 @@ impl_GetLocalizedRoleName (DBusMessage * message, SpiRegistry *registry)
}
static DBusMessage *
-impl_GetState (DBusMessage * message, SpiRegistry *registry)
+impl_GetState (DBusMessage *message, SpiRegistry *registry)
{
DBusMessage *reply = NULL;
DBusMessageIter iter, iter_array;
- dbus_uint32_t states[2] = {0, 0};
+ dbus_uint32_t states[2] = { 0, 0 };
guint count;
reply = dbus_message_new_method_return (message);
@@ -807,7 +807,7 @@ impl_GetState (DBusMessage * message, SpiRegistry *registry)
}
static DBusMessage *
-impl_GetAttributes (DBusMessage * message, SpiRegistry *registry)
+impl_GetAttributes (DBusMessage *message, SpiRegistry *registry)
{
DBusMessage *reply = NULL;
DBusMessageIter iter, array;
@@ -821,7 +821,7 @@ impl_GetAttributes (DBusMessage * message, SpiRegistry *registry)
}
static DBusMessage *
-impl_GetApplication (DBusMessage * message, SpiRegistry *registry)
+impl_GetApplication (DBusMessage *message, SpiRegistry *registry)
{
DBusMessage *reply = NULL;
DBusMessageIter iter;
@@ -836,7 +836,7 @@ impl_GetApplication (DBusMessage * message, SpiRegistry *registry)
}
static DBusMessage *
-impl_GetInterfaces (DBusMessage * message, SpiRegistry *registry)
+impl_GetInterfaces (DBusMessage *message, SpiRegistry *registry)
{
DBusMessage *reply;
DBusMessageIter iter, iter_array;
@@ -861,7 +861,7 @@ impl_GetInterfaces (DBusMessage * message, SpiRegistry *registry)
}
static DBusMessage *
-impl_GetItems (DBusMessage * message, SpiRegistry *registry)
+impl_GetItems (DBusMessage *message, SpiRegistry *registry)
{
DBusMessage *reply;
DBusMessageIter iter, iter_array;
@@ -894,10 +894,10 @@ impl_RegisterEvent (DBusMessage *message, SpiRegistry *registry)
if (strcmp (signature, "sas") != 0 &&
strcmp (signature, "s") != 0 &&
strcmp (signature, "sass") != 0)
- {
- g_warning ("got RegisterEvent with invalid signature '%s'", signature);
- return NULL;
- }
+ {
+ g_warning ("got RegisterEvent with invalid signature '%s'", signature);
+ return NULL;
+ }
dbus_message_iter_init (message, &iter);
dbus_message_iter_get_basic (&iter, &orig_name);
@@ -910,27 +910,27 @@ impl_RegisterEvent (DBusMessage *message, SpiRegistry *registry)
evdata->data = data;
if (dbus_message_iter_get_arg_type (&iter) == DBUS_TYPE_ARRAY)
- {
- dbus_message_iter_recurse (&iter, &iter_array);
- while (dbus_message_iter_get_arg_type (&iter_array) != DBUS_TYPE_INVALID)
{
- const char *property;
- dbus_message_iter_get_basic (&iter_array, &property);
- evdata->properties = g_slist_append (evdata->properties,
- g_strdup (property));
- dbus_message_iter_next (&iter_array);
+ dbus_message_iter_recurse (&iter, &iter_array);
+ while (dbus_message_iter_get_arg_type (&iter_array) != DBUS_TYPE_INVALID)
+ {
+ const char *property;
+ dbus_message_iter_get_basic (&iter_array, &property);
+ evdata->properties = g_slist_append (evdata->properties,
+ g_strdup (property));
+ dbus_message_iter_next (&iter_array);
+ }
+ dbus_message_iter_next (&iter);
}
- dbus_message_iter_next (&iter);
- }
if (dbus_message_iter_get_arg_type (&iter) == DBUS_TYPE_STRING)
- {
- const char *app;
- dbus_message_iter_get_basic (&iter, &app);
- if (app[0])
- evdata->app_bus_name = g_strdup (app);
- dbus_message_iter_next (&iter);
- }
+ {
+ const char *app;
+ dbus_message_iter_get_basic (&iter, &app);
+ if (app[0])
+ evdata->app_bus_name = g_strdup (app);
+ dbus_message_iter_next (&iter);
+ }
registry->events = g_list_append (registry->events, evdata);
@@ -943,23 +943,23 @@ impl_RegisterEvent (DBusMessage *message, SpiRegistry *registry)
SPI_DBUS_INTERFACE_REGISTRY,
"EventListenerRegistered");
if (signal)
- {
- GSList *ls = evdata->properties;
- if (evdata->app_bus_name)
- dbus_message_set_destination (message, evdata->app_bus_name);
- dbus_message_iter_init_append (signal, &iter);
- dbus_message_iter_append_basic (&iter, DBUS_TYPE_STRING, &sender);
- dbus_message_iter_append_basic (&iter, DBUS_TYPE_STRING, &name);
- dbus_message_iter_open_container (&iter, DBUS_TYPE_ARRAY, "s", &iter_array);
- while (ls)
{
- dbus_message_iter_append_basic (&iter_array, DBUS_TYPE_STRING, &ls->data);
- ls = g_slist_next (ls);
+ GSList *ls = evdata->properties;
+ if (evdata->app_bus_name)
+ dbus_message_set_destination (message, evdata->app_bus_name);
+ dbus_message_iter_init_append (signal, &iter);
+ dbus_message_iter_append_basic (&iter, DBUS_TYPE_STRING, &sender);
+ dbus_message_iter_append_basic (&iter, DBUS_TYPE_STRING, &name);
+ dbus_message_iter_open_container (&iter, DBUS_TYPE_ARRAY, "s", &iter_array);
+ while (ls)
+ {
+ dbus_message_iter_append_basic (&iter_array, DBUS_TYPE_STRING, &ls->data);
+ ls = g_slist_next (ls);
+ }
+ dbus_message_iter_close_container (&iter, &iter_array);
+ dbus_connection_send (registry->bus, signal, NULL);
+ dbus_message_unref (signal);
}
- dbus_message_iter_close_container (&iter, &iter_array);
- dbus_connection_send (registry->bus, signal, NULL);
- dbus_message_unref (signal);
- }
g_free (name);
return dbus_message_new_method_return (message);
@@ -973,7 +973,7 @@ impl_DeregisterEvent (DBusMessage *message, SpiRegistry *registry)
const char *sender = dbus_message_get_sender (message);
if (!dbus_message_get_args (message, NULL, DBUS_TYPE_STRING, &orig_name,
- DBUS_TYPE_INVALID))
+ DBUS_TYPE_INVALID))
return NULL;
name = ensure_proper_format (orig_name);
@@ -1005,9 +1005,9 @@ impl_GetRegisteredEvents (DBusMessage *message, SpiRegistry *registry)
if (evdata->app_bus_name && strcmp (evdata->app_bus_name, sender) != 0)
continue;
- str = g_strconcat (evdata->data [0],
- ":", (evdata->data [1]? evdata->data [1]: ""),
- ":", (evdata->data [1] && evdata->data [2]? evdata->data [2]: ""), NULL);
+ str = g_strconcat (evdata->data[0],
+ ":", (evdata->data[1] ? evdata->data[1] : ""),
+ ":", (evdata->data[1] && evdata->data[2] ? evdata->data[2] : ""), NULL);
dbus_message_iter_open_container (&iter_array, DBUS_TYPE_STRUCT, NULL, &iter_struct);
dbus_message_iter_append_basic (&iter_struct, DBUS_TYPE_STRING, &evdata->listener_bus_name);
dbus_message_iter_append_basic (&iter_struct, DBUS_TYPE_STRING, &str);
@@ -1020,8 +1020,8 @@ impl_GetRegisteredEvents (DBusMessage *message, SpiRegistry *registry)
/*---------------------------------------------------------------------------*/
-static void
-emit_Available (DBusConnection * bus)
+static void
+emit_Available (DBusConnection *bus)
{
DBusMessage *sig;
DBusMessageIter iter;
@@ -1029,29 +1029,29 @@ emit_Available (DBusConnection * bus)
SPI_DBUS_NAME_REGISTRY,
SPI_DBUS_PATH_ROOT,
};
-
- sig = dbus_message_new_signal(SPI_DBUS_PATH_ROOT, SPI_DBUS_INTERFACE_SOCKET, "Available");
- dbus_message_iter_init_append(sig, &iter);
+ sig = dbus_message_new_signal (SPI_DBUS_PATH_ROOT, SPI_DBUS_INTERFACE_SOCKET, "Available");
+
+ dbus_message_iter_init_append (sig, &iter);
append_reference (&iter, &root_ref);
- dbus_connection_send(bus, sig, NULL);
- dbus_message_unref(sig);
+ dbus_connection_send (bus, sig, NULL);
+ dbus_message_unref (sig);
}
/*---------------------------------------------------------------------------*/
static const char *introspection_header =
-"<?xml version=\"1.0\"?>\n";
+ "<?xml version=\"1.0\"?>\n";
static const char *introspection_node_element =
-"<node name=\"%s\">\n";
+ "<node name=\"%s\">\n";
static const char *introspection_footer =
-"</node>";
+ "</node>";
static DBusMessage *
-impl_Introspect_root (DBusMessage * message, SpiRegistry *registry)
+impl_Introspect_root (DBusMessage *message, SpiRegistry *registry)
{
GString *output;
gchar *final;
@@ -1060,26 +1060,26 @@ impl_Introspect_root (DBusMessage * message, SpiRegistry *registry)
DBusMessage *reply;
- output = g_string_new(introspection_header);
+ output = g_string_new (introspection_header);
- g_string_append_printf(output, introspection_node_element, pathstr);
+ g_string_append_printf (output, introspection_node_element, pathstr);
g_string_append (output, spi_org_a11y_atspi_Accessible);
g_string_append (output, spi_org_a11y_atspi_Component);
g_string_append (output, spi_org_a11y_atspi_Socket);
- g_string_append(output, introspection_footer);
- final = g_string_free(output, FALSE);
+ g_string_append (output, introspection_footer);
+ final = g_string_free (output, FALSE);
reply = dbus_message_new_method_return (message);
- dbus_message_append_args(reply, DBUS_TYPE_STRING, &final, DBUS_TYPE_INVALID);
+ dbus_message_append_args (reply, DBUS_TYPE_STRING, &final, DBUS_TYPE_INVALID);
- g_free(final);
+ g_free (final);
return reply;
}
static DBusMessage *
-impl_Introspect_registry (DBusMessage * message, SpiRegistry *registry)
+impl_Introspect_registry (DBusMessage *message, SpiRegistry *registry)
{
GString *output;
gchar *final;
@@ -1088,19 +1088,19 @@ impl_Introspect_registry (DBusMessage * message, SpiRegistry *registry)
DBusMessage *reply;
- output = g_string_new(introspection_header);
+ output = g_string_new (introspection_header);
- g_string_append_printf(output, introspection_node_element, pathstr);
+ g_string_append_printf (output, introspection_node_element, pathstr);
g_string_append (output, spi_org_a11y_atspi_Registry);
- g_string_append(output, introspection_footer);
- final = g_string_free(output, FALSE);
+ g_string_append (output, introspection_footer);
+ final = g_string_free (output, FALSE);
reply = dbus_message_new_method_return (message);
- dbus_message_append_args(reply, DBUS_TYPE_STRING, &final, DBUS_TYPE_INVALID);
+ dbus_message_append_args (reply, DBUS_TYPE_STRING, &final, DBUS_TYPE_INVALID);
- g_free(final);
+ g_free (final);
return reply;
}
@@ -1112,17 +1112,17 @@ handle_method_root (DBusConnection *bus, DBusMessage *message, void *user_data)
SpiRegistry *registry = SPI_REGISTRY (user_data);
DBusHandlerResult result = DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
- const gchar *iface = dbus_message_get_interface (message);
- const gchar *member = dbus_message_get_member (message);
- const gint type = dbus_message_get_type (message);
+ const gchar *iface = dbus_message_get_interface (message);
+ const gchar *member = dbus_message_get_member (message);
+ const gint type = dbus_message_get_type (message);
DBusMessage *reply = NULL;
/* Check for basic reasons not to handle */
- if (type != DBUS_MESSAGE_TYPE_METHOD_CALL ||
+ if (type != DBUS_MESSAGE_TYPE_METHOD_CALL ||
member == NULL ||
- iface == NULL)
- return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
+ iface == NULL)
+ return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
if (!strcmp (iface, "org.freedesktop.DBus.Properties"))
{
@@ -1146,10 +1146,9 @@ handle_method_root (DBusConnection *bus, DBusMessage *message, void *user_data)
reply = dbus_message_new_method_return (message);
dbus_message_iter_init_append (reply, &iter);
-
if (!strcmp (prop_iface, SPI_DBUS_INTERFACE_ACCESSIBLE))
{
- if (!strcmp (prop_member, "Name"))
+ if (!strcmp (prop_member, "Name"))
impl_get_Name (&iter, registry);
else if (!strcmp (prop_member, "Description"))
impl_get_Description (&iter, registry);
@@ -1159,7 +1158,7 @@ handle_method_root (DBusConnection *bus, DBusMessage *message, void *user_data)
impl_get_ChildCount (&iter, registry);
else
{
- dbus_message_unref (reply);
+ dbus_message_unref (reply);
reply = dbus_message_new_error (message, DBUS_ERROR_FAILED, "Property unavailable");
}
}
@@ -1171,13 +1170,13 @@ handle_method_root (DBusConnection *bus, DBusMessage *message, void *user_data)
impl_get_ToolkitVersion (&iter, registry);
else
{
- dbus_message_unref (reply);
+ dbus_message_unref (reply);
reply = dbus_message_new_error (message, DBUS_ERROR_FAILED, "Property unavailable");
}
}
else
{
- dbus_message_unref (reply);
+ dbus_message_unref (reply);
reply = dbus_message_new_error (message, DBUS_ERROR_FAILED, "Property unavailable");
}
}
@@ -1196,75 +1195,75 @@ handle_method_root (DBusConnection *bus, DBusMessage *message, void *user_data)
if (!strcmp (iface, SPI_DBUS_INTERFACE_ACCESSIBLE))
{
result = DBUS_HANDLER_RESULT_HANDLED;
- if (!strcmp (member, "GetChildAtIndex"))
- reply = impl_GetChildAtIndex (message, registry);
+ if (!strcmp (member, "GetChildAtIndex"))
+ reply = impl_GetChildAtIndex (message, registry);
else if (!strcmp (member, "GetChildren"))
- reply = impl_GetChildren (message, registry);
+ reply = impl_GetChildren (message, registry);
else if (!strcmp (member, "GetIndexInParent"))
- reply = impl_GetIndexInParent (message, registry);
+ reply = impl_GetIndexInParent (message, registry);
else if (!strcmp (member, "GetRelationSet"))
- reply = impl_GetRelationSet (message, registry);
+ reply = impl_GetRelationSet (message, registry);
else if (!strcmp (member, "GetRole"))
- reply = impl_GetRole (message, registry);
+ reply = impl_GetRole (message, registry);
else if (!strcmp (member, "GetRoleName"))
- reply = impl_GetRoleName (message, registry);
+ reply = impl_GetRoleName (message, registry);
else if (!strcmp (member, "GetLocalizedRoleName"))
- reply = impl_GetLocalizedRoleName (message, registry);
+ reply = impl_GetLocalizedRoleName (message, registry);
else if (!strcmp (member, "GetState"))
- reply = impl_GetState (message, registry);
+ reply = impl_GetState (message, registry);
else if (!strcmp (member, "GetAttributes"))
- reply = impl_GetAttributes (message, registry);
+ reply = impl_GetAttributes (message, registry);
else if (!strcmp (member, "GetApplication"))
- reply = impl_GetApplication (message, registry);
+ reply = impl_GetApplication (message, registry);
else if (!strcmp (member, "GetInterfaces"))
- reply = impl_GetInterfaces (message, registry);
+ reply = impl_GetInterfaces (message, registry);
else
- result = DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
+ result = DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
}
if (!strcmp (iface, SPI_DBUS_INTERFACE_COMPONENT))
{
result = DBUS_HANDLER_RESULT_HANDLED;
- if (!strcmp (member, "Contains"))
- reply = impl_Contains (message, registry);
+ if (!strcmp (member, "Contains"))
+ reply = impl_Contains (message, registry);
else if (!strcmp (member, "GetAccessibleAtPoint"))
- reply = impl_GetAccessibleAtPoint (message, registry);
+ reply = impl_GetAccessibleAtPoint (message, registry);
else if (!strcmp (member, "GetExtents"))
- reply = impl_GetExtents (message, registry);
+ reply = impl_GetExtents (message, registry);
else if (!strcmp (member, "GetPosition"))
- reply = impl_GetPosition (message, registry);
+ reply = impl_GetPosition (message, registry);
else if (!strcmp (member, "GetSize"))
- reply = impl_GetSize (message, registry);
+ reply = impl_GetSize (message, registry);
else if (!strcmp (member, "GetLayer"))
- reply = impl_GetLayer (message, registry);
+ reply = impl_GetLayer (message, registry);
else if (!strcmp (member, "GetMDIZOrder"))
- reply = impl_GetMDIZOrder (message, registry);
+ reply = impl_GetMDIZOrder (message, registry);
else if (!strcmp (member, "GrabFocus"))
- reply = impl_GrabFocus (message, registry);
+ reply = impl_GrabFocus (message, registry);
else if (!strcmp (member, "GetAlpha"))
- reply = impl_GetAlpha (message, registry);
+ reply = impl_GetAlpha (message, registry);
else
- result = DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
+ result = DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
}
if (!strcmp (iface, SPI_DBUS_INTERFACE_SOCKET))
{
result = DBUS_HANDLER_RESULT_HANDLED;
- if (!strcmp (member, "Embed"))
- reply = impl_Embed (message, registry);
+ if (!strcmp (member, "Embed"))
+ reply = impl_Embed (message, registry);
else if (!strcmp (member, "Unembed"))
- reply = impl_Unembed (message, registry);
+ reply = impl_Unembed (message, registry);
else
- result = DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
+ result = DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
}
if (!strcmp (iface, "org.freedesktop.DBus.Introspectable"))
{
result = DBUS_HANDLER_RESULT_HANDLED;
- if (!strcmp (member, "Introspect"))
- reply = impl_Introspect_root (message, registry);
+ if (!strcmp (member, "Introspect"))
+ reply = impl_Introspect_root (message, registry);
else
- result = DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
+ result = DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
}
if (result == DBUS_HANDLER_RESULT_HANDLED)
@@ -1283,7 +1282,7 @@ handle_method_root (DBusConnection *bus, DBusMessage *message, void *user_data)
g_print ("Registry | Unhandled message : %s|%s\n", iface, member);
}
#endif
-
+
return result;
}
@@ -1293,25 +1292,25 @@ handle_method_cache (DBusConnection *bus, DBusMessage *message, void *user_data)
SpiRegistry *registry = SPI_REGISTRY (user_data);
DBusHandlerResult result = DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
- const gchar *iface = dbus_message_get_interface (message);
- const gchar *member = dbus_message_get_member (message);
- const gint type = dbus_message_get_type (message);
+ const gchar *iface = dbus_message_get_interface (message);
+ const gchar *member = dbus_message_get_member (message);
+ const gint type = dbus_message_get_type (message);
DBusMessage *reply = NULL;
/* Check for basic reasons not to handle */
- if (type != DBUS_MESSAGE_TYPE_METHOD_CALL ||
+ if (type != DBUS_MESSAGE_TYPE_METHOD_CALL ||
member == NULL ||
- iface == NULL)
- return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
+ iface == NULL)
+ return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
if (!strcmp (iface, SPI_DBUS_INTERFACE_CACHE))
{
result = DBUS_HANDLER_RESULT_HANDLED;
- if (!strcmp (member, "GetItems"))
- reply = impl_GetItems (message, registry);
+ if (!strcmp (member, "GetItems"))
+ reply = impl_GetItems (message, registry);
else
- result = DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
+ result = DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
}
if (result == DBUS_HANDLER_RESULT_HANDLED)
@@ -1333,38 +1332,38 @@ handle_method_registry (DBusConnection *bus, DBusMessage *message, void *user_da
SpiRegistry *registry = SPI_REGISTRY (user_data);
DBusHandlerResult result = DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
- const gchar *iface = dbus_message_get_interface (message);
- const gchar *member = dbus_message_get_member (message);
- const gint type = dbus_message_get_type (message);
+ const gchar *iface = dbus_message_get_interface (message);
+ const gchar *member = dbus_message_get_member (message);
+ const gint type = dbus_message_get_type (message);
DBusMessage *reply = NULL;
/* Check for basic reasons not to handle */
- if (type != DBUS_MESSAGE_TYPE_METHOD_CALL ||
+ if (type != DBUS_MESSAGE_TYPE_METHOD_CALL ||
member == NULL ||
- iface == NULL)
- return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
+ iface == NULL)
+ return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
if (!strcmp (iface, SPI_DBUS_INTERFACE_REGISTRY))
{
result = DBUS_HANDLER_RESULT_HANDLED;
- if (!strcmp(member, "RegisterEvent"))
- reply = impl_RegisterEvent (message, registry);
- else if (!strcmp(member, "DeregisterEvent"))
+ if (!strcmp (member, "RegisterEvent"))
+ reply = impl_RegisterEvent (message, registry);
+ else if (!strcmp (member, "DeregisterEvent"))
reply = impl_DeregisterEvent (message, registry);
- else if (!strcmp(member, "GetRegisteredEvents"))
+ else if (!strcmp (member, "GetRegisteredEvents"))
reply = impl_GetRegisteredEvents (message, registry);
else
- result = DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
+ result = DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
}
if (!strcmp (iface, "org.freedesktop.DBus.Introspectable"))
{
result = DBUS_HANDLER_RESULT_HANDLED;
- if (!strcmp (member, "Introspect"))
- reply = impl_Introspect_registry (message, registry);
+ if (!strcmp (member, "Introspect"))
+ reply = impl_Introspect_registry (message, registry);
else
- result = DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
+ result = DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
}
if (result == DBUS_HANDLER_RESULT_HANDLED)
@@ -1383,35 +1382,32 @@ handle_method_registry (DBusConnection *bus, DBusMessage *message, void *user_da
g_print ("Registry | Unhandled message : %s|%s\n", iface, member);
}
#endif
-
+
return result;
}
/*---------------------------------------------------------------------------*/
-static DBusObjectPathVTable root_vtable =
-{
+static DBusObjectPathVTable root_vtable = {
NULL,
&handle_method_root,
NULL, NULL, NULL, NULL
};
-static DBusObjectPathVTable registry_vtable =
-{
+static DBusObjectPathVTable registry_vtable = {
NULL,
&handle_method_registry,
NULL, NULL, NULL, NULL
};
-static DBusObjectPathVTable cache_vtable =
-{
+static DBusObjectPathVTable cache_vtable = {
NULL,
&handle_method_cache,
NULL, NULL, NULL, NULL
};
static gchar *app_sig_match_name_owner =
- "type='signal', interface='org.freedesktop.DBus', member='NameOwnerChanged'";
+ "type='signal', interface='org.freedesktop.DBus', member='NameOwnerChanged'";
SpiRegistry *
spi_registry_new (DBusConnection *bus, SpiDEController *dec)
diff --git a/registryd/registry.h b/registryd/registry.h
index a66233e5..96569f2e 100644
--- a/registryd/registry.h
+++ b/registryd/registry.h
@@ -24,8 +24,8 @@
#ifndef SPI_REGISTRY_H_
#define SPI_REGISTRY_H_
-#include <glib.h>
#include <glib-object.h>
+#include <glib.h>
#include <dbus/dbus.h>
@@ -36,16 +36,17 @@ typedef struct _SpiRegistryClass SpiRegistryClass;
G_BEGIN_DECLS
-#define SPI_REGISTRY_TYPE (spi_registry_get_type ())
-#define SPI_REGISTRY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), SPI_REGISTRY_TYPE, SpiRegistry))
-#define SPI_REGISTRY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), SPI_REGISTRY_TYPE, SpiRegistryClass))
-#define SPI_IS_REGISTRY(o) (G_TYPE_CHECK__INSTANCE_TYPE ((o), SPI_REGISTRY_TYPE))
+#define SPI_REGISTRY_TYPE (spi_registry_get_type ())
+#define SPI_REGISTRY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), SPI_REGISTRY_TYPE, SpiRegistry))
+#define SPI_REGISTRY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), SPI_REGISTRY_TYPE, SpiRegistryClass))
+#define SPI_IS_REGISTRY(o) (G_TYPE_CHECK__INSTANCE_TYPE ((o), SPI_REGISTRY_TYPE))
#define SPI_IS_REGISTRY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), SPI_REGISTRY_TYPE))
-struct _SpiRegistry {
- GObject parent;
+struct _SpiRegistry
+{
+ GObject parent;
SpiDEController *dec;
- GPtrArray *apps;
+ GPtrArray *apps;
dbus_int32_t id;
DBusConnection *bus;
@@ -53,12 +54,13 @@ struct _SpiRegistry {
GList *events;
};
-struct _SpiRegistryClass {
+struct _SpiRegistryClass
+{
GObjectClass parent_class;
};
-GType spi_registry_get_type (void);
-SpiRegistry *spi_registry_new (DBusConnection *bus, SpiDEController *dec);
+GType spi_registry_get_type (void);
+SpiRegistry *spi_registry_new (DBusConnection *bus, SpiDEController *dec);
G_END_DECLS
diff --git a/registryd/ucs2keysym.c b/registryd/ucs2keysym.c
index 29a92f3e..bcc3e702 100644
--- a/registryd/ucs2keysym.c
+++ b/registryd/ucs2keysym.c
@@ -31,13 +31,14 @@
*
*/
+#include "deviceeventcontroller.h" /* for prototype */
#include <X11/X.h>
-#include "deviceeventcontroller.h" /* for prototype */
/* DO NOT UPATE BY HAND!
* This table can be regenerated from Xorg's keysymdef.h with the ucs2keysym.sh
* script. */
-struct codepair {
+struct codepair
+{
unsigned short keysym;
unsigned short ucs;
} keysymtab[] = {
@@ -823,56 +824,62 @@ struct codepair {
{ 0x0ef5, 0x3186 }, /* Hangul_YeorinHieuh ㆆ HANGUL LETTER YEORINHIEUH */
{ 0x0ef6, 0x318d }, /* Hangul_AraeA ㆍ HANGUL LETTER ARAEA */
{ 0x0ef7, 0x318e }, /* Hangul_AraeAE ㆎ HANGUL LETTER ARAEAE */
- };
+};
-long ucs2keysym (long ucs)
+long
+ucs2keysym (long ucs)
{
- int min = 0;
- int max = sizeof(keysymtab) / sizeof(struct codepair) - 1;
- int mid;
-
- /* first check for Latin-1 characters (1:1 mapping) */
- if ((ucs >= 0x0020 && ucs <= 0x007e) ||
- (ucs >= 0x00a0 && ucs <= 0x00ff))
- return ucs;
+ int min = 0;
+ int max = sizeof (keysymtab) / sizeof (struct codepair) - 1;
+ int mid;
+
+ /* first check for Latin-1 characters (1:1 mapping) */
+ if ((ucs >= 0x0020 && ucs <= 0x007e) ||
+ (ucs >= 0x00a0 && ucs <= 0x00ff))
+ return ucs;
- /* binary search in table */
- while (max >= min) {
- mid = (min + max) / 2;
- if (keysymtab[mid].ucs < ucs)
- min = mid + 1;
- else if (keysymtab[mid].ucs > ucs)
- max = mid - 1;
- else {
- /* found it */
- return keysymtab[mid].keysym;
- }
+ /* binary search in table */
+ while (max >= min)
+ {
+ mid = (min + max) / 2;
+ if (keysymtab[mid].ucs < ucs)
+ min = mid + 1;
+ else if (keysymtab[mid].ucs > ucs)
+ max = mid - 1;
+ else
+ {
+ /* found it */
+ return keysymtab[mid].keysym;
+ }
}
- /* no matching keysym value found, return UCS2 with bit set */
- return ucs | 0x01000000;
+ /* no matching keysym value found, return UCS2 with bit set */
+ return ucs | 0x01000000;
}
-long keysym2ucs(long keysym)
+long
+keysym2ucs (long keysym)
{
- int i;
+ int i;
- /* first check for Latin-1 characters (1:1 mapping) */
- if ((keysym >= 0x0020 && keysym <= 0x007e) ||
- (keysym >= 0x00a0 && keysym <= 0x00ff))
- return (long) keysym;
+ /* first check for Latin-1 characters (1:1 mapping) */
+ if ((keysym >= 0x0020 && keysym <= 0x007e) ||
+ (keysym >= 0x00a0 && keysym <= 0x00ff))
+ return (long) keysym;
- /* also check for directly encoded 24-bit UCS characters */
- if ((keysym & 0xff000000) == 0x01000000)
- return keysym & 0x00ffffff;
+ /* also check for directly encoded 24-bit UCS characters */
+ if ((keysym & 0xff000000) == 0x01000000)
+ return keysym & 0x00ffffff;
- for (i = 0; i < sizeof(keysymtab) / sizeof(keysymtab[0]); i++) {
- if (keysymtab[i].keysym == keysym) {
- /* found it */
- return keysymtab[i].ucs;
- }
+ for (i = 0; i < sizeof (keysymtab) / sizeof (keysymtab[0]); i++)
+ {
+ if (keysymtab[i].keysym == keysym)
+ {
+ /* found it */
+ return keysymtab[i].ucs;
+ }
}
- /* no matching Unicode value found */
- return -1;
+ /* no matching Unicode value found */
+ return -1;
}