Repository navigation
|
当我在在英文键盘长按shift进行大写锁定, 打出一些大写字母后, 我打算切回中文继续输入中文 但切换回中文键盘后, 大写锁定没有取消, 导致我必须手动再按一次shift才能输入中文 所以我希望能够切换回中文键盘时, 能够重置大写锁定状态 以下是可能与问题相关的一点 有什么办法能做到吗? 如果没有, 那么这个功能是否有计划加入? |
Replies: 2 comments 2 replies
可能的解决方案是的,这个现象与当前的配置方式有关。
你目前的配置: Mode_switch1:
toggle: ascii_mode
functional: false
send: SWITCH_CHARSET
states:
- 中/A
- A/中这里只负责切换 一个需要注意的地方可以给按键配置 - {click: Mode_switch1,
long_click: Shift_L,
composing: Escape1,
key_text_size: "14",
key_back_color: c5,
key_text_color: th4,
key_border: 0}但是, 因此,仅通过 YAML 配置,目前似乎无法可靠地实现:
更合理的解决方案如果你的目标是让切换到中文时强制重置 Shift 状态,那么更好的实现方式是在 Trime 中增加一个专门用于重置 Shift 状态的 action。 例如,可以考虑类似这样的配置: Mode_switch1:
toggle: ascii_mode
send: SWITCH_CHARSET
reset_shift: true
states:
- 中/A
- A/中这里的 这样可以明确表达所需要的行为:
这比再次模拟发送 Note 如果当前版本的 Trime 没有提供用于独立重置 Shift 状态的 action,那么这个问题应该属于 Trime 本身的功能缺口,而不是 YAML 配置语法的问题。 建议如果这个行为应该在所有键盘配置中保持一致,我认为增加一个类似 这样用户就可以在切换输入模式时显式重置 Shift 状态,而不需要通过额外的按键操作来规避这个问题。 如果需要,我也可以进一步查看 Trime 当前的源码,确定 Shift 状态具体在哪里维护,并给出一个最小的代码修改方案。 |
|
此PR解决了这个问题 |
#2157
此PR解决了这个问题