2012-06-25 31 views
1

我简化了脚本,以便您可以专注于本质上的问题。我做了一个热键(shift-alt-T),它在我突出显示的任何字符串上执行此脚本(例如在gedit中 - 例如 - 但是任何其他GUI编辑器)。AutoKey - clipboard.get_selection()函数在某些字符串上失败

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()函数似乎得到了c被他们打断了。我很不熟悉python脚本,所以我不确定这是否是一个AutoKey错误,或者我错过了一些关于编码/准备python字符串的知识。

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

sudo apt-get install autokey-qt 
+0

为什么你不断添加AutoHotKey标签,当你说问题不是关于AutoHotKey? –

+0

你能为我制作一个标签自动密钥吗?所以我可以关联正确的标签? –

+1

提示:'$ charinfo'-'' 'U + 2013 EN DASH' –

回答

1

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

1

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