XLookupString不检测2字节的char语言

时间:2016-09-28 08:04:19

标签: c++ linux x11 xlib

我正在使用X11库,当我更改键盘语言时(例如俄语)我无法检测到2个字节的字符串:“ф” 我应该如何更改这部分代码:

XEvent  ev;
if(ev.type==EVENT_KEY_RELEASE  || ev.type==EVENT_KEY_PRESS){
    XLookupString(KeyEvent,&cChar,1,&keysym,NULL);
}

这部分正常用于英语,但是对于俄语cChar是空的,我应该使用其他函数而不是XLookupString吗?

1 个答案:

答案 0 :(得分:3)

对于非拉丁字符,您应该使用XmbLookupStringXwcLookupStringXutf8LookupString中的一个来查看here了解详细信息。