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

使用pynput无法控制Minecraft角色移动的问题如何解决

问题原因

Minecraft 尤其是Java版默认启用了*原始输入(Raw Input)*模式,会直接从硬件层读取键盘输入状态,绕过Windows系统的消息队列。pynput发送的模拟按键属于系统消息级别的输入,只有标准文本控件(比如聊天框、浏览器搜索栏)会响应这类信号,游戏的移动控制逻辑不会识别。

解决方案

方案1:关闭Minecraft原始输入(最简单,优先尝试)

打开Minecraft设置页,依次进入键盘/鼠标分类,找到Raw Input选项,将其关闭后重启游戏,再运行你的原有代码即可生效。
注意运行代码前要将Minecraft窗口置于前台,保持窗口焦点,不要切到其他程序。如果游戏是以管理员权限运行的,Python脚本也需要用管理员权限启动。

方案2:切换底层输入模拟库

如果关闭原始输入不符合你的使用需求,可更换为面向游戏场景的pydirectinput库,它底层调用DirectInput API,模拟的输入信号可以被绝大多数游戏的输入检测逻辑识别。

  1. 安装依赖:
    pip install pydirectinput
  2. 参考代码:
import pydirectinput
import time

time.sleep(3)
# 按下w后立刻释放,对应原代码逻辑
pydirectinput.press('w')
time.sleep(3)
pydirectinput.press('s')

# 如果需要长按移动,可以用以下写法
# pydirectinput.keyDown('w')
# time.sleep(2)
# pydirectinput.keyUp('w')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 17:24:00