问题描述
如何使用Pynput Controller模拟热键,例如:shift + s + down
我希望同时按下例如中的所有三个键
我想要这样的东西:
from pynput.keyboard import Key,Controller
keyboard = Controller()
keyboard.press(Key.shift + 's' + Key.right)
time.sleep(0.1)
keyboard.release(Key.shift + 's' + Key.right)
解决方法
检查Key
类here,以找到所有可用键的列表。
您可以使用函数.press()
模拟压力:
from pynput.keyboard import Key,Controller
import time
import threading
class MyClicker():
def __init__(self,keys):
self.keys = keys
self.controller = Controller()
self.start_press = False
def Press(self,key):
while not self.start_press:
pass
self.controller.press(key)
def Run(self):
#Create a thread for each key press
for press_key in self.keys:
threading.Thread(target=self.Press,args=(press_key,)).start()
self.start_press = True
time.sleep(0.1)
self.start_press = False
for release_key in reversed(self.keys):
self.controller.release(release_key)
MyClicker([Key.shift,'s',Key.down]).Run()