微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何获取 McCLIM 的光标位置

如何解决如何获取 McCLIM 的光标位置

我正在尝试为 mcclim 添加输入法支持,以便它可以使用 fcitx 等输入法客户端在 mcclim 中输入 CJK。

为了更好地绘制fcitx,我想在文本编辑区域改变时获取光标位置。

看起来像这样:

enter image description here

我找到了一个叫做 const txt = await PDFNet.TextExtractor.create(); const rect = await PDFNet.Rect.init(99.98378847999993,1555.54,180,1574.7627664); await txt.begin(firstPage,rect); // Read the page. //Extract words one by one. let line = await txt.getFirstLine(); for (; (await line.isValid()); line = (await line.getNextLine())) { for (let word = await line.getFirstWord(); (await word.isValid()); word = (await word.getNextWord())) { const text = await word.getString(); console.log(text); } } 的东西,但我不知道如何让 cursor-position/stream-cursor-position 当前专注于。我试过 cursor/stream,但失败了。

我怎么能这样做?

解决方法

我知道您没有使用 libx11,但我只想向您展示 libX11 如何做到这一点。

基本上这是由协议中的 XIM_SET_IC_VALUES 完成的。预编辑属性嵌套值中的点位置值。

该点只是一个 X 点 (x,y)。尽管如此,该点还是焦点窗口的相对坐标。焦点窗口也是ic vlaues的一部分,属性名为XNFocusWindow。

如果不设置焦点窗口,则通过 XCreateIC 的客户端窗口将用作焦点窗口。

    XVaNestedList preedit_attr;
    preedit_attr = XVaCreateNestedList(0,XNSpotLocation,&nspot,NULL);
    XSetICValues(ic,XNPreeditAttributes,preedit_attr,NULL);
    XFree(preedit_attr);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。