自动键 - clipboard.get_selection() 函数在某些字符串上失败



我简化了我的脚本,所以你可以专注于我问题的本质。

在AutoKey(不是AutoHotKey)中,我制作了一个Hot-Key(shift-alt-T),它可以对我突出显示的任何字符串执行此脚本(例如在gedit中 - 但任何其他gui编辑器也是如此)。

strSelectedText = clipboard.get_selection()
keyboard.send_keys(" " + strSelectedText)

该脚本修改突出显示的文本,并在字符串的开头添加一个空格。

它适用于我强调的大多数字符串,但不适用于这个字符串:

* Copyright © 2008–2012 Lonnie Best. Licensed under the MIT License.

它适用于此字符串:

* Add a Space 2.0.1

但不是在这一点上:

* Add a Space 2.0.1 –

在python命令提示符下,这些字符串中的任何一个都没有问题,但是clipboard.get_selection()函数似乎被它们损坏了。

我对 python 脚本相当陌生,所以我不确定这是否是一个 AutoKey 错误,或者我是否缺少一些我应该了解的关于在 python 中编码/准备字符串的知识。

请帮忙。我在 Ubuntu 12.04 上这样做:

sudo apt-get install autokey-qt

版权符号或任何非 ASCII 字符(如第三个示例中的 EN DASH)没有键盘键。您的脚本代码必须以某种方式将任何非 ASCII Unicode 字符转换为适当的键盘序列才能生成它们。也许您可以从剪贴板中抓取并使用剪贴板功能将修改后的字符串粘贴回您的应用程序中。

这是

Python 3 实现中的错误 autokey (特殊字符未通过 keyboard.send_keys )。例如,请参阅 GitHub。

相关内容

最新更新