1

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

AutoKey(不是 AutoHotKey)中,我制作了一个热键(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
4

2 回答 2

4

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

于 2014-12-05T16:27:31.977 回答
2

这是 Python 3 实现中的一个错误autokey(特殊字符未通过keyboard.send_keys)。例如,参见GitHub 。

于 2017-08-17T05:26:57.780 回答