hiroi-sora / Umi-OCR

OCR software, free and offline. 开源、免费的离线OCR软件。支持截屏/批量导入图片,PDF文档识别,排除水印/页眉页脚,扫描/生成二维码。内置多国语言库。
MIT License
27.57k stars 2.77k forks source link

一个自定义快捷键的Bug #238

Closed SimonWawa08 closed 10 months ago

SimonWawa08 commented 1 year ago

作者大大你好,十分感谢您提供了如此便捷好用的工具,但我在使用过程中发现将截图识别的快捷键设置为“Alt+o”时,于其他应用程序(微信)键入文本时会频繁调用出OCR模块,希望作者百忙中可以进行修复,祝生活愉快!

hiroi-sora commented 1 year ago

这个bug大概率是由于权限问题所引起的。

可能有别的软件(如微信)也设定了含有Alt的快捷键。当你使用该快捷键时,微信拦截了Alt抬起的事件,导致Umi-OCR认为Alt一直未抬起。所以之后只要按下O键,Umi都认为按下了Alt+O,触发功能。

你可以按照下述方法避免这个问题的影响:

方法一:将Umi-OCR设为以管理员权限启动。

具有了管理员权限后,Umi将不会受到别的软件拦截按键事件的影响。

右键 Umi-OCR.exe → 属性 → 兼容性 → 以管理员身份运行此程序

image

方法二:降低超时时间

用记事本打开 UmiOCR-data\py_src\event_bus\key_mouse\keyboard.py

找到第116行: self.__ttl = 30 # 长按键超时忽略时间,秒 将30改为更低的数字,如 3

这意味着,只有最近3秒内按下的按键才有效。如果某个按键被拦截,Umi误认为它一直按下。3秒后,Umi将无视这个按键,直到它再次按下。这可以降低误触的概率。

未来我会继续优化Umi快捷键的体验,考虑如何避免权限及误触问题。

SimonWawa08 commented 1 year ago

感谢解答,我将进行尝试

hiroi-sora commented 8 months ago

新解决方案: https://github.com/hiroi-sora/Umi-OCR/issues/402