You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python keyboard模块add_hotkey函数在Windows10上无法正常工作

Python keyboard库Windows10下热键/按键钩子失效问题解决

问题场景

运行以下测试脚本时,keyboard.write()功能正常,但add_hotkey、hook_key绑定的触发逻辑完全无响应;相同代码在Linux Mint物理机、Linux虚拟机中均可正常运行,排除硬件键盘问题,锁定为Windows10系统层面问题:

import keyboard

keyboard.write('hehe')
keyboard.add_hotkey('a', lambda: keyboard.write('test'))
keyboard.add_hotkey('ctrl + shift + a', print, args =('input', 'hotkey'))
keyboard.hook_key('q', lambda: print(1))

keyboard.wait()

解决步骤

  • 以管理员权限执行脚本
    Windows系统的权限机制会限制普通进程捕获全局按键,右键点击Python解释器或脚本文件,选择「以管理员身份运行」后再执行测试代码,这是此类问题最常见的解决方式。

  • 排查安全软件拦截
    Windows Defender或第三方杀毒软件可能将keyboard库的按键捕获行为判定为潜在恶意操作(如键盘记录),需进入安全软件的拦截日志,将Python进程或目标脚本加入信任白名单后重试。

  • 检查热键冲突
    确认是否有其他后台程序(如AutoHotkey、办公软件、快捷键工具)已占用a、ctrl+shift+a等目标热键,暂时关闭此类程序后重新测试脚本。

  • 重装适配Windows的keyboard库
    先卸载现有版本:

    pip uninstall keyboard
    

    再安装最新版以修复可能存在的Windows兼容问题:

    pip install --upgrade keyboard
    
  • 优化等待逻辑
    替换原有等待逻辑为带延迟的循环,避免阻塞Windows消息队列:

    import keyboard
    import time
    
    keyboard.write('hehe')
    keyboard.add_hotkey('a', lambda: keyboard.write('test'))
    keyboard.add_hotkey('ctrl + shift + a', print, args=('input', 'hotkey'))
    keyboard.hook_key('q', lambda: print(1))
    
    while True:
        time.sleep(0.1)
    

内容的提问来源于stack exchange,提问作者RVDL IT

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 11:06:48