我的设想是能在键鼠和手柄直接自由切换,同时手柄能完成游戏能所有基本操作和一部分常用mod快捷键,有些不常用mod按键留在键盘上,并且能过保留手柄的震动反馈。所以原本我的想是用gamepad++(Gamepad Plus Plus at Skyrim Special Edition Nexus - Mods and Community (nexusmods.com)),但是实际用了之后发现和想象的还是有一些差距,按键上和我想得还是有一些差距。之后也尝试过使用steam内置的控制器映射,用手柄模拟键盘操作,用下在战斗时还行,但是没有震动反馈,但是在操作地图,背包等界面的时候非常不好用。
之后我找到了Xbox 360 Controller Remapper with Controller Input这个软件,加上auto input switch这个mod,本来设想直接更改游戏内手柄按键就行了,结果又是一个大坑,简单来说就是我把原本的B键上的tween menu(就是键盘tab键那个)改成了跑步/翻滚(键盘alt),RB从龙吼改成了空功能,用于组合其他按键作为快捷键。结果进了游戏发现B键依然还是tween menu功能,RB也还是龙吼。折腾半天还是不行,最后发现原版控制界面里的所有按键,必须要有一个手柄上的按键对应,不能为空,而且不能是组合键(包括原本手柄的ABXY,上下左右,LBRB,LTRT,LSRS,start,back一共14个按键中原本有功能的键,如过设置为组合键好像会默认变成组合键的第一个按键)。搞清楚原理那就好办了,因为我要把上下左右4个方向键用于iequip,而且因为我希望能键鼠和手柄随时切换,所以通过steam将键盘上的YGHB映射在上下左右上,这样手柄上就空出了两个空按键(左右键,因为手柄输入的上下左右经过映射,对游戏而言收到的信号其实是键盘上的YGHB),同理start,back和RS键也被我空出来,用来盛放我不需要/或者希望使用组合键的功能按键(tween menu,人称视角切换,龙吼等)。之后通过Xbox 360 Controller Remapper with Controller Input,修改B键为跑步/翻滚,LS设置为蹲下,RB+A/B/X/Y设置为快速地图/背包/魔法/技能。之后使用steam控制器配置,将LB+X/Y映射为键盘T和Z用于等待/充能和释放龙吼;RS映射为鼠标中键,用于万象移动mod中的锁定功能;back和RB+back,RB+start分别映射为J、F5和Q,分别用于日志菜单,快速存档(打了安全存档mod)和sky ui的收藏菜单;LB+RT映射为鼠标侧键1,用于一键重击mod;RB+上下左右映射为其他常用mod的键盘快捷键,例如quick light的L键,战败系统的V键(默认G键和iequip冲突,被我改掉了)等等,理论上LB+上下左右也可以设置一套快捷键,不过我把LB设置为了键盘shift键,可以配合其他快捷键使用。这样整下来基本已经符合我之前的期望了,进游戏玩了一个来小时,感觉还是很棒的,比键鼠舒服太多了。
ps1:为了方便区分上文中手柄按键均为斜体。
ps2:steam控制器管理需要先添加mo2到steam,然后右键steam库里的mo2,通过管理-控制器布局进入。之后要玩的话要从steam库里启动mo2,再从mo2启动skse
ps3:Xbox 360 Controller Remapper with Controller Input不需要通过mo2启动,生成的controlmap.txt可以放在"X:\xxx\Data\Interface\Controls\pc"目录下(X:\xxx为游戏目录),也可以按“xxx\Interface\Controls\pc\controlmap.txt”的路径打成压缩包,直接通mo2安装(xxx可以随便改)
我提供另一种思路利用Xbox 360 Controller Remapper with Controller Input空出十字键区域然后用xpadder映射十字键区域。xpadder可以通过按住一个键切换另一套映射方案,就是组合键;按键的高级选项也可以设置形成短按长按,双击,循环等功能。这样单是拿手柄的LB Y A+十字键的组合,形成4x4十六种键位,加上短按长按至少三十二种键位,足够使用了。steam的映射感觉不是很好用,老是有人说按不出来,xpadder是全局映射,调试的时候可以用记事本试试效果。