You are viewing a potentially older version of this package. View all versions.
MengLei-KeyBindingExtensions-1.1.1 icon

KeyBindingExtensions

KeyBindingExtensions:扩展六轨按键绑定,支持鼠标按键和同键多轨道绑定,沿用游戏内设置与保存方式。

Date uploaded a week ago
Version 1.1.1
Download link MengLei-KeyBindingExtensions-1.1.1.zip
Downloads 44
Dependency string MengLei-KeyBindingExtensions-1.1.1

This mod requires the following mods to function

BepInEx-BepInExPack_IL2CPP-6.0.755 icon
BepInEx-BepInExPack_IL2CPP

BepInEx pack for IL2CPP x64 Unity games. Preconfigured and ready to use.

Preferred version: 6.0.755

README

KeyBindingExtensions(按键绑定扩展)

扩展 In Falsus 的六轨按键绑定,支持鼠标按键,以及同一个键盘键或鼠标按钮绑定多个轨道。通过游戏内操作设置配置,保留原有的应用、保存和恢复默认功能。

使用

  1. 打开“设置”中的操作设置页。
  2. 点击任意一个轨道键位槽。
  3. 按下要绑定的键盘键或鼠标按钮;鼠标按钮会显示为 Mouse0、Mouse1 等。
  4. 点击原版“应用”按钮保存。

Mouse0、Mouse1、Mouse2 分别是左键、右键和中键,Mouse3、Mouse4 是 Input System 的前进键和后退键。模组优先通过这些标准 ButtonControl 读取每个原始事件,并同时保留 MouseState.buttons 的完整 16 位状态读取,因此同一路径可处理 Mouse0 至 Mouse15;如果自定义鼠标布局还在 allControls 中公开其他 ButtonControl,这些控件也会获得稳定的 MouseN 并可绑定。实际可用按钮取决于鼠标、驱动和 Unity 所公开的控件。

选择槽位所用的首次点击不会立即成为绑定。再次点击同一个槽位可以绑定 Mouse0;也可以在选择槽位后按侧键。应用按钮、恢复默认和键盘重新绑定继续生效。

同一个键盘键或鼠标按钮可以绑定任意多个轨道。依次选中要共用键位的槽位,逐一绑定同一个按键,再点击“应用”;设置其他槽位时不会替换已有绑定。游玩时按下、保持和松开会同时作用于全部对应轨道。

绑定写入游戏原有的 keybind_BottomLane0 至 keybind_BottomLane5 偏好项,不创建第二份配置。重新打开设置、进入歌曲或重启游戏后,设置槽位和轨道按键提示器都会显示并使用已保存的 MouseN。这些保留值需要本模组才能显示和触发;停用模组前可先在操作设置中恢复默认。

安装

建议通过 In Falsus 的 Thunderstore/r2modman 安装。依赖中的 BepInExPack_IL2CPP 会由模组管理器处理,本包不携带 BepInEx、Doorstop 或 .NET 运行时。Thunderstore 包标识为 MengLei-KeyBindingExtensions,插件 DLL 名为 KeyBindingExtensions.dll,可与 ParticleFusion 和 SkillSelection 分别启用或停用。

若已安装旧包 MengLei-MouseKeyBindings,先在模组管理器中卸载旧包,再安装 MengLei-KeyBindingExtensions。手动安装时先移除旧的 MouseKeyBindings.dll,再放入 KeyBindingExtensions.dll。按键绑定仍保存在游戏原有的偏好项中。

输入行为

鼠标按下和释放使用 Input System 原始事件时间。只有 MouseN 当前实际绑定在六轨之一、GameScene 已登记在原版始终接收输入栈且暂停层未显示时,事件才会进入现有六轨处理路径;角色选择、设置和其他菜单不会收到 MouseN 合成键。释放事件还会在帧末用对应 ButtonControl 的当前物理状态校正,避免事件布局漏报释放后轨道保持点亮。暂停弹窗出现时,已经接受按下的轨道会立即收到配对释放,并在暂停层完全关闭前保持失效。

鼠标绑定不包含 Ctrl、Alt 或 Shift 组合。原有键盘绑定及其修饰键匹配不受修改。

兼容范围

当前适配 Steam App ID 3971950、Unity 6000.3.9f1 和 IL2CPP 元数据版本 39。实现依赖游戏当前的 InputManager、LaneKeyBindSettingsContainer、GameScene 和 KeyPressedIndicator 互操作接口;游戏更新这些接口后需要同步更新模组。

CHANGELOG

Changelog

1.1.1

  • 项目目录、项目文件、程序集与 DLL 名统一为 KeyBindingExtensions,以 MengLei-KeyBindingExtensions 独立包重新发布。
  • 沿用原插件 GUID 和游戏按键偏好,保持鼠标按键及同键多轨道绑定行为。
  • 补充从旧包 MengLei-MouseKeyBindings 卸载后安装新包的迁移说明。

1.1.0

  • 模组显示名统一为 KeyBindingExtensions(按键绑定扩展),更新介绍与使用说明;保留原有插件 GUID、DLL 和发布包标识。
  • 支持同一个键盘键或鼠标按钮绑定多个轨道,设置新槽位时保留其他轨道已有绑定。
  • 同键轨道同步接收按下、保持、松开和原始输入时间,各轨道继续独立执行原版判定,按键提示同步点亮和熄灭。

1.0.1

  • 适配游戏 1.0.6:设置页刷新轨道键名时不再以鼠标保留值索引键盘,修复绑定鼠标后插件报错停用的问题。

1.0.0

  • 新增独立的 MouseKeyBindings 插件。
  • 六个轨道键位槽支持 Mouse0 至 Mouse4 标准按钮事件、Mouse0 至 Mouse15 原生状态位,以及自定义鼠标布局额外公开的全部 ButtonControl。
  • 沿用原版重复绑定检查、应用、恢复默认和偏好保存流程。
  • 设置页和歌曲场景的按键提示器均以 MouseN 显示鼠标绑定,并隔离选择槽位所用的首次点击。
  • 游玩时只把当前六轨绑定的鼠标键发送给已登记在始终接收栈中的 GameScene;不向菜单注入合成键,并在暂停层出现时立即配对释放。
  • 输出文件为 MouseKeyBindings.dll。
  • 发布包采用 Thunderstore 标准结构,不携带 BepInEx 或运行时文件。