カスタムキーボードショートカットはPythonスクリプトを実行しません。

カスタムキーボードショートカットはPythonスクリプトを実行しません。

pyautoguiを使用してキーボードショートカットを介して一連のコマンドを実行しようとしています。

スクリプトは次のとおりです。

#!/usr/bin/python3
import pyautogui
# Keyboard sequence to delete current line of text
pyautogui.press('end')
pyautogui.hotkey("shift", "home")
pyautogui.press('backspace')

端末を介して作成しsleep 1 && ./pyautoguitest.pyてすぐに別のウィンドウに切り替えると、正常に機能し、コースがある現在の行が削除されます。

ただし、キーボードショートカットに移動してShift + Alt + Backspaceコマンドにバインドすると、/usr/bin/python3 /home/user/pyautoguitest.py自動的に失敗します。何も起こりません。

私はPop_OSを使用しています! Ubuntuと同じ方法で処理する必要があります。

pyautoguiでキーボードショートカットを使用しようとした人はいますか?

スクリプトの実行権限 問題を排除するために、すべてのユーザーがスクリプトを実行できるように 777 の権限を付与しました。

更新------失敗があるかどうかを確認するために、Pythonスクリプトでログインを試してみました。

#!/usr/bin/python3
import logging
import traceback
logging.basicConfig(filename='/tmp/myapp.log', level=logging.DEBUG, 
                    format='%(asctime)s %(levelname)s %(name)s %(message)s')
logger=logging.getLogger(__name__)

try:
        import pyautogui
        import sys
        pyautogui.press('end')
        pyautogui.hotkey("shift", "home")
        pyautogui.press('backspace')
except Exception as e:
        logger.error(traceback.format_exc())
else:
        logger.error("all clear")

sleep 2 && ./pyautoguitest.pyログファイルを使用してこれを実行すると、all clearすべてが正常であることを示すエントリが表示され、キーボードショートカットを介して実行すると同じことが発生します。

変です。キーボードショートカットとして使用すると、何かがキーを押すのを妨げると思います。

答え1

最近、電子メールアドレスを挿入し、xdotoolを使用してキーストロークを挿入するカスタムショートカットを追加しました。したがって、パッケージマネージャでパッケージをインストールxdotoolし、システム設定からショートカット - カスタムショートカットに移動して、新しいグローバルショートカット(コマンド/ URL)を追加します。

そこに次のコマンドを挿入します。sleep 0.3 && xdotool key End Shift+Home Clear

メールを挿入したい場合:sleep 0.3 && xdotool key t e s t at e x a m p l e period c o m

これはsleep 0.3、キーボードのショートカットを押すとコマンドがすぐに実行され(続行)キーボードを押しているキーがコードのキーを妨げるために必要です。たぶんこれがあなたの場合でも問題になりますか?

関連情報