to indicate whether the event's 'event_string' or 'keystring' member is
the name of a keysym, or a composed string.
git-svn-id: http://svn.gnome.org/svn/at-spi/trunk@189
e2bd861d-eb25-0410-b326-
f6ed22b6b98c
2001-12-17 Bill Haneman <bill.haneman@sun.com>
+ * idl/Accessibility_Registry.idl:
+ Added boolean member 'is_text' to DeviceEvent. This is for the
+ use of key events, and helps prevent ambiguity between composed
+ key strings and keysym names, since both may potentially be
+ returned in the 'event_string' member.
+
+ * at-bridge/bridge.c:
+ * registryd/deviceeventcontroller.c:
+ Use the 'is_text' member when notifying device event listeners.
+ Knon issue: composed characters are not dealt with correctly by
+ the global key listener implementation yet.
+
+2001-12-17 Bill Haneman <bill.haneman@sun.com>
+
* at-bridge/bridge.c:
Namespaced local static methods to spi_atk_bridge_* where
previously named bridge_*, and spi_* elsewhere.
if (event->string)
{
keystroke->event_string = CORBA_string_dup (event->string);
+ keystroke->is_text = CORBA_TRUE;
}
else
{
keystroke->event_string = CORBA_string_dup ("");
+ keystroke->is_text = CORBA_FALSE;
}
switch (event->type)
{
if (event->string)
{
keystroke->event_string = CORBA_string_dup (event->string);
+ keystroke->is_text = CORBA_TRUE;
}
else
{
keystroke->event_string = CORBA_string_dup ("");
+ keystroke->is_text = CORBA_FALSE;
}
switch (event->type)
{
long timestamp;
AccessibleKeyEventType type;
unsigned short modifiers;
+ SPIBoolean is_text;
} AccessibleKeystroke;
/*
unsigned short modifiers;
unsigned long timestamp;
string event_string;
+ boolean is_text;
};
typedef sequence< long > KeySet;
key_event.type = Accessibility_KEY_RELEASED;
}
key_event.modifiers = (CORBA_unsigned_short)(x_key_event->state);
-
+ key_event.is_text = CORBA_FALSE;
switch (keysym)
{
case ' ':
if (XLookupString (x_key_event, cbuf, cbuf_bytes, &keysym, NULL) > 0)
{
key_event.event_string = CORBA_string_dup (cbuf);
+ if (isgraph (keysym))
+ {
+ key_event.is_text = CORBA_TRUE; /* FIXME: incorrect for some composed chars? */
+ }
}
else
{