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

Mac系统下使用Python keyboard模块调用press('a')报错求助

Mac下使用keyboard模块模拟按键"A"报错的解决方法

在Mac系统中运行以下代码尝试模拟按下字母A时出现报错:

import keyboard
keyboard.press("a")

报错信息如下:

File "/Users/lr/PycharmProjects/PythonProject/more.py", line 2, in <module>
    keyboard.press('a')
  File "/Users/lr/PycharmProjects/PythonProject/.venv/lib/python3.9/site-packages/keyboard/__init__.py", line 396, in press
    send(hotkey, True, False)
  File "/Users/lr/PycharmProjects/PythonProject/.venv/lib/python3.9/site-packages/keyboard/__init__.py", line 379, in send
    parsed = parse_hotkey(hotkey)
  File "/Users/lr/PycharmProjects/PythonProject/.venv/lib/python3.9/site-packages/keyboard/__init__.py", line 344, in parse_hotkey
    scan_codes = key_to_scan_codes(hotkey)
  File "/Users/lr/PycharmProjects/PythonProject/.venv/lib/python3.9/site-packages/keyboard/__init__.py", line 324, in key_to_scan_codes
    raise ValueError('Key {} is not mapped to any known key.'.format(repr(key)), e)
ValueError: ("Key 'a' is not mapped to any known key.", ValueError('Unrecognized character: a'))

解决方法

  • 授予辅助功能权限
    Mac系统对键盘控制类操作有严格的权限限制,需要给运行代码的程序(如PyCharm、终端)开启「辅助功能」权限:

    1. 打开「系统设置」→「隐私与安全性」→「辅助功能」
    2. 在列表中找到对应的程序,勾选允许其控制电脑
    3. 重启程序后重新运行代码
  • 改用兼容的方法或模块
    部分版本的keyboard模块在Mac上对普通字符的press方法支持不佳,可以尝试:

    1. 使用keyboard.write()直接输入字符:
      import keyboard
      keyboard.write("a")
      
    2. 替换为更适配Mac的pyautogui模块(先执行pip install pyautogui安装):
      import pyautogui
      pyautogui.press('a')
      
  • 调整模块版本
    若坚持使用keyboard.press,可以尝试升级或降级模块版本:

    # 升级到最新版本
    pip install --upgrade keyboard
    # 或指定版本安装,例如0.13.5
    pip install keyboard==0.13.5
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 16:20:00