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での文字列のエンコード/準備に関する知識が不足しているのかわかりません。

助けてください。私はUbuntu12.04でこれを行っています:

sudo apt-get install autokey-qt
4

2 に答える 2

4

著作権記号のキーボードキー、または3番目の例のENDASHのような非ASCII文字はありません。スクリプトコードは、ASCII以外のUnicode文字を適切なキーボードシーケンスに変換して生成する必要があります。おそらく、クリップボードから取得し、クリップボード機能を使用して、変更した文字列をアプリに貼り付けることができます。

于 2014-12-05T16:27:31.977 に答える
2

autokeyこれは、 (特殊文字が渡されない)のPython3実装のバグですkeyboard.send_keys。たとえば、GitHubを参照してください。

于 2017-08-17T05:26:57.780 に答える