본문 바로가기
소프트웨어/파이썬

[파이썬] 파이썬 키보드/마우스 입력 서버

by 만들오 2024. 6. 17.

파이썬의 keyboard, mouse 라이브러리를 이용해 윈도우에 키보드/마우스 입력 이벤트를 발생시킵니다.

 

만들오토와 함께 사무 자동화에 사용할 수 있습니다.

 

※ win32 api를 이용하기 때문에 게임화면에 입력은 안되는 경우가 많습니다. 아래 글 참고

[만들오토] 만들오의 매크로 "만들오토" 소개 (tistory.com)

 

[만들오토] 만들오의 매크로 "만들오토" 소개

매크로란?일련의 명령어나 작업을 자동화하기 위해 사용되는 프로그래밍 기능매크로의 인식최근들어 매크로는 나쁜 것이란 인식이 생기게 된 것 같습니다.매크로를 악용하는 사례가 많이 때문

mandloh.tistory.com


파이썬 라이브러리 설치

 

pip install Flask Flask-Cors keyboard mouse

 


파이썬 코드
#!/usr/bin/env python
# input_9000.py

from flask import Flask, Response
from flask_cors import CORS
import os
import keyboard
import mouse


#플라스크 웹서버 생성
app = Flask(__name__)
CORS(app)


#라우팅 구성
@app.route('/<cmd>')
def get_input(cmd):
    print(cmd)
    if "," in cmd:
        # x,y
        x = int(cmd[:cmd.index(",")])
        y = int(cmd[cmd.index(",")+1:])
        mouse.move(x, y, duration=0.1)
        mouse.click()
    else:
        keyboard.write(cmd)
    return Response(status=204)

#파일명으로부터 변수 받기. 파일명은 input_포트.py
file_name = os.path.abspath(__file__).split("\\")[-1]
port = int(file_name.split("_")[1].split(".")[0])

print(f"키보드 입력서버를 시작합니다.")
print("")
print(f"서버 URL: http://127.0.0.1:{port}")
print("종료는 Ctrl + c 를 입력하세요.")
print("")
app.run(host="127.0.0.1", port=port, debug=False, threaded=True, use_reloader=False)

 

사용 방법

 

포트번호를 파일명을 파싱해 적용하도록 구성했습니다.

  • input_9000.py → http://127.0.0.1:9000
  • input_8080.py  http://127.0.0.1:8080

브라우저 주소에 http://127.0.0.1:9000/500,500 을 입력하면 500,500 위치를 클릭하게 됩니다.

 

만들오토를 이용하는 경우, URL을 "http://127.0.0.1:포트번호"로 입력해 주면 됩니다.

 

기타 궁금하신 부분은 댓글을 남겨주세요.

 

감사합니다.

[끝].

728x90

댓글