if (State & KC_CHAR) 
{
  BYTE Character = CHAR1FROMMP (Message->mp2);                                 /*  "IBM-x", "Shift_JIS", "EUC-KR", "UTF-8"  */
}
else
{
  ...                                                                          /*  "<Ctrl>", "<Alt>", "<Tab>", "<Esc>", ... */
}