見出し画像

Pynputで、マウスイベントとキーイベントを取得する。

マウスイベントリスナーを作成
キーボードリスナー作成し、終了するまでまつ。

マウスイベントリスナーでは、クリック、MOVE、スクロールを処理する
キーボードリスナーでは、押されたキーを表示する。ESCボタンで、マウスリスナー終了し、キーボードリスナー終了する。

from pynput import keyboard, mouse

def on_key_press(key):
    try:
        print(f'Key pressed: {key.char}')
    except AttributeError:
        print(f'Special key pressed: {key}')
    if key == keyboard.Key.esc:
        mouse_listener.stop()
        print("Mouseリスナーを停止ししました。")
        return False

def on_click(x, y, button, pressed):
    if pressed:
        print(f'Clicked at ({x}, {y}) with {button}')

def on_move(x, y):
    print(f'move to ({x}, {y})')

def on_scroll(x, y, dx, dy):
    if dy >= 0:
         dir = 'Scroll Up: '
    else:
         dir = 'Scroll Dn: '
    print(f'{dir} pos({x}, {y}) scroll({dx}, {dy})')
    
mouse_listener = mouse.Listener(on_click=on_click,
                                on_move=on_move,
                                on_scroll=on_scroll)
mouse_listener.start()
# キーボードリスナー開始→終了するまで待つ
with keyboard.Listener(on_press=on_key_press) as key_listener:
    key_listener.join()

print(f'サンプルコード終了')

いいなと思ったら応援しよう!