// Unicodes for chinese traditional new phonetic static int const TradNewPhoneticKeyCodesA[][3] = { {'A', 0x3107, 0}, /* 0: first row, 1: second row and so on */ {'B', 0x3116, 0}, {'C', 0x310F, 0}, {'D', 0x310E, 0}, {'E', 0x310D, 0}, {'F', 0x3111, 0}, {'G', 0x3115, 0}, {'H', 0x3118, 0}, {'I', 0x311B, 2}, {'J', 0x3128, 1}, {'K', 0x311C, 2}, {'L', 0x3120, 2}, {'M', 0x3129, 1}, {'N', 0x3125, 0}, {'O', 0x311F, 2}, {'P', 0x3123, 2}, {'Q', 0x3106, 0}, {'R', 0x3110, 0}, {'S', 0x310B, 0}, {'T', 0x3114, 0}, {'U', 0x3127, 1}, {'V', 0x3112, 0}, {'W', 0x310A, 0}, {'X', 0x310C, 0}, {'Y', 0x3117, 0}, {'Z', 0x3108, 0}, {'1', 0x3105, 0}, {'2', 0x3109, 0}, {'3', 0x02C7, 3}, {'4', 0x02CB, 3}, {'5', 0x3113, 0}, {'6', 0x02CA, 3}, {'7', 0x02D9, 3}, {'8', 0x311A, 2}, {'9', 0x311E, 2}, {'0', 0x3122, 2}, {',', 0x311D, 2}, {'.', 0x3121, 2}, {'/', 0x3125, 2}, {';', 0x3124, 2}, {'-', 0x3126, 2}, }; // NewCangJie Unicodes static int const NewCangJieKeyCodes[][2] = { {'A', 0x65E5 }, {'B', 0x6708}, {'C', 0x91D1 }, {'D', 0x6728}, {'E', 0x6c34 }, {'F', 0x706B}, {'G', 0x571F }, {'H', 0x7AF9}, {'I', 0x6208 }, {'J', 0x5341}, {'K', 0x5927 }, {'L', 0x4E2D}, {'M', 0x4E00 }, {'N', 0x5F13}, {'O', 0x4EBA }, {'P', 0x5FC3}, {'Q', 0x624B }, {'R', 0x53E3}, {'S', 0x5C38 }, {'T', 0x5EFF}, {'U', 0x5C71 }, {'V', 0x5973}, {'W', 0x7530}, {'X', 0x96E3}, {'Y', 0x535C}, {'Z', 'Z' }, };