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 吗?
对于非拉丁字符,您应该使用 XmbLookupString
、XwcLookupString
或 Xutf8LookupString
之一,详情请参阅 manual page。
我正在使用 X11 库,当我更改键盘语言(例如俄语)时,我无法检测到这样的 2 字节字符:“ф” 我应该如何更改这部分代码:
XEvent ev;
if(ev.type==EVENT_KEY_RELEASE || ev.type==EVENT_KEY_PRESS){
XLookupString(KeyEvent,&cChar,1,&keysym,NULL);
}
这部分对于英语可以正常工作,但对于俄语 cChar 是空的,我应该使用其他函数而不是 XLookupString 吗?
对于非拉丁字符,您应该使用 XmbLookupString
、XwcLookupString
或 Xutf8LookupString
之一,详情请参阅 manual page。