【问题标题】:How to add hotkey in Python?如何在 Python 中添加热键?
【发布时间】:2023-01-12 05:33:26
【问题描述】:

我正在为游戏制作机器人,我想在按下热键时调用该功能。我已经尝试了一些解决方案,但效果并不好。这是我的代码:

def start():
    while True:
        if keyboard.is_pressed('alt+s'):
            break
        ...

def main():
    while True:
        if keyboard.is_pressed('alt+p'):
            start()

这种方式很稳定,但会导致延迟,我很难打字。

def main():
    keyboard.add_hotkey('alt+p', start, args=(), suppress=True, trigger_on_release=True)
    while True:
        # waiting for the user to press hotkey
        continue

据我所知, keyboard.add_hotkey 只返回输出,所以我无法在 start 函数中停止循环。

有没有更好的解决办法?

【问题讨论】:

    标签: python keyboard hotkeys


    【解决方案1】:

    虽然这对你来说可能会迟到,但如果他们发现这个可能会帮助其他人......

    exit = false
    
    
    def start():
        exit = true
    
    
    def main():
        keyboard.add_hotkey('alt+p', start, suppress=True, trigger_on_release=True)
        while not exit:
            # put something here, you can't have an empty loop
        keyboard.remove_hotkey('alt+p')
    

    当调用 main 时,这将添加一个热键,当触发时,将运行函数启动。然后它将进入 while 循环。 (请注意,除非您正在使用子处理,否则这将阻止其他一切继续进行,直到您离开循环)while 循环将运行到exit = false。删除热键可能是个好主意,尽管您可能也有理由不这样做。

    【讨论】:

      猜你喜欢
      • 2016-02-23
      • 2010-12-30
      • 2011-10-31
      • 1970-01-01
      • 1970-01-01
      • 2012-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多