2012-06-25 30 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