
可自定义优化输入设置
不要再编辑 input.settings。改为编辑生成它的模板,这样就不需要那么多改动。一种优化后的添加模组按键绑定的方法。
查看大图[size=5][b]可自定义[/b][/size]
[size=6][b]已优化[/b][/size]
[size=6][b]输入设置[/b][/size]
[size=4][i]不要再编辑 input.settings 了。而是编辑生成它的模板,这样需要改动的地方少得多。这是一种优化添加和维护模组按键绑定的方式。[/i][/size]
[b][size=4]概述与目的[/size][/b]
在[i]《巫师3》[/i]中安装带有按键绑定的模组一直相当繁琐。有几个额外的步骤必须手动完成。按照传统方法,每个模组都必须在十几个地方编辑 [font=Courier]input.settings[/font] 文件。
这里分享的严格来说并不是一个模组,而是一个[b]模板[/b],你可以用它让这个过程更加优化,尤其是在长期安装多个各自带有额外按键绑定的模组时。
这种方法[b]不同之处[/b]在于,我们不编辑输入设置,而是修改 [font=Courier]input_qwerty.ini[/font],即游戏用来生成输入设置的模板。然后我们[u]删除[/u] [font=Courier]input.settings[/font] 文件,让它从我们已经自定义好的模板重新生成。
这有几个[b]优点[/b]:
[list]
[]模板需要[b]更少的编辑[/b],因为上下文可以相互派生[/]
[][b]更容易维护[/b],尤其是当你添加更多带有自定义按键绑定的模组时[/]
[]这些设置[b]永远不会丢失[/b],因为游戏不会重写这个文件,不同于 [font=Courier]input.settings[/font][/]
[/list][b]基础游戏的全部按键绑定[/b][b]已经包含[/b]在内,同时还包含以下模组的设置
[list]
[][url=https://www.nexusmods.com/witcher3/mods/13115]AutoLoot All-in-One[/url] 作者 [url=https://www.nexusmods.com/witcher3/users/31214075]HermesZum[/url]([url=https://www.nexusmods.com/witcher3/mods/7198]原版[/url])与 [url=https://www.nexusmods.com/witcher3/users/44228817]killercycDDS[/url]([i]Remaster[/i] 移植)[/]
[][url=https://www.nexusmods.com/witcher3/mods/8106]Books Panel Keybind[/url] 作者 [url=https://www.nexusmods.com/witcher3/users/56064207]MerseyRockoff[/url][/]
[][url=https://www.nexusmods.com/witcher3/mods/11015]Community GUI Enhancements & Restorations[/url] 作者 [url=https://www.nexusmods.com/witcher3/users/75935223]glassfish777[/url][/]
[][url=https://www.nexusmods.com/witcher3/mods/13130]Friendly HUD[/url] 作者 [url=https://www.nexusmods.com/witcher3/users/905332]wghost81[/url][/]
[][url=https://www.nexusmods.com/witcher3/mods/6568]Progress on the Path[/url] 作者 [url=https://www.nexusmods.com/witcher3/users/138299963]Faen90[/url][/]
[][url=https://www.nexusmods.com/witcher3/mods/14206]Quick Manual Save & Load[/url] 作者 [url=https://www.nexusmods.com/witcher3/users/133577168]CloudGiant[/url](我)[/]
[][url=https://www.nexusmods.com/witcher3/mods/12471]Roach Stash Alternative[/url] 作者 [url=https://www.nexusmods.com/witcher3/users/181604541]bedoyaj[/url][/]
[/list]如果你碰巧安装了相同的模组,可以直接使用这些设置,也可以将其视为你自己自定义的示例。
[b][size=4]设置文件所在位置[/size][/b]
[i]《巫师3》[/i]中的按键绑定定义涉及三个文件:
[list]
[][font=Courier]<GAME_ROOT>\bin\config\r4game\user_config_matrix\pc\[b][u]input.xml[/u][/b][/font][/]
[][font=Courier]<GAME_ROOT>\bin\config\r4game\legacy\base\[b][u]input_qwerty.ini[/u][/b][/font][/]
[][font=Courier]%USERPROFILE%\Documents\The Witcher 3\[b][u]input.settings[/u][/b][/font][/]
[/list]其中 [font=Courier]<GAME_ROOT>[/font] 指的是游戏安装所在的目录,通常是以下之一:
[list]
[][i][font=Courier]C:\Steam\steamapps\common\The Witcher 3[/font][/i][/]
[][i][font=Courier]%ProgramFiles(x86)%\GOG Galaxy\Games\The Witcher 3 Wild Hunt GOTY[/font][/i][/]
[][i][font=Courier]%ProgramFiles%\The Witcher 3[/font][/i][/]
[/list]为简单起见,从现在起我将只用它们的文件名来指代这些文件,但需要注意的是每个文件都位于不同的位置,其中一个甚至不在游戏安装目录下,而是在你的[i]文档[/i]中。
第一个文件 [font=Courier]input.xml[/font] 仅负责列出可以通过菜单修改的按键绑定。它并不定义这些绑定,事实上它可以是空的,唯一的后果是无法通过设置更改按键绑定。绑定本身由后两个文件决定,如果 [font.Courier]input.settings[/font] 不存在(如全新安装的游戏),它会从 [font=Courier]input_qwerty.ini[/font] 生成。一旦存在,就只有 [font=Courier]input.settings[/font] 文件决定绑定是什么,而 [font=Courier]input_qwerty.ini[/font] 不再起作用。
[b][size=4]另类做法[/size][/b]
常见的做法是修改 [font=Courier]input.settings[/font],在那里添加你的自定义按键绑定。而这里,我们改为修改 [font=Courier]input_qwerty.ini[/font] 并[u]删除[/u] [font=Courier]input.settings[/font],让它从中重新生成。
[font=Courier]input.settings[/font] 和 [font=Courier]input_qwerty.ini[/font] 这两个文件格式相似:它们按节组织,这些节是诸如 [font=Courier][Combat[/font] 或 [font=Courier][Exploration][/font] 的上下文:它们决定了在那些情况下用户可以使用哪些按键。在每个上下文中,控制分配(绑定)遵循以下格式:
[font=Courier]IK_LShift=(Action=Sprint)[/font]
上面表示[i]左 Shift[/i] 键 [font=Courier]IK_LShift[/font] 被分配给[i]冲刺[/i]动作。这与 [font=Courier]input.xml[/font] 中的 [font=Courier]<Var builder="Input"[/font] 条目及 [font=Courier]actions="[...];Sprint"[/font] 相匹配。
然而,两者之间有一个重要区别:在 [font=Courier]input_qwerty.ini[/font] 中,我们可以使用特殊设置:
[font=Courier]DERIVED_FROM=BASE_CharacterMovement[/font]
上面一次性将多个绑定从一个上下文导入到另一个上下文。这非常重要,因为这意味着我们不再需要像在 [font=Courier]input.settings[/font] 中那样为每个上下文反复定义相同的绑定。相反,我们只需定义一次绑定,将它们分组到一个上下文节中,然后将它们导入到我们希望用户可用的另一个上下文中。
[b][size=4]安装与使用[/size][/b]
压缩包包含两个文件:[font=Courier]input.xml[/font] 和 [font=Courier]input_qwerty.ini[/font]。你仍然[b]必须编辑它们[/b]以适应你的需求和设置,但它们已经重新组织过,以便尽可能简单直接地使用。
以下模组的完整设置已包含在内,如果你安装了相同的模组,可以直接使用,也可以作为你自己定义的示例:
[b][size=3][url=https://www.nexusmods.com/witcher3/mods/13115]AutoLoot All-in-One[/url] 作者 [url=https://www.nexusmods.com/witcher3/users/31214075]HermesZum[/url]([url=https://www.nexusmods.com/witcher3/mods/7198]原版[/url])与 [url=https://www.nexusmods.com/witcher3/users/44228817]killercycDDS[/url]([i]Remaster[/i] 移植)[/size][/b]
[code]
<!-- IK_U: Auto Loot Once [Auto-Loot All-in-One] -->
<Var builder="Input" id="AutoLootRadius" displayName="ahdal_keyRadius" displayType="INPUTPC" actions="AutoLootRadius" tags="locked"/>
<!-- IK_U [Hold]: Toggle Auto Loot On/Off [Auto-Loot All-in-One] -->
<Var builder="Input" id="ToggleTrueAutoLoot" displayName="ahdal_keyTrue" displayType="INPUTPC" actions="ToggleTrueAutoLoot" tags="locked"/>[/code]
[b][size=3][url=https://www.nexusmods.com/witcher3/mods/8106]Books Panel Keybind[/url] 作者 [url=https://www.nexusmods.com/witcher3/users/56064207]MerseyRockoff[/url][/size][/b]
[code]
<!-- IK_P: Glossary Books Panel -->
<Var builder="Input" id="PanelBooks" displayName="books_panel_title" displayType="INPUTPC" actions="PanelBooks" tags="locked"/>[/code]
[b][size=3][url=https://www.nexusmods.com/witcher3/mods/11015]Community GUI Enhancements and Restorations[/url] 作者 [url=https://www.nexusmods.com/witcher3/users/75935223]glassfish777[/url][/size][/b]
[code]
<!-- IK_Comma: Storybook Panel [Community GUI] -->
<Var builder="Input" id="PanelStorybook" displayName="panel_title_glossary_storybook" displayType="INPUTPC" actions="PanelStorybook" tags="locked"/>
<!-- IK_Period: Show Journal Update in Panel [Community GUI] -->
<Var builder="Input" id="ShowEntryInPanel" displayName="panel_button_common_more_info" displayType="INPUTPC" actions="ShowEntryInPanel" tags="locked"/>[/code]
[b][size=3][url=https://www.nexusmods.com/witcher3/mods/13130]Friendly HUD[/url] 作者 [url=https://www.nexusmods.com/witcher3/users/905332]wghost81[/url][/*][/size][/b]
[code]
<!-- IK_8: Switch Crossbow/Bomb [Friendly HUD] -->
<Var builder="Input" id="SwitchCrossbow" displayName="SwitchCrossbow" displayType="INPUTPC" actions="SwitchCrossbow" tags="locked"/>
<!-- IK_RShift: Pin HUD Module (Modifier) [Friendly HUD] -->
<Var builder="Input" id="PinModuleModfier" displayName="PinModuleModfier" displayType="INPUTPC" actions="PinModuleModfier" tags="locked"/>
<!-- IK_F10: Toggle Essential HUD Modules [Friendly HUD] -->
<Var builder="Input" id="ToggleEssentials" displayName="ToggleEssentials" displayType="INPUTPC" actions="ToggleEssentials" tags="locked"/>
<!-- IK_Enter: Hold to See Essential Modules [Friendly HUD] -->
<Var builder="Input" id="HoldToSeeEssentials" displayName="HoldToSeeEssentials" displayType="INPUTPC" actions="HoldToSeeEssentials" tags="locked"/>
<!-- IK_K: Hold to See Character Modules [Friendly HUD] -->
<Var builder="Input" id="HoldToSeeCharStats" displayName="HoldToSeeCharStats" displayType="INPUTPC" actions="HoldToSeeCharStats" tags="locked"/>
<!-- IK_M: Hold to See Mini-Map [Friendly HUD] -->
<Var builder="Input" id="HoldToSeeMap" displayName="HoldToSeeMap" displayType="INPUTPC" actions="HoldToSeeMap" tags="locked"/>
<!-- IK_J: Hold to See Current Objective [Friendly HUD] -->
<Var builder="Input" id="HoldToSeeQuests" displayName="HoldToSeeQuests" displayType="INPUTPC" actions="HoldToSeeQuests" tags="locked"/>
<!-- IK_F2: Force Show 3D Markers [Friendly HUD] -->
<Var builder="Input" id="Toggle3DMarkers" displayName="Toggle3DMarkers" displayType="INPUTPC" actions="Toggle3DMarkers" tags="locked"/>
<!-- IK_F4: Pause Game [Friendly HUD] -->
<Var builder="Input" id="PauseGameToggle" displayName="PauseGameToggle" displayType="INPUTPC" actions="PauseGameToggle" tags="locked"/>[/code]
[b][size=3][url=https://www.nexusmods.com/witcher3/mods/6568]Progress on the Path[/url] 作者 [url=https://www.nexusmods.com/witcher3/users/138299963]Faen90[/url][/size][/b]
[code]
<!-- IK_Slash: Display Progress Preview [Progress on the Path] -->
<Var builder="Input" id="DisplayProgressPreview" displayName="DisplayProgressPreview" displayType="INPUTPC" actions="DisplayProgressPreview" tags="locked"/>
<!-- IK_SingleQuote: Switch Progress Preview [Progress on the Path] -->
<Var builder="Input" id="SwitchProgressPreview" displayName="SwitchProgressPreview" displayType="INPUTPC" actions="SwitchProgressPreview" tags="locked"/>
<!-- IK_LeftBracket: Update Progress on the Path [Progress on the Path] -->
<Var builder="Input" id="UpdateProgressOnThePath" displayName="UpdateProgressOnThePath" displayType="INPUTPC" actions="UpdateProgressOnThePath" tags="locked"/>[/code]
[b][size=3][url=https://www.nexusmods.com/witcher3/mods/14206]Quick Manual Save & Load[/url] 作者 [url=https://www.nexusmods.com/witcher3/users/133577168]CloudGiant[/url](我)[/size][/b]
[code]
<!-- IK_RightBracket: Quick Manual Save List [Quick Manual Save & Load] -->
<Var builder="Input" id="QuickManualSaveList" displayName="quick_manual_save_list" displayType="INPUTPC" actions="QuickManualSaveList" tags="locked"/>
<!-- IK_F8: Quick Load [Quick Manual Save & Load] -->
<Var builder="Input" id="QuickLoad" displayName="quick_load" displayType="INPUTPC" actions="QuickLoad" tags="locked"/>
<!-- IK_F7: Quick New Manual Save [Quick Manual Save & Load] -->
<Var builder="Input" id="QuickManualSaveNew" displayName="quick_manual_save_new" displayType="INPUTPC" actions="QuickManualSaveNew" tags="locked"/>
<!-- IK_F6: Quick Manual Save Update [Quick Manual Save & Load] -->
<Var builder="Input" id="QuickManualSave" displayName="quick_manual_save" displayType="INPUTPC" actions="QuickManualSave" tags="locked"/>[/code]
[b][size=3][url=https://www.nexusmods.com/witcher3/mods/12471]Roach Stash Alternative[/url] 作者 [url=https://www.nexusmods.com/witcher3/users/181604541]bedoyaj[/url][/size][/b]
[code]
<!-- IK_Semicolon: Stash [Roach Stash] -->
<Var builder="Input" id="OpenStash" displayName="panel_title_stash" displayType="INPUTPC" actions="OpenStash" tags="locked"/>[/code]
[u]注意[/u]:所有条目都包含 [font=Courier]tags="locked"[/font],以避免通过游戏意外更改绑定,而非通过编辑 [font=Courier]input_qwerty.ini[/font]。如果你想使用设置菜单编辑按键绑定,你可以先按 [b]O[/b] 解锁它们,或者移除 [font=Courier]locked[/font] 标签条目(不要移除其他标签,如 [font=Courier]input_overlap#[/font])。
编辑完成后,将文件放置到各自正确的位置。正确的目录结构已包含在压缩包中。最后,记得删除你的 [font=Courier]input.settings[/font] 以使更改生效。
[b]卸载:[/b]提供了未修改的原版游戏文件作为备份,以将文件恢复到原始状态(截至游戏版本 5.01,但这些通常不会随更新而改变)。
[size=4][b]问题与限制[/b][/size]
[list]
[]如果你使用不同的键盘布局,例如 AZERTY 或 QWERTZ,你可能需要调整上述说明,改为修改其他文件之一,[font=Courier]input_[b][u]az[/u][/b]erty.ini[/font] 或 [font=Courier]input_qwert[b][u]z[/u][/b].ini[/font]。或者,如果你想直接使用此压缩包中的 [font=Courier]input_qwerty.ini[/font],可以查看 [font=Courier]bin\config\keyboard_layouts_description.xml[/font] 来覆盖游戏对你所在区域输入设置所选择的键盘布局。[/]
[]虽然我使用键盘和鼠标游玩,因此主要关注于此,但控制器分配也可以用同样的方式重新定义。压缩包中的文件也保留了所有默认控制器设置,所以即使你只对控制器设置感兴趣,使用改进后的模板仍然更好。[/]
[/list]
[size=4][b]相关链接[/b][/size]
[list]
[]已包含按键绑定的模组列表见上文。[/]
[]在这些之中,值得一提的是 [url=https://www.nexusmods.com/witcher3/mods/8106]Book Panel Key Bind[/url] 作者 [url=https://www.nexusmods.com/witcher3/users/56064207]MerseyRockoff[/url],这个模组本身就很棒,它附带 [font=Courier New]keys.txt[/font] 文件,其中列出了所有可能的按键绑定,如果你需要帮助设置自定义按键绑定,可以参考。[/]
[][url=https://notepad-plus-plus.org/]Notepad++[/url] 作者 [b]Don Ho[/b] 和 [url=https://www.nexusmods.com/witcher3/mods/2208]Witcher Input Settings Language Definition File[/url] 作者 [url=https://www.nexusmods.com/witcher3/users/905332]wghost81[/url] 可以让更改输入设置的过程更加愉快和高效。[/]
[/list]
[size=4][b]版本历史[/b][/size]
[size=3][b]1.0[/b][/size]
[list]
[]首次公开发布。[/]
[/list]
这些文件以及所有相关的文本和视觉资源均为 100% 人工制作。
在开发的任何阶段或任何环节均未使用 AI。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。