Skip to content
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

请问一下最新的构建版本在哪下载 #1

Closed
hzinchengdu opened this issue Jan 29, 2024 · 23 comments
Closed

请问一下最新的构建版本在哪下载 #1

hzinchengdu opened this issue Jan 29, 2024 · 23 comments

Comments

@hzinchengdu
Copy link

我是最近转rime,发现原版竟然没有“全局中英文模式”,好不容易搜到了这个,发现这个提案竟然没通过。
请问最新版的构建版本有吗。

@zhylmzr
Copy link
Owner

zhylmzr commented Feb 5, 2024

因为也没有什么更新的,最新的下载依然是这个。

rime#856 (comment)

@hzinchengdu
Copy link
Author

hzinchengdu commented Feb 5, 2024

好的,你能够解决Ctrl+Space开关输入法时不会自动上屏编码的问题吗?

我发现在搜狗、微软之类的大众输入法中,“Ctrl+Space开关输入法”和“切换中英文状态”基本是相同的,是一个概念,但在rime中是两个概念。

我按照链接中issue的建议进行了设置,发现在很多场景下都无效,比如浏览器的搜索框,“开始”的搜索框。请问怎么实现按Ctrl+Space键和大众输入法一样,是切换功能,而不是开关输入法功能,换一种说法是关闭rime的“开关输入法”功能。

这个我也找了很多资料都没能实现,包括注册表屏蔽什么的,让我改rime的源代码也不现实。我在其他输入法中习惯只用Ctrl+Space切换中英文,然后用ahk(CapsLock+)把短按大写键映射成Ctrl+Space,这种方案在一些办公软件中误触机率最低。

@zhylmzr
Copy link
Owner

zhylmzr commented Feb 8, 2024

现在手上只有Mac,等年后有时间看看

@zhylmzr
Copy link
Owner

zhylmzr commented Feb 14, 2024

如果我没有理解错的话你是想要 ctrl+space 切换中英文并上屏已键入的字母序列。

这是可以通过 key_binder 来映射的,rime/librime#631

原版不支持修饰符和按键的绑定,本仓库使用的修改版librime已经添加了支持。

另有一点要特别注意:ctrl+space在windows下被系统热键切换占用了,保存下面的内容到 fix.reg 双击确定,重启后可以取消系统的绑定:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys\00000010]
"Key Modifiers"=hex:00,c0,00,00
"Virtual Key"=hex:ff,00,00,00

[HKEY_USERS\.DEFAULT\Control Panel\Input Method\Hot Keys\00000010]
"Key Modifiers"=hex:02,c0,00,00
"Target IME"=hex:00,00,00,00
"Virtual Key"=hex:ff,00,00,00

@hzinchengdu
Copy link
Author

hzinchengdu commented Feb 15, 2024

我想要的确实是“Ctrl+Space切换中英文并上屏已键入的字母序列”,并且所有的中文输入法都是如此。

我之前试过用注册表关闭Ctrl+Space热键的方法,问题是这样在其他输入法中切换中英文都会失效,只能在rime中使用。这代价太大了,我还有用其他输入法的场景和需求。

我想到了在ahk代码中追加Shift键,在按大写键进行Ctrl+Space切换中英文前,先按执行Shift上屏编码,再进行切换。但问题是rime的“开关输入法”也不是全局统一的,这相当于回到原点。

有没有办法像微软、搜狗那样被系统热键占用的情况下,也能正常上屏。我一个门外汉能想到的是要么改源代码,要么在“小狼毫算法服務”上动手脚,要么尝试用lua实现,可惜我都不会。

我想到的方案是:

方案一:

  • 可以配置关闭rime的开关输入法功能

方案二:

  • 解决关闭输入法时,rime仍占用输入焦点的问题,可以配置“不上屏编码”或“清除未上屏内容”(也就是关闭输入法时先把编码的操作执行完成再关闭,我注意到在其他输入法中只有这两种行为,且都是这样执行。)
  • 可以配置的全局开关输入法切换
  • 可以配置的关闭输入法再开启时是否重置 ascii_mode

大致看了下原开发者的说法——Ctrl+Space是Windows的特有行为。我的第一感受是别的Windows输入法都正常,到了这就不行了,这输入法比毛坯房还要毛坯。

如果与原开发者直接沟通的话我还需要长篇论证。

不知道哪些能够实现。

@zhylmzr
Copy link
Owner

zhylmzr commented Feb 16, 2024

前往 releases 下载最新的。

@hzinchengdu
Copy link
Author

请问“可配置全局开关输入法”和“开关输入法后可选重置ascii_mode(默认不重置)”能实现吗,只有这些全部实现后才能有类似于大众输入法(默认模式)一样的体验。

@zhylmzr
Copy link
Owner

zhylmzr commented Feb 17, 2024

据我所知搜狗输入法也没有全局性的开关输入法(搜狗输入法中开关输入法的逻辑就是切换中英文,但是小狼毫里把这两个区分开了)。

@hzinchengdu
Copy link
Author

hzinchengdu commented Feb 17, 2024

