gpt4 book ai didi

unicode - 如何将 X11 KeySym 映射到 Unicode 字符?

转载 作者:行者123 更新时间:2023-12-04 18:49:04 25 4
gpt4 key购买 nike

这是 this question 的完全相同的副本;然而,在接受的答案中链接的代码已经有将近 11 年的历史了,代码中的这条评论导致了我的重复问题:

The keysym -> UTF-8 conversion will hopefully one day be provided by Xlib via XmbLookupString() and should ideally not have to be done in X applications. But we are not there yet.



我们到了吗?我知道 XwcLookupString ,但类似...
wchar_t unicode = XKeySymToWideChar( keysym );

...将更简单和合乎逻辑,并且在添加或更改 KeySyms 时不需要更新。

X11/Xlib 中是否有一个简单的函数可以将 KeySym 映射到其 Unicode 等效项?

最佳答案

接受的答案不正确,建议的源代码也不是标准和可靠的方式。由于键盘布局超出了最初的 X11 范围,因此添加在 xkb 中实现,即“X 键盘扩展”,大约在 1996 年添加,并且已经存在了很长时间。

XKB_EXPORT uint32_t
xkb_keysym_to_utf32(xkb_keysym_t keysym)

XKB_EXPORT int
xkb_keysym_to_utf8(xkb_keysym_t keysym, char *buffer, size_t size)
是您需要的功能。 utf-8 版本内部使用的是 utf-32 的,但是你使用你需要的那个。

关于unicode - 如何将 X11 KeySym 映射到 Unicode 字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8970098/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com