当前位置: 首页>>代码示例>>C++>>正文


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怎么用?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;
}
开发者ID:CarterTsai,项目名称:hime,代码行数:88,代码来源:intcode.cpp


注:本文中的HIME_module_main_functions::mf_send_utf8_ch方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。