weasel
weasel copied to clipboard
在《堡垒之夜》(Fortnite)里无法完整使用小狼毫
操作系统信息
- OS 详细版本: Windows 10 22H2 19045.3570
- 小狼毫版本: 0.15.0.0
描述遇到的问题 也不知道哪次《堡垒之夜》或者是小狼毫的更新之后,现在游戏里面不再是进游戏前就报错(#740),而是可以在游戏里面进行输入操作了,但这个输入是看不到任何的提示的,就是一种盲打的状态,没有候选词查看框,只是最后能够将字打出来。
复现步骤 重现问题的步骤,如:
- 打开 《堡垒之夜》软件
- 输入 '任何中文'
- 进行 '任何文字输入' 操作
- 遇到了 '无法显示候选词框' 问题
预期行为 修复问题,在游戏里让输入法表现正常,能显示候选框
魔兽争霸3也无法使用小狼毫输入法,症状表现是,切换到小狼毫输入法后,输入的任何字符与没切换时的状态没区别,输出的都是西文原字符。
更新:《堡垒之夜》26.30版本(也就是目前最新版),小狼毫的使用体验和楼上所述的症状一致,只能输出英文字符,无法输出中文,不仅仅是我主题贴中看不到候选框的问题。
魔兽争霸3也无法使用小狼毫输入法,症状表现是,切换到小狼毫输入法后,输入的任何字符与没切换时的状态没区别,输出的都是西文原字符。
我测试的可以在《魔兽争霸3》中正常输入,只是游戏是早期开发的,有些字符不支持。这个游戏支持无UI模式,游戏自己绘制候选框。
请测试一下这个版本,安装完成后需注销一下系统。 weasel-0.15.1.0_x64.exe
请测试一下这个版本,安装完成后需注销一下系统。 https://github.com/Techince/weasel/releases/download/weasel-0.15.1.0_x64/weasel-0.15.1.0-installer_x64.exe
用了这个版本,,魔兽3可以正常输入汉字了,但是候选框不跟随光标,固定在右下方出现。
请测试一下这个版本,安装完成后需注销一下系统。 https://github.com/Techince/weasel/releases/download/weasel-0.15.1.0_x64/weasel-0.15.1.0-installer_x64.exe
用了这个版本,,魔兽3可以正常输入汉字了,但是候选框不跟随光标,固定在右下方出现。
![]()
我电脑上测试的候选框跟随是正常的。你看看游戏是不是少打补丁了,或者输入法安装完成后需要注销一下系统。
估计你需要改变下候选框样式,使用inline_preedit: true模式。
请测试一下这个版本,安装完成后需注销一下系统。 https://github.com/Techince/weasel/releases/download/weasel-0.15.1.0_x64/weasel-0.15.1.0-installer_x64.exe
用了这个版本,,魔兽3可以正常输入汉字了,但是候选框不跟随光标,固定在右下方出现。
![]()
你可以看下游戏版本:
这是我的版本,输入法一切正常。
请测试一下这个版本,安装完成后需注销一下系统。 https://github.com/Techince/weasel/releases/download/weasel-0.15.1.0_x64/weasel-0.15.1.0-installer_x64.exe
用了这个版本,,魔兽3可以正常输入汉字了,但是候选框不跟随光标,固定在右下方出现。
![]()
你可以看下游戏版本:
这是我的版本,输入法一切正常。
我的是1.27a
请测试一下这个版本,安装完成后需注销一下系统。 https://github.com/Techince/weasel/releases/download/weasel-0.15.1.0_x64/weasel-0.15.1.0-installer_x64.exe
用了这个版本,,魔兽3可以正常输入汉字了,但是候选框不跟随光标,固定在右下方出现。
![]()
你可以看下游戏版本:
这是我的版本,输入法一切正常。
我的是1.27a
看你的截图,游戏没有接管小狼毫的候选框绘制,但接管了搜狗输入法的候选框绘制。是不是输入法Style设置不正确呢? 我测试的设置用了inline_preedit: true风格 刚才又测试了下,就算是inline_preedit: false风格,游戏也是可以接管绘制的。 托盘输入法图标右键菜单有个「光标跟随」的选项,进游戏中,按「Win」键,右击图标设置不跟随可以自由拖动候选框位置。
看上文的沟通记录,需要注意的是这个更多的是uiless 模式的检查触发问题。正常的响应应该是交由游戏自行绘制,如果发现有未触发uiless,应该对应检查执行逻辑是否正常运行,或者是否应用声明uiless的方式是不是有特殊情况。建议不用检查小狼毫ui本身绘制的部分,触发uiless 由应用绘制才是这个情况下的正常状态。
无论inline_preedit是true还是false,都不能改变候选栏在右下方出现的情况。 即便重启电脑,第一时间切换成小狼毫输入法,依旧如此。
![]()
![]()
无论inline_preedit是true还是false,都不能改变候选栏在右下方出现的情况。 即便重启电脑,第一时间切换成小狼毫输入法,依旧如此。
刚才测试了一下,操作系统切换到Win10,游戏就不会接管输入法的候选框绘制任务,它的候选框坐标会出现在错误的位置。而Win11下却没有此问题。抽个时间在Win10下跟踪调试一下,看看出了什么问题
已经调试过了,操作系统的问题。小狼毫在Win11下,游戏可以正常接管绘制工作,但在Win10下却不能正常接管。微软拼音在Win10下也存在同样的问题,而小狼毫是根据微软的公开文档开发的,这个暂时没有办法解决。建议将系统换成Win11
这个结论下的有点早了,还是有希望修复的。和冰凌作者、梁梁交流后,已有大致的解决方案。明天进行测试。
@kidzgy 有时间测试一下Win10下的War3,还是那个下载链接。Win10系统的TSF不太完善,老游戏有可能检测不到UILess Mode, 遇到类似的情况,需要提交下游戏名字,将它们硬编码进代码里。
@kidzgy 有时间测试一下Win10下的War3,还是那个下载链接。Win10系统的TSF不太完善,老游戏有可能检测不到UILess Mode, 遇到类似的情况,需要提交下游戏名字,将它们硬编码进代码里。
还是 https://github.com/Techince/weasel/releases/download/weasel-0.15.1.0_x64/weasel-0.15.1.0-installer_x64.exe 是吧?试了一下,没有任何改变。
@kidzgy 有时间测试一下Win10下的War3,还是那个下载链接。Win10系统的TSF不太完善,老游戏有可能检测不到UILess Mode, 遇到类似的情况,需要提交下游戏名字,将它们硬编码进代码里。
还是 https://github.com/Techince/weasel/releases/download/weasel-0.15.1.0_x64/weasel-0.15.1.0-installer_x64.exe 是吧?试了一下,没有任何改变。
安装完后需要注销一下才会生效。不然有焦点的程序占用了输入法模块,不注销系统,新的模块不会被替换。
@kidzgy 有时间测试一下Win10下的War3,还是那个下载链接。Win10系统的TSF不太完善,老游戏有可能检测不到UILess Mode, 遇到类似的情况,需要提交下游戏名字,将它们硬编码进代码里。
还是 https://github.com/Techince/weasel/releases/download/weasel-0.15.1.0_x64/weasel-0.15.1.0-installer_x64.exe 是吧?试了一下,没有任何改变。
安装完后需要注销一下才会生效。不然有焦点的程序占用了输入法模块,不注销系统,新的模块不会被替换。
我很确定,安装完后重启过了,还是一样的情况。
@kidzgy 有时间测试一下Win10下的War3,还是那个下载链接。Win10系统的TSF不太完善,老游戏有可能检测不到UILess Mode, 遇到类似的情况,需要提交下游戏名字,将它们硬编码进代码里。
还是 https://github.com/Techince/weasel/releases/download/weasel-0.15.1.0_x64/weasel-0.15.1.0-installer_x64.exe 是吧?试了一下,没有任何改变。
安装完后需要注销一下才会生效。不然有焦点的程序占用了输入法模块,不注销系统,新的模块不会被替换。
我很确定,安装完后重启过了,还是一样的情况。
这是Win10下测试的视频: https://github.com/rime/weasel/assets/12376669/878f1fa6-7b3a-48c9-98c0-791d46c3e427
我又上传了个新文件,再试试新文件。 我在Win10下测试是正常的,游戏可以接管绘制工作
@kidzgy 有时间测试一下Win10下的War3,还是那个下载链接。Win10系统的TSF不太完善,老游戏有可能检测不到UILess Mode, 遇到类似的情况,需要提交下游戏名字,将它们硬编码进代码里。
还是 https://github.com/Techince/weasel/releases/download/weasel-0.15.1.0_x64/weasel-0.15.1.0-installer_x64.exe 是吧?试了一下,没有任何改变。
安装完后需要注销一下才会生效。不然有焦点的程序占用了输入法模块,不注销系统,新的模块不会被替换。
我很确定,安装完后重启过了,还是一样的情况。
这是Win10下测试的视频: https://github.com/rime/weasel/assets/12376669/878f1fa6-7b3a-48c9-98c0-791d46c3e427
我又上传了个新文件,再试试新文件。 我在Win10下测试是正常的,游戏可以接管绘制工作
我不确定是哪里出了问题,再测试了一下,还是一样,没有改善。
我的win10版本是10.0.19044.1741,魔兽版本是1.27a。
我下载了你的最新文件,双击后,提示有旧版本先卸载,我点确定,然后重新安装,最后重启。 重启完进入电脑,运行war3.exe,在局域网创建地图,切换到小狼毫输入法后,随便输入文字,弹出的候选框依旧固定显示在右下角,而且可以看到候选框是有皮肤的,即游戏并没有接管输入法的绘制。 inline_preedit无论是true还是false都是一样,没有改善。
我下载最新的文件为: SHA-1: 09550A916B91A229FC0D0B428E1636FB79AC5C87 SHA-256: B9B71EB35BA7D5911BBC160CDB48B7F33077FDF74851C7E57BEB4B687754F6B6
@kidzgy 有时间测试一下Win10下的War3,还是那个下载链接。Win10系统的TSF不太完善,老游戏有可能检测不到UILess Mode, 遇到类似的情况,需要提交下游戏名字,将它们硬编码进代码里。
还是 https://github.com/Techince/weasel/releases/download/weasel-0.15.1.0_x64/weasel-0.15.1.0-installer_x64.exe 是吧?试了一下,没有任何改变。
安装完后需要注销一下才会生效。不然有焦点的程序占用了输入法模块,不注销系统,新的模块不会被替换。
我很确定,安装完后重启过了,还是一样的情况。
这是Win10下测试的视频: https://github.com/rime/weasel/assets/12376669/878f1fa6-7b3a-48c9-98c0-791d46c3e427 我又上传了个新文件,再试试新文件。 我在Win10下测试是正常的,游戏可以接管绘制工作
我不确定是哪里出了问题,再测试了一下,还是一样,没有改善。
我的win10版本是10.0.19044.1741,魔兽版本是1.27a。
我下载了你的最新文件,双击后,提示有旧版本先卸载,我点确定,然后重新安装,最后重启。 重启完进入电脑,运行war3.exe,在局域网创建地图,切换到小狼毫输入法后,随便输入文字,弹出的候选框依旧固定显示在右下角,而且可以看到候选框是有皮肤的,即游戏并没有接管输入法的绘制。 inline_preedit无论是true还是false都是一样,没有改善。
我下载最新的文件为: SHA-1: 09550A916B91A229FC0D0B428E1636FB79AC5C87 SHA-256: B9B71EB35BA7D5911BBC160CDB48B7F33077FDF74851C7E57BEB4B687754F6B6
你查下游戏目录中的「War3.exe」,大小写是否和我输入一一致?如果不一致,先改成别的名字,再将其改成我输入的那个名字,大小写一定要一致,硬编码时是字符串比较,没有忽略大小写
@kidzgy 有时间测试一下Win10下的War3,还是那个下载链接。Win10系统的TSF不太完善,老游戏有可能检测不到UILess Mode, 遇到类似的情况,需要提交下游戏名字,将它们硬编码进代码里。
还是 https://github.com/Techince/weasel/releases/download/weasel-0.15.1.0_x64/weasel-0.15.1.0-installer_x64.exe 是吧?试了一下,没有任何改变。
安装完后需要注销一下才会生效。不然有焦点的程序占用了输入法模块,不注销系统,新的模块不会被替换。
我很确定,安装完后重启过了,还是一样的情况。
这是Win10下测试的视频: https://github.com/rime/weasel/assets/12376669/878f1fa6-7b3a-48c9-98c0-791d46c3e427 我又上传了个新文件,再试试新文件。 我在Win10下测试是正常的,游戏可以接管绘制工作
我不确定是哪里出了问题,再测试了一下,还是一样,没有改善。 我的win10版本是10.0.19044.1741,魔兽版本是1.27a。 我下载了你的最新文件,双击后,提示有旧版本先卸载,我点确定,然后重新安装,最后重启。 重启完进入电脑,运行war3.exe,在局域网创建地图,切换到小狼毫输入法后,随便输入文字,弹出的候选框依旧固定显示在右下角,而且可以看到候选框是有皮肤的,即游戏并没有接管输入法的绘制。 inline_preedit无论是true还是false都是一样,没有改善。 我下载最新的文件为: SHA-1: 09550A916B91A229FC0D0B428E1636FB79AC5C87 SHA-256: B9B71EB35BA7D5911BBC160CDB48B7F33077FDF74851C7E57BEB4B687754F6B6
你查下游戏目录中的「War3.exe」,大小写是否和我输入一一致?如果不一致,先改成别的名字,再将其改成我输入的那个名字,大小写一定要一致,硬编码时是字符串比较,没有忽略大小写
War3.exe 是这个文件名,首个字母是大写,其他都是小写。
@kidzgy 有时间测试一下Win10下的War3,还是那个下载链接。Win10系统的TSF不太完善,老游戏有可能检测不到UILess Mode, 遇到类似的情况,需要提交下游戏名字,将它们硬编码进代码里。
还是 https://github.com/Techince/weasel/releases/download/weasel-0.15.1.0_x64/weasel-0.15.1.0-installer_x64.exe 是吧?试了一下,没有任何改变。
安装完后需要注销一下才会生效。不然有焦点的程序占用了输入法模块,不注销系统,新的模块不会被替换。
我很确定,安装完后重启过了,还是一样的情况。
这是Win10下测试的视频: https://github.com/rime/weasel/assets/12376669/878f1fa6-7b3a-48c9-98c0-791d46c3e427 我又上传了个新文件,再试试新文件。 我在Win10下测试是正常的,游戏可以接管绘制工作
我不确定是哪里出了问题,再测试了一下,还是一样,没有改善。 我的win10版本是10.0.19044.1741,魔兽版本是1.27a。 我下载了你的最新文件,双击后,提示有旧版本先卸载,我点确定,然后重新安装,最后重启。 重启完进入电脑,运行war3.exe,在局域网创建地图,切换到小狼毫输入法后,随便输入文字,弹出的候选框依旧固定显示在右下角,而且可以看到候选框是有皮肤的,即游戏并没有接管输入法的绘制。 inline_preedit无论是true还是false都是一样,没有改善。 我下载最新的文件为: SHA-1: 09550A916B91A229FC0D0B428E1636FB79AC5C87 SHA-256: B9B71EB35BA7D5911BBC160CDB48B7F33077FDF74851C7E57BEB4B687754F6B6
你查下游戏目录中的「War3.exe」,大小写是否和我输入一一致?如果不一致,先改成别的名字,再将其改成我输入的那个名字,大小写一定要一致,硬编码时是字符串比较,没有忽略大小写
War3.exe 是这个文件名,首个字母是大写,其他都是小写。
那应该没问题了。QQ群里另外一位网友也测试过了,可以正常接管绘制工作
我用另外一台电脑测试,还是一样结果,没有看到改善。我实在不知道是哪里出了问题。
kidzgy
你看下「Windows\SysWoW64\weasel.dll」文件的修改时间是不是2023/11/6 14:51,这个文件是影响能否识别出游戏支持UILess Mode的。
kidzgy
你看下「Windows\SysWoW64\weasel.dll」文件的修改时间是不是2023/11/6 14:51,这个文件是影响能否识别出游戏支持UILess Mode的。
是这个时间。
kidzgy
你看下「Windows\SysWoW64\weasel.dll」文件的修改时间是不是2023/11/6 14:51,这个文件是影响能否识别出游戏支持UILess Mode的。
是这个时间。
稍等,我编译个带日志的文件,发给你,在游戏中打几个字,输入法切换到别的输入法,然后退出游戏。打开「%temp%\rime*」开头的日志文件,发到这里看看是什么情况
kidzgy
你看下「Windows\SysWoW64\weasel.dll」文件的修改时间是不是2023/11/6 14:51,这个文件是影响能否识别出游戏支持UILess Mode的。
是这个时间。
文件下载地址:https://github.com/Techince/weasel/releases/download/weasel-0.15.1.0_x64/weasel.dll 将「Windows\SysWoW64\」目录下的weasel.dll改成weasel.dll.bak,然后将下载的文件放到此目录。此时输入法先切换到别的,进游戏后,切换回来,打几个字,再次切换成别的输入法,退出游戏。查看日志文件,日志文件是在「%temp%」目录下「TextServiceFramework.log.*」开头的文件,上个回复写错日志文件名了。
Desktop.zip rime.weasel* 这个是重新部署后生成的, TextServiceFramework.log 这个似乎才是切换输入法时生成的
Desktop.zip rime.weasel* 这个是重新部署后生成的, TextServiceFramework.log 这个似乎才是切换输入法时生成的
文件下载不了哇,你把日志文件的主机名去掉,贴一段日志上来吧。压缩包下不了
Desktop.zip rime.weasel* 这个是重新部署后生成的, TextServiceFramework.log 这个似乎才是切换输入法时生成的
文件下载不了哇,你把日志文件的主机名去掉,贴一段日志上来吧。压缩包下不了
@kidzgy
这里缺少进程的名字,感觉系统是精减版,缺少一些函数。正常的日志应该是这样的:
可以获取到进程的名字。查下杀毒软件或安全软件是否拦截了