if (aGEK->state & GDK_CONTROL_MASK)
if ((aGEK->state & GDK_CONTROL_MASK) || (aGEK->state & GDK_MOD1_MASK))
PRUint32 nsConvertCharCodeToUnicode(GdkEventKey* aGEK){  if (aGEK->state & GDK_CONTROL_MASK)  {    if (isprint(aGEK->string[0]) && !isalpha(aGEK->string[0]))      return aGEK->string[0];    // For alphabetic control chars, GDK sets string to be the    // actual ascii value; it doesn't do this for numeric or    // other printable characters.    // So we have to map back to the actual character.    if (aGEK->state & GDK_SHIFT_MASK)      return aGEK->string[0] + 'A' - 1;    else      return aGEK->string[0] + 'a' - 1;  }  // For now (obviously this will need to change for IME),  // only set a char code if the result is printable:  if (!isprint(aGEK->string[0]))    return 0;  // ALT keys in gdk give the upper case character in string,  // but we want the lower case char in char code  // unless shift was also pressed.  if (((aGEK->state & GDK_MOD1_MASK))      && !(aGEK->state & GDK_SHIFT_MASK)      && isupper(aGEK->string[0]))    return tolower(aGEK->string[0]);  //  // placeholder for something a little more interesting and correct  //  return aGEK->string[0];}