小狼毫英文状态下无法使用英国键盘布局
上报前请检查
- [√] 我遇到的问题没有其他人在 issue 里提到过
- [√] 我的小狼毫版本于 rime/weasel 下载
- [√] 我在使用小狼毫的最新发布版本,或最新发布版本后的 CI 构建
操作系统信息
- OS 详细版本: [ Windows 10 版本22H2(操作系统内部版本19045.3324)]
- 小狼毫版本: [ 0.16.3 ]
描述遇到的问题 小狼毫英文状态下无法使用英国键盘布局
复现步骤 切换英国键盘布局,按「\」键,打出「#」。切换小狼毫英文状态,按「\」键,打出「\」。
预期行为 希望小狼毫英文状态下能够使用英国键盘布局或者其他布局
截图
因为小狼毫是中文输入法,目前只注册了中文键盘布局,目前注册了中文简体,中文繁体,中文香港,中文澳门,中文新加坡,没有注册英文布局。当你在中文简体语言下添加小狼毫的时候,ASCII状态下是中文简体对应的ASCII布局,得到的当然是简体中文的ASCII布局的输出响应。
https://github.com/rime/weasel/blob/master/WeaselTSF/Globals.h#L7-L15
如果需要英语(英国)布局的,就要在tsf里注册输入法那里再增加注册英语(英国)布局,然后在英文语言下下添加小狼毫键盘
当然据说这个后续可能在下一代的librime里会实现键盘布局的转换的功能
在小狼毫这里,目前的逻辑是不支持这个的,您可以考虑在key_binder/bindings栏下增加相关按键转换的功能,且将这个key_binder放到ascii_composer之前就应该可以解决目前这个问题了
因为小狼毫是中文输入法,目前只注册了中文键盘布局,目前注册了中文简体,中文繁体,中文香港,中文澳门,中文新加坡,没有注册英文布局。当你在中文简体语言下添加小狼毫的时候,ASCII状态下是中文简体对应的ASCII布局,得到的当然是简体中文的ASCII布局的输出响应。
https://github.com/rime/weasel/blob/master/WeaselTSF/Globals.h#L7-L15
如果需要英语(英国)布局的,就要在tsf里注册输入法那里再增加注册英语(英国)布局,然后在英文语言下下添加小狼毫键盘
当然据说这个后续可能在下一代的librime里会实现键盘布局的转换的功能
在小狼毫这里,目前的逻辑是不支持这个的,您可以考虑在
key_binder/bindings栏下增加相关按键转换的功能,且将这个key_binder放到ascii_composer之前就应该可以解决目前这个问题了
经您指点,我通过key_binder/bindings配置了「\」键行为:{accept: "\\", send: "#", when: always},再把key_binder放到ascii_composer之前,意图按「\」键,打出「#」。经过尝试,只有中文状态下能合乎意图,英文状态下则不会打出任何字符。
经搜寻,有疑问与此相似,已经解决:鼠须管+Colemak 键盘布局的问题。,只是解法唯「鼠须管」可用,「小狼毫」不能用。
直接在系统里安装英式键盘,然后按Win+空格或者Alt+Shift切换键盘方案,绕过小狼毫。 这样你想要俄语键盘还是阿拉伯语键盘都行。
可以试试这样