求问搜狗拼音输入法有什么方法获取到当前的输入状态是中文还是英文呢

2022-02-03 01:48:46 +08:00
 caryRowen
如题 windows 端,有个项目需要获取到当前的输入状态,在搜狗官网看了下,有开发相关的入口,但似乎没找到有用的资料,特来请教。
2597 次点击
所在节点    Windows
11 条回复
PolarBears
2022-02-03 02:01:17 +08:00
看看微软的 IME API ?刚搜索到这个 API ImmGetConversionStatus ,你看看这个是不是符合你的要求。
solitude3985
2022-02-03 05:24:05 +08:00
@PolarBears 谢谢抛砖引玉,不过好像他返回的这个值 lpfdwConversion 里面的指针只有 IME_CMODE_ALPHANUMERIC 比较符合描述,没记错的话是注音输入法的(因为注音输入法的数字行也被汉字输入占用了),没有找到提取拼音输入法中英状态的指针


顺便发一下前几天发的恼骚: https://v2ex.com/t/830164 拼音输入法里面可以打英文属实伪需求,现在都开始想强制把中英转换给关了。
abc8678
2022-02-03 07:58:14 +08:00
平时我想输入中文的时候,是英文输入法。
想在浏览器地址栏输入英文的时候,是中文输入法。。。
yfugibr
2022-02-03 08:06:01 +08:00
@solitude3985 啊这,抛砖引玉是个谦词,“比喻用自己粗浅的东西(多指意见、文章),引出好的、珍贵的东西”,不是这么用的啊
nicevar
2022-02-03 08:25:30 +08:00
这个需求很牵强,输入法是自己决定当前的输入状态的,用系统 API 不行,除了暴力和歪门手段没有什么好的办法,但是这么做没有什么意义。
ysc3839
2022-02-03 11:06:23 +08:00
怀疑这是个 X-Y Problem https://coolshell.cn/articles/10804.html
建议直接说最终需求
dswyzx
2022-02-03 13:04:28 +08:00
如果输入框是 password,那么不管中文英文输入的都是英文.如果有需求可以考虑下
caryRowen
2022-02-03 15:13:40 +08:00
感谢楼上各位老哥,系统 API 应该是不可行的,在搜狗拼音输入法中,有两种方法可以在中英文输入法之间切换:第一 ctrl+空格;第二,按一次 shift 键。
为了避免误会是个 X-Y Problem ,我详细描述下需求,为[屏幕阅读器]( https://github.com/nvaccess/nvda)编写一个插件,实现在搜狗拼音输入法中切换中英文状态时正确朗读当前的输入状态。
caryRowen
2022-02-03 15:19:04 +08:00
感谢楼上各位老哥,系统 API 应该是不可行的,在搜狗拼音输入法中,有两种方法可以在中英文输入法之间切换:第一 ctrl+空格;第二,按一次 shift 键。
为了避免误会是个 X-Y Problem ,我详细描述下需求,为 [屏幕阅读器]( https://github.com/nvaccess/nvda) 编写一个插件,实现在搜狗拼音输入法中切换中英文状态时正确朗读当前的输入状态。
ysc3839
2022-02-05 11:09:36 +08:00
@manchen0528 可以考虑看看 Windows 自带的讲述人能否获得输入状态,能的话逆向看看。
caryRowen
2022-02-05 17:22:31 +08:00
@ysc3839 讲述人在这方面更是若,连自家的微软拼音的中英文状态都无法朗读。另外我发现微软拼音切换中英文的时候状态条有文字变化,搜狗切换的时候似乎没啥改变,不知道飞视障用户如何分辨中英文输入呢。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/831727

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX