weasel icon indicating copy to clipboard operation
weasel copied to clipboard

小狼毫英文状态下无法使用英国键盘布局

Open ghost opened this issue 1 year ago • 4 comments

上报前请检查

  • [√] 我遇到的问题没有其他人在 issue 里提到过
  • [√] 我的小狼毫版本于 rime/weasel 下载
  • [√] 我在使用小狼毫的最新发布版本,或最新发布版本后的 CI 构建

操作系统信息

  • OS 详细版本: [ Windows 10 版本22H2(操作系统内部版本19045.3324)]
  • 小狼毫版本: [ 0.16.3 ]

描述遇到的问题 小狼毫英文状态下无法使用英国键盘布局

复现步骤 切换英国键盘布局,按「\」键,打出「#」。切换小狼毫英文状态,按「\」键,打出「\」。

预期行为 希望小狼毫英文状态下能够使用英国键盘布局或者其他布局

截图 image

ghost avatar Nov 15 '24 04:11 ghost

因为小狼毫是中文输入法,目前只注册了中文键盘布局,目前注册了中文简体,中文繁体,中文香港,中文澳门,中文新加坡,没有注册英文布局。当你在中文简体语言下添加小狼毫的时候,ASCII状态下是中文简体对应的ASCII布局,得到的当然是简体中文的ASCII布局的输出响应。

https://github.com/rime/weasel/blob/master/WeaselTSF/Globals.h#L7-L15

如果需要英语(英国)布局的,就要在tsf里注册输入法那里再增加注册英语(英国)布局,然后在英文语言下下添加小狼毫键盘

当然据说这个后续可能在下一代的librime里会实现键盘布局的转换的功能

在小狼毫这里,目前的逻辑是不支持这个的,您可以考虑在key_binder/bindings栏下增加相关按键转换的功能,且将这个key_binder放到ascii_composer之前就应该可以解决目前这个问题了

fxliang avatar Nov 16 '24 03:11 fxliang

因为小狼毫是中文输入法,目前只注册了中文键盘布局,目前注册了中文简体,中文繁体,中文香港,中文澳门,中文新加坡,没有注册英文布局。当你在中文简体语言下添加小狼毫的时候,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 键盘布局的问题。,只是解法唯「鼠须管」可用,「小狼毫」不能用。

ghost avatar Nov 16 '24 15:11 ghost

直接在系统里安装英式键盘,然后按Win+空格或者Alt+Shift切换键盘方案,绕过小狼毫。 这样你想要俄语键盘还是阿拉伯语键盘都行。

ndd200 avatar Nov 26 '24 02:11 ndd200

Image

可以试试这样

fxliang avatar May 09 '25 00:05 fxliang