【问题标题】:Bind keyboard event in python在python中绑定键盘事件
【发布时间】:2016-01-07 07:14:14
【问题描述】:

以下代码的循环会在 10 分钟后自动中断,我想手动中断此循环,这意味着我想发送键盘事件(ctrl + shift + x)来中断。我该怎么做?感谢您花时间阅读本文。

def mouseerr():
    timeout = time.time() + 60*10
    while 1:

        ctypes.windll.user32.SetCursorPos(0,0)
        if time.time() > timeout:
            break

【问题讨论】:

  • this idea 帮忙吗?Curses 包有助于检索键盘输入。另一种方法是使用tkinter 制作一个小型 GUI,并在其中绑定your desired key combination
  • 也许msvcrt 会有所帮助?
  • @NanderSpeerstra 寻找基于windows的解决方案。

标签: python


【解决方案1】:

您可以使用 pynput 模块来监听键盘输入。

通过运行控制台命令pip install pynput 安装模块。 然后,您可以通过写入脚本from pynput.keyboard import Listener, Key 来导入模块的正确部分。然后添加with Listener(on_press=keypress,on_release=keyrelease) as listener: listener.join() 监听器并在这段代码之前定义两个函数 keypress 和 keyrelease 并带有一个输入参数,这将使您返回按下的键。该方法可能会打破循环。确保在额外的线程中运行它,以避免冻结其余代码。作为替代方案,您可以使用 pygame,但 pynput 更容易实现。

【讨论】:

    猜你喜欢
    • 2014-03-28
    • 1970-01-01
    • 1970-01-01
    • 2017-07-18
    • 1970-01-01
    • 1970-01-01
    • 2018-08-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多