-
Notifications
You must be signed in to change notification settings - Fork 569
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
输入法会依照不同程序改变输入状态,请问如何禁用这个功能? #454
Comments
我的困擾和樓主相反,每個程序的輸入狀態都相同 |
你們看,我難不難? |
@lotem 请问哪个选项控制这个功能呢?我patch过 |
初始狀態是指打開應用程序(啓動進程)時的狀態。記事本不是多窗口應用,因此圖示有兩個不同的進程,兩者不共享狀態。窗口切換時進程並未結束,因此狀態不變。 |
难。 |
Windows 系统设置可以让两个程序(严格来讲也许是窗口?)共享或不共享输入法,既打开新程序(窗口?)后是否重置输入法为默认值(系统所管理第一个键盘布局),但此设置不会影响输入法本身状态(如简繁体、布局或输入方案等)。 建议:小狼豪可以考虑取此设置来决定是否维护内部状态;如果用户设置 Windows 为“在新程序里重置输入法”,代表用户不希望在新程序(窗口?)里保留任何输入法相关状态,小狼豪也应该在唤起时针对新程序(窗口?)重置状态。 另外,既然 Windows 提供此设置,小狼豪也不需要考虑实现自己的“重置”逻辑(既忽略/违背 Windows 设置的逻辑),用户希望输入法根据程序重置的话会去修改系统设置,小狼豪只需要在已知用户设置的情况下尽可能满足用户期待就可以。 |
不仅仅是打开新的程序,如果有两个打开了的程序A和B。
我在ubuntu18上测试,A程序上的输入状态是无法保持在ascii状态的。而我要实现这个效果,最终的方案是放弃使用 rime 自带的ascii模式,而是在ibus上再添加 English(UK)输入法,然后使用 ibus-setup 命令,设置 “Advanced - Global input method settings - 去掉勾选 Share the same input method among all applications”,使用的时候就在 rime 和 English(UK) 两个输入法之间切换来实现中英切换。这样就实现了在不同的应用上记住了各自的中英输入状态,而Windows应该也是类似的逻辑,只不过不是ibus的功能。而我不确定的是这个效果在 rime里实现是否合理。 |
@aaftio 你提到的 iBus 设置就是我所提到的 Windows IME 设置。这在 Windows 上是一个系统设置,会针对所有程序、所有输入法生效,而且并不涉及输入法内部状态(例如:全、半角)的逻辑。 其实问题的关键点在于 Rime 是一个输入引擎 (Input Method Manager/Framework),而不是一款严格意义上的“输入法”。Rime 的角色更相似于 Ubuntu 上的 iBus 和 Windows 上的语言栏(这句话并不完全准确,仅用来说明情况。)。输入法 (IME/keyboard) 只提供一种按键信号到文本转换方式,例如明月拼音是一种输入法、注音是另一种、五笔输入又是一种;Rime 本质是一个 meta package 提供多种“输入法”(多种键盘布局、和按键信号到文本转换方式),却只向系统注册为一种输入法。 举 Google 的移动端“输入法” Gboard 为例。Gboard 类似 Rime,安装一款 meta package 然后可以使用多种语言和输入方式。Gboard 在向系统集成时是这样做的: 它将每个附带的输入法单独注册。尽管 Android 不支持不同 App 保留不同输入法,但如果 Rime 可以做成图中这个效果,所有问题都可以解决。因为这个时候 Rime 的“内部状态”就变成了可以受操作系统和系统设置控制的“输入法状态”。 诚然,这是个很宏大的设想。我对 Rime 本身架构并不精通,只是从使用者角度看问题。 |
输入法的逻辑层级应该是如上图:
那么对于 新手,请指教:)
|
@aaftio , 请问一下你这样设置之后,从中文切换到英文的时候,是否能够自动上屏已经输入的字符呢。 |
@lotem , 我认为这个想法很好,添加设置让用户选择是否在 |
不行,而且这应该也是做不到的,因为当你在RIME上输入了两个字符,这个字符是传到了RIME里,此时切换到English(UK)输入法时是一个完全独立的输入法,这时候你在RIME输入的那两个字符是无法传递过来的 |
linux下好想要这个功能,哈 |
ascii_mode 已有选项实现,其他暂无计划 |
请问有没有实现的文档? |
|
就像上图的样子,怎样保持一个状态不变呢?谢谢
The text was updated successfully, but these errors were encountered: