XLookupString 不检测 2 字节字符语言

XLookupString does not detect 2 byte char language

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

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

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

对于非拉丁字符,您应该使用 XmbLookupStringXwcLookupStringXutf8LookupString 之一,详情请参阅 manual page