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

微软日文输入法下快捷键映射<24_>问题 #636

Open
1 task done
Teto314 opened this issue Aug 29, 2024 · 2 comments
Open
1 task done

微软日文输入法下快捷键映射<24_>问题 #636

Teto314 opened this issue Aug 29, 2024 · 2 comments

Comments

@Teto314
Copy link

Teto314 commented Aug 29, 2024

Issues

  • I have browsed through the Issues. 我已浏览过Issues,确定没有重复提问。

Umi-OCR version 程序版本

2.1.3

Windows version 系统版本

win11 23H3

OCR plugins Used 使用的OCR插件

PaddleOCR

Reproduction steps 复现步骤

win10也测试过,与win11问题一样
使用微软输入法切换到日语后
英文,平假名和片假名的快捷键均录入异常,快捷键记录框里会新增标记
这也导致一旦刚才切换过微软日语输入法,无论最开始录入的快捷键是什么,大概率在任何输入法下都无法唤醒快捷键

其中shift+caps英文会带有<240>,ctrl+caps开启平假名后<242>,alt+caps开启片假名后<241>
见下方截图所示,不确定是否有其它微软输入法语言有这类问题

我不确定这是不是快捷键引擎特性,还是说不能修复
如果可以的话,让快捷键识别忽略诸如<241>这样的角标是可能的吗

Problem screenshots or related files (optional) 问题截图或相关文件(可选)

{5C834B44-4CCE-42A1-AD70-EDF92124F2FF}
{739B06FB-D618-4EEB-9B52-1BED65761525}

@hiroi-sora
Copy link
Owner

hiroi-sora commented Aug 31, 2024

这是微软日文输入法的固有特性,会在输入中的词组后面添加一个不可见的分隔符,Umi记录这个间隔符导致误判。

有两种方式可以解决此问题:

方式一: 使用 快捷键增强工具 代替 Umi-OCR 本体的快捷键机制。

方式二:

  1. 用记事本或打开 Umi-OCR\UmiOCR-data\py_src\event_bus\key_mouse\keyboard.py
  2. 第117行,有一行代码:
    self._strict = True  # 键集合相等的判定,T为严格,F为宽松

将它改为 self._strict = False
3. 重启 Umi-OCR ,在 非日文输入法 状态下重新录制快捷键,确保记录的快捷键不含 <241> 等间隔符。
4. 切换到日文输入法,即可正常使用。由于此时是 宽松判定模式 ,所以就算含间隔符的按键序列,也可以正常触发快捷键事件。

@Teto314
Copy link
Author

Teto314 commented Aug 31, 2024

这是微软日文输入法的固有特性,会在输入中的词组后面添加一个不可见的分隔符,Umi记录这个间隔符导致误判。

有两种方式可以解决此问题:

方式一: 使用 快捷键增强工具 代替 Umi-OCR 本体的快捷键机制。

方式二:

  1. 用记事本或打开 Umi-OCR\UmiOCR-data\py_src\event_bus\key_mouse\keyboard.py
  2. 第117行,有一行代码:
    self._strict = True  # 键集合相等的判定,T为严格,F为宽松

将它改为 self._strict = False 3. 重启 Umi-OCR ,在 非日文输入法 状态下重新录制快捷键,确保记录的快捷键不含 <241> 等间隔符。 4. 切换到日文输入法,即可正常使用。由于此时是 宽松判定模式 ,所以就算含间隔符的按键序列,也可以正常触发快捷键事件。

感谢

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

3 participants
@hiroi-sora @Teto314 and others