Pynput控制器中的热键

2024-04-26 04:51:11 发布

您现在位置:Python中文网/ 问答频道 /正文

如何使用Pynput控制器模拟热键按下,例如:shift + s + down 我要同时按下eg中的三个键

我想要这样的东西:

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)

 

Tags: keyfromimportrightshifttime控制器down
1条回答
网友
1楼 · 发布于 2024-04-26 04:51:11

检查Keyhere,查看所有可用键的列表

您可以使用函数.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()

相关问题 更多 >