이 페이지들을 참고하였다.
1. pip install pynput
2. 예제입력
키보드 모니터링(입력)
from pynput import keyboard
def on_activate_h():
print('<ctrl>+<alt>+h pressed')
def on_activate_i():
print('<ctrl>+<alt>+i pressed')
with keyboard.GlobalHotKeys({
'<ctrl>+<alt>+h': on_activate_h,
'<ctrl>+<alt>+i': on_activate_i}) as h:
h.join()
이 코드는, with 내에서 벗어나지 않는 구조다.
따라서 구조와 맞게 코드를 작성해야한다.
마우스 모니터링(입력)
from pynput import mouse
def on_move(x, y):
print('Pointer moved to {0}'.format(
(x, y)))
def on_click(x, y, button, pressed):
print('{0} at {1}'.format(
'Pressed' if pressed else 'Released',
(x, y)))
if not pressed:
# Stop listener
return False
def on_scroll(x, y, dx, dy):
print('Scrolled {0} at {1}'.format(
'down' if dy < 0 else 'up',
(x, y)))
# Collect events until released
with mouse.Listener(
on_move=on_move,
on_click=on_click,
on_scroll=on_scroll) as listener:
listener.join()
# ...or, in a non-blocking fashion:
listener = mouse.Listener(
on_move=on_move,
on_click=on_click,
on_scroll=on_scroll)
listener.start()
3. 마우스 컨트롤 (출력)
from pynput.mouse import Button, Controller
mouse = Controller()
# Read pointer position
print('The current pointer position is {0}'.format(
mouse.position))
# Set pointer position
mouse.position = (10, 20)
print('Now we have moved it to {0}'.format(
mouse.position))
# Move pointer relative to current position
mouse.move(5, -5)
# Press and release
mouse.press(Button.left)
mouse.release(Button.left)
# Double click; this is different from pressing and releasing
# twice on macOS
mouse.click(Button.left, 2)
# Scroll two steps down
mouse.scroll(0, 2)
키보드 컨트롤 (출력)
from pynput.keyboard import Key, Controller
keyboard = Controller()
# Press and release space
keyboard.press(Key.space)
keyboard.release(Key.space)
# Type a lower case A; this will work even if no key on the
# physical keyboard is labelled 'A'
keyboard.press('a')
keyboard.release('a')
# Type two upper case As
keyboard.press('A')
keyboard.release('A')
with keyboard.pressed(Key.shift):
keyboard.press('a')
keyboard.release('a')
# Type 'Hello World' using the shortcut type method
keyboard.type('Hello World')
키보드 컨트롤, 키보드 입력, 마우스 입력, 마우스 컨트롤 각각의 기능은 가능한데,
4개를 모두 조합해서 쓸려면 어떻게 해야하는지는 잘 모르겠다.
'프로그래밍 > Python' 카테고리의 다른 글
[Python] 입력받는 방법 input() (0) | 2021.03.29 |
---|---|
[Python] 따옴표, 쌍따옴표, 출력하는 방법 (0) | 2021.03.29 |
[Python] Pyautogui를 이용하여 키보드, 마우스 제어 (0) | 2021.03.14 |
[Python] Pyqt로 GUI를 만들어보자 (0) | 2021.03.14 |
[Python] 엑셀 Import, Export 내용 수정까지 (0) | 2021.03.13 |
댓글