光标切换

光标切换

一个Minecraft的Fabric客户端模组,让你通过按键切换系统光标可见性——而无需暂停游戏。

Cursor Toggle

一个 Minecraft Fabric 客户端模组,允许你通过快捷键切换系统光标的显示/隐藏,且不会暂停游戏。

功能

  • 通过快捷键切换光标 — 游戏中随时按下右 Alt(默认)即可显示/隐藏系统光标。
  • 不暂停游戏 — 光标显示时游戏不会暂停,不会弹出任何 GUI 或暂停菜单。
  • 屏蔽鼠标输入 — 光标显示期间,鼠标移动、点击和滚轮事件会被拦截,防止视角意外转动或误操作。
  • 失焦保护 — 光标显示模式下,窗口失去焦点不会导致游戏暂停或打开菜单。
  • 可自定义按键 — 可在“选项 → 控制 → 按键绑定”的“Cursor Toggle”分类中修改切换按键。

使用场景

  • 切换到其他窗口(浏览器、Discord 等)时不暂停游戏。
  • 在游戏运行时操作叠加窗口或第二屏幕。
  • 挂机时需要释放鼠标操作其他内容。

环境要求

项目 版本
Minecraft 1.20.4
Fabric Loader ≥ 0.15.0
Fabric API 任意兼容版本
Java ≥ 17

安装

  1. 为 Minecraft 1.20.4 安装 Fabric Loader
  2. 下载 Fabric API 并将其放入你的 mods 文件夹。
  3. Releases 下载最新的 cursor-toggle-x.x.x.jar 并放入你的 mods 文件夹。
  4. 启动游戏。

默认按键

操作 按键
切换系统光标 右 Alt

你可以在 选项 → 控制 → 按键绑定 → Cursor Toggle 中重新绑定。

从源码构建

git clone https://github.com/liuzeen1234/Cursor-Toggle.git
cd Cursor-Toggle
./gradlew build

编译好的 jar 文件将位于 build/libs/ 目录中。

工作原理

  1. 按键注册 — 使用 Fabric 的 KeyBindingHelper 注册按键绑定。每 tick 检查按键是否被按下。
  2. GLFW 光标模式 — 通过 LWJGL 直接在 GLFW_CURSOR_NORMAL(光标可见)和 GLFW_CURSOR_DISABLED(光标捕获)之间切换。
  3. Mixin: MouseMixin — 拦截 Mouse 类中的 onCursorPosonMouseButtononMouseScroll 方法。当光标可见时,所有鼠标输入都会被取消,以防止视角移动。
  4. Mixin: MinecraftClientMixin — 拦截 onWindowFocusChanged 方法。当光标可见且窗口失去焦点时,该事件会被取消,以防止游戏暂停。

许可证

MIT

作者

liuzeen1234