Python pynput - マウスボタンを連打する(2)

前回に引き続きキーボードやマウス操作を行うライブラリ「pynput」をご紹介します。

前回は、単純に左クリックを連打するプログラムを作成しましたがこのままではとても使いにくいです。

今回は使い勝手をよくするために、ファンクションキー[F12]を押すと連打が有効になり、もう一度押すと連打が解除されるように実装します。

コーディング

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
from pynput.mouse import Button, Controller
from pynput.keyboard import Key, Listener
import threading, time

def mouseclick(e):
while True:
if e.isSet(): # F12が押されて有効化したときに左クリック連打を行う
Controller().click(Button.left)
time.sleep(1) # 1秒待ち

e = threading.Event()
t = threading.Thread(target=mouseclick, args=(e,))
t.setDaemon(True)
t.start()

def on_press(key):
global e
if key == Key.f12: # F12が押されたら有効・無効を切り替える
if e.isSet():
e.clear()
else:
e.set()
if key == Key.esc: # ESCが押されたらプログラムを終了する
return False

with Listener(on_press=on_press) as listener:
listener.join()