不同窗口的开关输入法状态

是的,小狼毫的不同窗口的开关输入法状态也和中英文模式的逻辑类似,每个窗口都是独立状态,不能设置成全局的(所有窗口都是一个状态)。

小狼毫把这两个区分开了,并且都不能进行设置。如果能的话,就可以得到类似于搜狗等大众输入法的体验,可能的区别只是用Ctrl+空格切换时,“中英文状态”图标是关闭的。

@zhylmzr
Copy link
Owner

zhylmzr commented Feb 17, 2024

我建议把小狼毫的“开关键盘”逻辑统一成其他输入法一致比较好,仅仅作为“中英文切换”。

@hzinchengdu
Copy link
Author

hzinchengdu commented Feb 17, 2024

我也觉得这样比较好,但是在保证不改变其他输入法或系统设置的情况话并不能做到。

发现Win10以后,不使用Ctrl键和Shift键“切换中英文”,只使用Ctrl+空格的方式“切换中英文”的网友确实不少。

@zhylmzr
Copy link
Owner

zhylmzr commented Feb 17, 2024

重新下载最新安装包即可。

@hzinchengdu
Copy link
Author

你太牛了!不过发现修改版有个小bug,雾凇拼音默认的中括号“以词定字”功能不会生效,不确定是不是版本原因导致的。

我试了官方的0.15.0并没有此问题,官方的0.14.3我试了也生效,就是有不显示词条的bug,上屏的也是编码。
另外发现官方的0.15.0版打字要比0.14.3版流畅(面板更跟手),也支持圆角和彩色emoji。

如果可以的话是否考虑基于最新版修改。

@hzinchengdu
Copy link
Author

还有,小狼毫在英文状态下切换到别的输入法再切换回来,并不会重置“中英文状态”,这一点和系统自带的微软输入法保持了一致,但其他第三方输入法都是切换后会重置。

不清楚是不是这个feat(开启关闭输入法时不重置ascii_mode)导致的,能否把这个整成可配置的,就像可配置“全局中英文模式”那样,这样用户可以根据各自的习惯进行选择。

@zhylmzr
Copy link
Owner

zhylmzr commented Feb 18, 2024

小狼毫在英文状态下切换到别的输入法再切换回来,并不会重置“中英文状态”

开启了全局中英文时切换输入法并不会重置状态。

@hzinchengdu
Copy link
Author

是的,如果能进行配置,既可以不重置状态(和微软输入法一致),也可以重置状态(和搜狗之类的第三方输入法一致),这样适用范围会更广。

@zhylmzr
Copy link
Owner

zhylmzr commented Feb 18, 2024

全局中英文在开启后所有应用共享WeaselServer中同一个状态,不会因为切换输入法而改变。要在切换输入法后重置状态配置:

"global/ascii_mode": false

@hzinchengdu
Copy link
Author

我的意思是在"global/ascii_mode": true(所有应用一个状态)的情况下,增加一个配置。

"global/开关输入法或切换输入法后重置ascii_mode: true",以执行在开关输入法或切换输入法后重置状态(如搜狗输入法);false时执行不重置状态(如微软输入法)。

搜狗:设置中默认“中文状态”,切换到“英文状态”下,再切换到别的输入法后切回,重置了“中英状态”。
搜狗

微软:设置中默认“中文状态”,切换到“英文状态”下,再切换到别的输入法后切回,没有重置“中英状态”。
微软

因此我认为这个feat用“默认”而不用“修正”一词更合适。

@zhylmzr
Copy link
Owner

zhylmzr commented Feb 18, 2024

和这个 e0ef1dd 没有关系。
开启了全局中英文之后,输入法的中英文状态只有一个了,和开关输入法无关。这个功能没法加,和全局中英文冲突。

在Windows10以上系统允许不同应用使用不同输入法,如果在开启全局中英文下,有两个程序都使用小狼毫,状态都是中文,这个时候其中一个切换成搜狗输入法重置状态的话,另一个程序还是使用小狼毫,但是状态变成了英文,和逻辑不符。

所以在开启全局中英文后程序不会帮你切换中英文,只能自己通过快捷键进行切换,切换输入法不属于切换中英文状态。

@hzinchengdu
Copy link
Author

我明白了,那您是否考虑将来基于官方最新版进行修改,雾凇拼音的词库在这个版本显示不完整,以词定字也不能用。

@zhylmzr
Copy link
Owner

zhylmzr commented Feb 18, 2024

rime#1096 合并后可以直接使用原版。

@hzinchengdu
Copy link
Author

谢谢提示,原来几周前已经有人遇到相同的情况了。

@hzinchengdu
Copy link
Author

你好开发者,今天看见rime#1096已经合并,但下载体验后发现“关闭输入法时上屏正在输入的字母序列”和“调整 ctrl+space 系统切换中英文处理逻辑”并没有在里面,官方版默认的是类似于“关闭输入法时清空序列”,不清楚这两个提交后会不会通过,以及通过后要等多久。

如果无意提交这两个,希望原版的正式版发布后您也及时更新。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants