rime / weasel

【小狼毫】Rime for Windows
https://rime.im
GNU General Public License v3.0
4.65k stars 556 forks source link

使用 Shift 键输入大小写字母时的候选项上屏问题 #1332

Open peng-dongzi opened 4 months ago

peng-dongzi commented 4 months ago

上报前请检查

操作系统信息

问题、预期行为与复现步骤

我之前是「微软拼音」输入法的用户,在使用「微软拼音」输入「我的 MacBook 很好用」这句话时,只需如下步骤:

  1. 输入「我的」与一个空格

  2. 按下 Shift + M,然后继续输入剩余字母「ac」

  3. 按下 Shift + B,然后继续输入剩余字母「ook」与一个空格

  4. 最后输入「很好用」

微软拼音输入

在这个过程中,由于只需要输入一个简短的大小写单词「MacBook」,我并不需要按 Shift 切换中英文状态就能输入完。将按下 Shift 切换中英文状态的时机留到需要输入大段英文的时候

然而,使用小狼毫输入法时,在上述第三个步骤中,会直接上屏「候选项 1」的中文:

小狼毫输入

我该怎么做才能让小狼毫实现与微软拼音相同的输入体验?

用户文件

  switch_key:
    Shift_L: commit_code   # 左 Shift 切换直接上屏字母
    Shift_R: commit_code   # 右 Shift 切换直接上屏字母
    Control_L: noop
    Control_R: noop
    Caps_Lock: noop
    Eisu_toggle: clear

预期行为

希望在输入简短的大小写单词时,无需切换中英文状态,能够直接输入字母而不会上屏「候选项 1」中的中文

其他信息

fxliang commented 4 months ago

参考雾凇的配置自行调整吧 或者自行调整词库也是有机会的

test test2

peng-dongzi commented 4 months ago

@fxliang

在中文输入状态下,是否存在英文的候选项并不重要。在使用微软输入法时,若处于大部分内容为中文,仅有少部分内容为英文的环境下,输入简短英文只需遵循类似步骤:

  1. 输入「我的」与一个空格

  2. 按下 Shift + M,然后继续输入剩余字母「ac」

  3. 按下 Shift + B,然后继续输入剩余字母「ook」

  4. 按下 Enter(回车)

  5. 最后输入「很好用」

微软拼音输入2

在我最初的问题描述中,遗漏了微软输入法下的按下 Enter 这一步骤

这样,即使不调整词库,也可以临时输入所有英文,而小狼毫输入法在第三步按下 Shift + B 时,会让「候选项 1」直接上屏

peng-dongzi commented 4 months ago

刚刚上传的 GIF 不一致,现在重新编辑了一下

@fxliang 谢谢大佬的解答

在中文输入状态下,是否存在英文的候选项并不重要。在使用微软输入法时,若处于大部分内容为中文,仅有少部分内容为英文的环境下,输入简短英文只需遵循类似步骤:

  1. 输入「我的」与一个空格
  2. 按下 Shift + M,然后继续输入剩余字母「ac」
  3. 按下 Shift + B,然后继续输入剩余字母「ook」
  4. 按下 Enter(回车)
  5. 最后输入「很好用」

微软拼音输入2 微软拼音输入2

在我最初的问题描述中,遗漏了微软输入法下的按下 Enter 这一步骤

这样,即使不调整词库,也可以临时输入所有英文,而小狼毫输入法在第三步按下 Shift + B 时,会让「候选项 1」直接上屏

fxliang commented 4 months ago

我回你的那个,你再细看拼音的第二行就是有Shift加b的

peng-dongzi commented 4 months ago

我回你的那个,你再细看拼音的第二行就是有Shift加b的

你说的这个功能类似于代码补全,但很多时候,自己想要输入的某个英文可能不在补全项中

小狼毫在「按下 Shift + B」时是否直接补全第一个「候选项」,我觉得可以让用户自行决定,不过,目前我还没找到通过某个属性来实现这一目的的方法