-
Notifications
You must be signed in to change notification settings - Fork 36
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
是否可以保持中文输入法的英文模式? #70
Comments
输入法自身保持输入状态,是输入法自己的特性,不是我这个插件可以解决的问题。 除非输入法本身提供API可以调用,否则我这个插件是做不到的。 |
确实有这个需求,大部分这类切换输入法插件都是能获取输入法中英文状态的。体验是保持一致的 |
@liang-0131 我只知道如果用Linux上的fcitx输入法,进入normal模式再进入insert模式是保留原有中/英状态的。 |
这可以的Windows不行就算了 mac和Linux应该可以。可以看看这个类似的有很多可以获取中英文状态 |
谢谢你提供的线索,直接使用输入法自己的中英文状态切换的确是最好的方案,我研究一下。 |
有的输入法自带命令切换:比如这个小小输入法http://yong.dgod.net/read.php?tid=2155&fid=7 |
Duplicate of #81 |
Duplicate of #85 |
直接切换当前输入法的中英文模式可能是更合理的方式。在 Linux 或 macOS 下,有获取和切换当前输入法中英文模式的方法(具体,Linux:fcitx-remote,macOS:fcitx-remote for OS X)。而在 Windows 下,有接口 IMC_GETCONVERSIONMODE 用于获取中英文模式,IMC_SETCONVERSIONMODE 用于切换中英文模式。我用这两个接口实现了一个命令行工具 AIMSwitcher,可以切换自带的微软拼音输入法的中英文模式(所以应该可以满足 @Azureki 的需求),但目前的问题是这两个接口已经过时,对于搜狗等第三方输入法可能无效 |
没有通用的方案不好处理,都是针对特定输入法的
而且相当多的windows用户都是使用搜狗输入法的,搜狗完全不开放
…On Tue, Nov 8, 2022 at 3:59 PM A23187 ***@***.***> wrote:
直接切换当前输入法的中英文模式可能是更合理的方式。在 Linux 或 macOS
下,有获取和切换当前输入法中英文模式的方法(具体,Linux:fcitx-remote,macOS:fcitx-remote for OS X
<https://github.com/xcodebuild/fcitx-remote-for-osx>)。而在 Windows 下,有接口
IMC_GETCONVERSIONMODE
<https://learn.microsoft.com/en-us/previous-versions/windows/embedded/ms905959(v=msdn.10)>
用于获取中英文模式,IMC_SETCONVERSIONMODE
<https://learn.microsoft.com/en-us/previous-versions/windows/embedded/ms905968(v=msdn.10)>
用于切换中英文模式。我用这两个接口实现了一个命令行工具 AIMSwitcher
<https://github.com/A-23187/AIMSwitcher>,可以切换自带的微软拼音输入法的中英文模式(所以应该可以满足
@Azureki <https://github.com/Azureki>
的需求),但目前的问题是这两个接口已经过时,对于搜狗等第三方输入法可能无效
—
Reply to this email directly, view it on GitHub
<#70 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAH5ITPTCVOEP2ABZTQCNMDWHIB7NANCNFSM45I3Z3CA>
.
You are receiving this because you modified the open/close state.Message
ID: ***@***.***>
|
我使用的微软自带的输入法,英文使用的美式英文键盘,但是能切换英文,不能在输入时切换回来,只能搜狗输入法吗? |
如果你中英文输入都用的微软自带的输入法,可以试一试我的工具 AIMSwitcher,可以实现在微软输入法的中英文模式之间切换 |
@A-23187 也许,可以在文件src/main/kotlin/io/github/hadixlin/iss/win/WinInputMethodSwitcher.kt,添加关于微软键盘的指令,0x0804 |
微软中文输入法支持操作系统指令来切换输入状态吗?如果你知道指令编码,并且可以帮忙做测试,我可以来修改这部分代码 |
插件可以调用win32api |
我在nvim中使用python进行过中英文的切换,但是我没有用java实现过这个方案,而且我并不熟悉idea的插件开发,不过我可以给你看下这边使用python进行的示例代码 https://github.com/1538379200/vim-switch-keyboard |
跟我调用的基本是一样的api,只是键盘布局使用的码不同,我没有windows电脑,测试起来有点儿麻烦。 |
也许可以加入配置来自定义键盘码?在有配置加入的情况下使用配置,没有则使用代码中指定的?这个实现应该很简单,但是不知道这个可不可以做到 |
第三方输入法(qq、sogou)的接口理解实现错误了,中英文切换 用了这两个接口 IMC_GETOPENSTATUS IMC_SETOPENSTATUS。这接口原生是用来 关闭输入法,即纯英文输入,对微软拼音有效。 |
这个 issue #66 中提到了搜狗输入法。而我使用系统自带的微软输入法也不行。
我一般习惯使用中文拼音输入法,按 shift 切换到英文写代码。但是按esc进入normal模式,再进入insert模式,就变成了中文。
插件版本:1.4.7。
不太清楚是本来支持的,但是我哪里做错了,还是本来就不支持这样做,正确的做法是在微软拼音/美国键盘之间切换?
The text was updated successfully, but these errors were encountered: