From: Emmanuele Bassi Date: Mon, 11 Jun 2007 09:02:28 +0000 (+0000) Subject: Use a full enum for the modifier masks X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a8c3d1652b2089b5ac3bc388ab153f7b3a4f1de2;p=profile%2Fivi%2Fclutter.git Use a full enum for the modifier masks --- diff --git a/clutter/clutter-event.c b/clutter/clutter-event.c index f579927..aac9674 100644 --- a/clutter/clutter-event.c +++ b/clutter/clutter-event.c @@ -247,15 +247,19 @@ guint32 clutter_key_event_unicode (ClutterKeyEvent *keyev) { g_return_val_if_fail (keyev != NULL, 0); - - return clutter_keysym_to_unicode (keyev->keyval); + + if ((keyev->modifier_state & CLUTTER_SHIFT_MASK) || + (keyev->modifier_state & CLUTTER_LOCK_MASK)) + return g_unichar_toupper (clutter_keysym_to_unicode (keyev->keyval)); + else + return clutter_keysym_to_unicode (keyev->keyval); } /** * clutter_keysym_to_unicode: * @keyval: a clutter key symbol * - * Convert from a GDK key symbol to the corresponding ISO10646 (Unicode) + * Convert from a Clutter key symbol to the corresponding ISO10646 (Unicode) * character. * * Return value: the corresponding unicode character, or 0 if there diff --git a/clutter/clutter-event.h b/clutter/clutter-event.h index 5282f9f..5ec8d5f 100644 --- a/clutter/clutter-event.h +++ b/clutter/clutter-event.h @@ -34,15 +34,21 @@ G_BEGIN_DECLS -enum -{ - /* Map to xlibs masks */ - CLUTTER_BUTTON1_MASK = (1 << 8), - CLUTTER_BUTTON2_MASK = (1 << 9), - CLUTTER_BUTTON3_MASK = (1 << 10), - CLUTTER_BUTTON4_MASK = (1 << 11), - CLUTTER_BUTTON5_MASK = (1 << 12) -}; +typedef enum { + CLUTTER_SHIFT_MASK = 1 << 0, + CLUTTER_LOCK_MASK = 1 << 1, + CLUTTER_CONTROL_MASK = 1 << 2, + CLUTTER_MOD1_MASK = 1 << 3, + CLUTTER_MOD2_MASK = 1 << 4, + CLUTTER_MOD3_MASK = 1 << 5, + CLUTTER_MOD4_MASK = 1 << 6, + CLUTTER_MOD5_MASK = 1 << 7, + CLUTTER_BUTTON1_MASK = 1 << 8, + CLUTTER_BUTTON2_MASK = 1 << 9, + CLUTTER_BUTTON3_MASK = 1 << 10, + CLUTTER_BUTTON4_MASK = 1 << 11, + CLUTTER_BUTTON5_MASK = 1 << 12 +} ClutterModifierType; typedef enum {