어떻게 파이썬에서 키 입력을 시뮬레이트 할 수 있습니까? 여러 개의 키를 동시에 누르기를 원합니다. 같은Python을 사용하여 Linux에서 키 입력을 시뮬레이트
뭔가 :
keystroke('CTRL+F4')
또는
keystroke('Shift+A')
어떻게 파이썬에서 키 입력을 시뮬레이트 할 수 있습니까? 여러 개의 키를 동시에 누르기를 원합니다. 같은Python을 사용하여 Linux에서 키 입력을 시뮬레이트
뭔가 :
keystroke('CTRL+F4')
또는
keystroke('Shift+A')
, 당신은 xautomation 패키지 (데비안 기반 시스템에서 apt-get install xautomation
)를 설치하고 키 누름을 시뮬레이션 xte
을 사용하여, 예컨대 :
from subprocess import Popen, PIPE
control_f4_sequence = '''keydown Control_L
key F4
keyup Control_L
'''
shift_a_sequence = '''keydown Shift_L
key A
keyup Shift_L
'''
def keypress(sequence):
p = Popen(['xte'], stdin=PIPE)
p.communicate(input=sequence)
keypress(shift_a_sequence)
keypress(control_f4_sequence)
어떻게 키를 셸로 보낼 수 있습니까? – user2988257
python-uinput : 리눅스 uinput 커널 모듈에
파이썬 API ...
파이썬 uinput 파이썬 인터페이스이다 Linux 사용자 삽입 이미지 el 모듈을 사용하여 사용자 공간 장치 드라이버를 커널에 연결할 수 있습니다. 실제로, 파이썬은-uinput는 윈도우에있는 경우, Sendkeys를 사용
소문자로 내보낼 수 있습니까? 예를 들어주세요 !! – karensantana
링크가 죽었습니다 –
가 죽은 간단한 ... 프로그래밍 임의의 입력 이벤트를 생성하는 가상 조이스틱, 키보드와 마우스를 만들 수 있습니다 및 Linux 경우, 제안을 시도 xsendkeys 또는 pexpect의 경우 given here입니다. 이 X 특정 비록
는 python-uinput 및 evdev을 고려 할 수 있습니다. 후자 shift+a
의 예 : 당신이 리눅스를 사용하려는 경우
from evdev import uinput, ecodes as e
with uinput.UInput() as ui:
ui.write(e.EV_KEY, e.KEY_LEFTSHIFT, 1)
ui.write(e.EV_KEY, e.KEY_A, 1)
ui.syn()
새로운 가상 입력 장치가 생성되었지만 키 입력이 X에 나타나지 않는다는 것을 시스템 로그에서 볼 수 있기 때문에 비슷한 코드를 시도 했습니까? X 서버가 키를받을 수 있도록 특별한 작업을 할 수 있습니까? – akostadinov
링크가 작동하지 않습니다. –
, pyautogui 라이브러리를 사용해보십시오. 여러 개의 키를 들어 당신은 일을 저를 위해, 예컨대 :
pyautogui.hotkey('ctrl', 'c') # ctrl-c to copy
를 바로 가기 키를 사용해야합니다 - 여기를 참조 :이 작업을 수행 할 이유가 How to pass a keystroke (ALT+TAB) using Popen.communicate (on Linux)?
물어 봐도 될까요? 또한 어떤 환경에서? 명령 줄? 그래픽 데스크탑? –