介绍
这个模组修复了打开 GUI 时偶尔出现的鼠标指针居中问题,例如打开容器 GUI 时鼠标指针没有从中心出现,当你需要快速从箱子或物品栏中取出物品时,这可能会很危险。
原版在 26.3 之后已切换到 SDL 后端,彻底解决了鼠标指针居中问题,因此本模组不会更新到 26.2 以上的版本。
Wayland 用户
本模组支持在 wayland 上使用 ydotool 或 wdotool 将鼠标指针居中,要启用此功能,你需要正确配置它们,以下是基本设置步骤:
ydotool
1. 从源码安装 ydotool
最新版本的 ydotool 提供了无缝的居中体验,但目前只能从源码构建和安装。此工具仅在 XWayland 下有效。
要构建并安装它,只需在任意目录下的终端中执行以下命令:
//install command may vary on different platforms
sudo apt install git cmake scdoc
git clone https://github.com/ReimuNotMoe/ydotool.git
cd ydotool
mkdir build
cd build
cmake ..
make -j "$(nproc)"
sudo make install
运行 ydotoold -V 以验证你的安装。
2. 将你的用户添加到 sudo 例外中
在 Minecraft 中使用 ydotool 成功居中鼠标指针的唯一方法是以 sudo 权限运行 ydotool 命令。因此你需要让你的用户能够无需密码使用 sudo 运行 ydotool 命令:编辑 /etc/sudoers,添加两行:
<yourusername> ALL=(ALL) NOPASSWD:<ydotoold_path> //default path: /usr/local/bin/ydotoold
<yourusername> ALL=(ALL) NOPASSWD:<ydotool_path> //default path: /usr/local/bin/ydotool
wdotool
wdotool 是该功能的另一个绝佳选择,它最近发布并且正在积极开发中。它的配置要简单得多,你可以直接前往其 github 页面查看详细的配置指南。(注意,如果从源码构建,你还需要额外运行 sudo install -m 755 target/release/wdotool /usr/local/bin/wdotool)
配置完成后,你可以通过指定 JVM 参数 -DuseWdotool=<backend> 将此工具用作模组的后端,其中 <backend> 取决于你的合成器。
指定移动缩放值(可选)
在 wayland 上以编程方式移动鼠标指针存在一个内部问题——实际移动的位置可能会受到一些系统值的影响,具体取决于你的桌面环境。换句话说,只有在默认鼠标灵敏度且禁用鼠标加速的情况下(在某些桌面环境中还需要默认 UI 缩放),才能保证默认居中位置是正确的。幸运的是,请求的位置和实际位置似乎总是满足线性函数关系,因此我们可以使用一个 double 因子来校正它。
要确定此值,请使用此模组启动游戏并打开任意容器界面。模组会使用默认缩放值 (1.0) 将光标移至中心位置。保持光标不动,拿出尺子放在显示器上,测量光标的绝对位置,并将测得的 x 或 y 记录为 x1 或 y1。接着,保持游戏窗口位置不变,确定实际中心点,并用尺子测量其绝对位置,将测得的 x 或 y 记录为 x2 或 y2,那么缩放值应为 x2 / x1 或 y2 / y1。注意:游戏窗口最好调小(屏幕宽度/高度的一半即可),并靠近左上角,以确保光标不会移出屏幕;否则光标位置会不准确(被限制在屏幕边缘)。也可以通过截图,再用能显示像素坐标的绘图软件测量位置来完成这一步,这样会更准确。如有需要,可以对数值进行四舍五入。
确定缩放值后,可以使用 JVM 参数 -DcursorMoveScalingValue=<value> 重启游戏以应用该值。只要不更改系统鼠标灵敏度/加速度或 UI 缩放值,该值就应始终准确。
已知问题
真正的 Wayland(非 XWayland)窗口无法获取其在屏幕上的绝对位置,因此只有当游戏窗口位于 (0,0) 时,计算出的中心点才是准确的。
常见问题
CursorCentered Fix 支持哪些 Minecraft 版本?
CursorCentered Fix 支持 Minecraft Java 版 1.14.4–26.2,共 43 个版本,可用的加载器:Fabric / Forge / NeoForge。下载时注意选择和你游戏版本一致的文件。
CursorCentered Fix 怎么安装?
先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric / Forge / NeoForge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。
LitnhJacuzzi 的其他作品
查看全部 →IMBlocker
一个帮助控制输入法的 Minecraft 模组
CursorCentered Fix
一个修复打开GUI时偶尔出现的鼠标指针居中问题的Minecraft模组。
TradeHacker
Allow players in creative mode to get villagers' goods without paying.
TradeHacker
Allow players in creative mode to get villagers' goods without paying.
评论
登录后评论和评分