1
0
Fork 0

Use a full enum for the modifier masks

This commit is contained in:
Emmanuele Bassi 2007-06-11 09:02:28 +00:00
parent 5997230fb2
commit a8c3d1652b
2 changed files with 22 additions and 12 deletions

View file

@ -247,15 +247,19 @@ guint32
clutter_key_event_unicode (ClutterKeyEvent *keyev) clutter_key_event_unicode (ClutterKeyEvent *keyev)
{ {
g_return_val_if_fail (keyev != NULL, 0); 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: * clutter_keysym_to_unicode:
* @keyval: a clutter key symbol * @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. * character.
* *
* Return value: the corresponding unicode character, or 0 if there * Return value: the corresponding unicode character, or 0 if there

View file

@ -34,15 +34,21 @@
G_BEGIN_DECLS G_BEGIN_DECLS
enum typedef enum {
{ CLUTTER_SHIFT_MASK = 1 << 0,
/* Map to xlibs masks */ CLUTTER_LOCK_MASK = 1 << 1,
CLUTTER_BUTTON1_MASK = (1 << 8), CLUTTER_CONTROL_MASK = 1 << 2,
CLUTTER_BUTTON2_MASK = (1 << 9), CLUTTER_MOD1_MASK = 1 << 3,
CLUTTER_BUTTON3_MASK = (1 << 10), CLUTTER_MOD2_MASK = 1 << 4,
CLUTTER_BUTTON4_MASK = (1 << 11), CLUTTER_MOD3_MASK = 1 << 5,
CLUTTER_BUTTON5_MASK = (1 << 12) 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 typedef enum
{ {