本文整理汇总了C++中HIME_module_main_functions::mf_send_utf8_ch方法的典型用法代码示例。如果您正苦于以下问题:C++ HIME_module_main_functions::mf_send_utf8_ch方法的具体用法?C++ HIME_module_main_functions::mf_send_utf8_ch怎么用?C++ HIME_module_main_functions::mf_send_utf8_ch使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类HIME_module_main_functions
的用法示例。
在下文中一共展示了HIME_module_main_functions::mf_send_utf8_ch方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: module_feedkey
gboolean module_feedkey(int key, int kvstate)
{
int i;
#if 0
if (key <= XK_KP_9 && key >= XK_KP_0)
key -= XK_KP_0 - '0';
#endif
key=toupper(key);
if (key==XK_BackSpace||key==XK_Delete) {
#if WIN32
if (*gmf.mf_test_mode)
return intcode_cin>0;
#endif
if (intcode_cin)
intcode_cin--;
else
return 0;
goto dispIn;
}
else
if ((key<'0'||key>'F'||(key>'9' && key<'A')) && (key!=' ')){
return 0;
}
if (current_intcode==INTCODE_BIG5) {
if (intcode_cin==0 && key<'8')
return 1;
if (intcode_cin==1 && inch[0]=='F' && key=='F')
return 1;
if (intcode_cin==2 && (key<'4' || (key>'7' && key<'A')))
return 1;
if (intcode_cin==3 && (inch[2]=='7'||inch[2]=='F') && key=='F')
return 1;
}
if (!intcode_cin && key==' ')
return 0;
#if WIN32
if (*gmf.mf_test_mode)
return 1;
#endif
if ((intcode_cin<MAX_INTCODE-1 || (current_intcode!=INTCODE_BIG5 && intcode_cin < MAX_INTCODE)) && key!=' ')
inch[intcode_cin++]=key;
dispIn:
clear_int_code_all();
#if 1
if (intcode_cin)
module_show_win();
#endif
for(i=0;i<intcode_cin;i++) {
disp_int(i, _(dstr[h2i(inch[i])]));
}
if ((current_intcode==INTCODE_BIG5 && intcode_cin==4 ||
current_intcode==INTCODE_UTF32 && intcode_cin==6) &&
*gmf.mf_gtab_press_full_auto_send || key==' ') {
u_char utf8[CH_SZ+1];
if (current_intcode==INTCODE_BIG5) {
u_char ttt[3];
ttt[2]=ttt[3]=0;
ttt[0]=(h2i(inch[0])<<4)+h2i(inch[1]);
ttt[1]=(h2i(inch[2])<<4)+h2i(inch[3]);
big5_utf8((char *)ttt, (char *)utf8);
} else {
int i;
u_int v = 0;
for(i=0; i < intcode_cin; i++) {
v <<= 4;
v |= h2i(inch[i]);
}
utf32to8((char *)utf8, (char *)&v);
}
gmf.mf_send_utf8_ch((char *)utf8);
intcode_cin=0;
clear_int_code_all();
}
return 1;
}