사용자 정의 키보드 단축키는 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키보드의 단축키를 누르면 명령이 즉시 실행되고 (계속) 키보드를 누르고 있는 키가 코드의 키를 방해하기 때문에 필요합니다. 어쩌면 이것이 귀하의 경우에도 문제가 될까요?

관련 정보