英伟达Shield 2015神盾手柄Win10配置记录

前不久又入了一个英伟达的神盾手柄,也就是收了北通方向盘之后,看到了2015款的Shield配机手柄。

看上去是工厂流出的测试产品,由于没有蓝牙、也不支持Windows(但支持Android),卖家是当作OTG连接的安卓模拟器手柄售卖的。于是我便买来研究了一番

到手后感觉分量很足,手感绝对不是廉价货。类似PS的对称布局+Xbox360的摇杆、方向键和扳机,加上NV的信仰标,下面还有触控板(虽然没有用),看上去是个集大成而又四不像的产品。

也由此,这手柄的布局很适合推RPG、AVG之类的游戏,以及圆盘式的八向方向键,也许格斗类的游戏还能小试一番。

然而以刀法著称的老黄也留了一手,因此不能直接在普通电脑上即插即用(它甚至不能被识别成DirectInput手柄……)。虽说此前NVIDIA宣传可以安装GeForce Experience使用,包含了Shield手柄的驱动,但目前的版本好像没有什么效果,并且也只有N卡的用户可以使用……

好在GitHub上有开发者编写了开源的驱动—— ShieldControllerWinDriver ,这使得在Windows下也可以使用2015款的神盾手柄,还能利用下方的触控板和音量调节键。

安装驱动

安装驱动的方式也很简单,有一个二进制的Release,解压后点击对应的inf文件,右键安装就可以了。

Release Shield Controller Driver v1.0.0.0 · nefarius/ShieldControllerWinDriver · GitHub
Small HIDUSB lower filter driver for NVIDIA Shield Controller – Release Shield Controller Driver v1.0.0.0 · nefarius/ShieldControllerWinDriver
github.com

但事情远没有这么简单,这个驱动只提供了DirectInput的布局支持,如果打开控制面板的“游戏控制器设置”,就连识别的按键位置也是错乱的。

北通的方向盘还能遵循上个世代的PS按键位置,然而这次的位置可以说是货不对板,对应确认或者返回的2键……居然在触控板上(悲)

此外类比摇杆的XYZ轴也是不合常理的,扳机也是反向的。

这个驱动虽然也支持了手柄的震动功能,但是能正确识别的游戏寥寥无几,我的游戏库经过测试,只有欧卡2一款卡车游戏识别到了手柄的震动功能;而如果用Steam映射,则完全没法使用震动功能了。

这一切是因为DirectInput并不能支持震动、音量调节和触控板的功能,而这个驱动将其分为多个子设备,对于游戏而言,识别到的似乎是多个设备,但其实是一个设备。

具体的问题可以参考驱动的GitHub页面描述:

To support rumble in any game, old and new (while GeForce Experience only supports Xinput games), emulation of a HID Physical Input Device (PID) was added. The hack could be replicated for other controllers that don’t bother with PID which is a way too complicated standard for basic gamepad rumble.

Finally, the trackpad input gets tweaked to work like a standard trackpad, and because the HID gamepad client driver doesn’t handle volume inc/dec buttons (while Linux picks them up without flinching), a virtual HID consumer control device was added that receives the input from those two buttons. Ironically that device was detected as a gamepad (and poor DirectInput has trouble when two different gamepads have the same IDs), so the above output collection was inserted to get rid of DirectInput.

译文:为了支持任何新旧游戏中的震动功能(GeForce Experience 仅支持 Xinput 游戏),添加了 HID 物理输入设备 (PID) 模拟。这个破解方式可以被复制到其他不要求验证 PID 的控制器上,PID 对于基本的游戏手柄震动来说是一个过于复杂的标准。

触控板输入经过调​​整,可以像标准触控板一样工作,并且由于 HID游戏手柄客户端驱动程序不处理音量递增/递减按键(而 Linux 会毫不犹豫地识别它们),因此添加了一个虚拟 HID 的用户控制设备 (Consumer Control Device),该设备接收来自这两个按键的输入。讽刺的是,该设备被检测为游戏手柄(当两个不同的游戏手柄具有相同的 ID 时, DirectInput 会出现问题),因此插入上述输出集合以摆脱 DirectInput。

因此也不难理解只有欧卡2可以识别到手柄震动了,毕竟本身欧卡2就可以混搭各种外设操作游戏……


另外不知道是不是测试机的关系,触控板实际上不太好用,默认会乱跳光标。换成开源的驱动以后,虽然光标不乱飘了,但是会触发MOUSE4键的Bug,也就是常见五键鼠标侧键上的返回键,而如果遇到浏览器移动光标便会自动返回页面。

可以说触控板的功能聊胜于无,精度也仅次于掌上键盘的触控板/轨迹球。我甚至后来入了Shield Tablet,原装系统也没能解决这个问题。所以连在电脑上使用的话,还是直接在设备管理器禁用触控板吧

模拟Xbox 360手柄

后来我尝试了此前用过的x360ce,并安装基于ViGEmBus的虚拟手柄驱动,可以模拟成低延迟的Xbox 360手柄。

令我惊喜的是,它居然还能够识别这个手柄的震动功能,只是马达要对调一下,才能正常地使用。

刚才提到了很难用的触控板,虽然被禁用了,又由于触控板本身也是一个按键,因此可以像DS4一样当个大号……西瓜键(毕竟NV LOGO的那一块功能键是电容式的,Steam的导航键布局映射(实际就是把西瓜键当FN用)不能很好地识别长按Event)

然而x360ce有一个不能模拟Xbox手柄的西瓜键 (Home/Guide Key) 的Bug,CPU的占用率也很高,还会连带增加PWM风扇系统的噪音,对于我的双核i3-7100有些吃不消。(还影响到了我的涡轮1060)

于是我后面换成了更轻量化的XOutput,它也是基于ViGEmBus虚拟手柄的原理,但没有Hook修改Xinput的功能。

尽管可设定的功能不如X360ce,至少它不会在后台疯狂吃CPU了)

隐藏DirectInput设备

事情还没完,此时系统识别到的是两个手柄,如图:

如果游戏对多个手柄有很好的支持,那么开始游戏的时候点击A键确认,游戏应该会自动识别到操作的手柄。比如尘埃系列,可以轻松自如地在Xinput和Dinput设备、1P/2P手柄之间切换;但如果有的游戏只支持一种和一个手柄操作,就有一些麻烦了。

而典型有此问题的游戏是《逆转裁判123: 成步堂精选集》,Steam上官方中文的正版逆转,而且支持Xbox手柄,但它貌似只支持第一个连接的Xbox手柄,如果Xbox手柄在2P位置,游戏就不能识别到了。

要透过现象看待事物的本质!

那就把思维逆转过来吧,既然游戏只支持第一个连接的Xbox手柄操作,不如想办法把虚拟的Xbox手柄,让游戏识别成第一个连接的手柄。

此时就需要一个名为HidHide的软件(前身是HidGuardian,原理类似但操作不同),它的原理是隐藏手柄本身的Dinput设备,使得系统和游戏中,识别到虚拟的Xbox手柄排在第一位置。

如果要保留神盾手柄驱动本身的音量控制键,记得取消勾选Consumer Control设备。前文提到所谓的用户/消费者控制设备,实际上就是手柄触控板下方调节音量的那个按键(不过是电容式的,原理上更像是Magic Mouse)

此时打开Steam控制器设置页,也能看到只剩下虚拟的Xbox 360手柄了

不出意外的话,回到像《逆转裁判123》这样的游戏,就可以正常地识别第一位置的虚拟手柄。如此,就可以像普通的Xbox手柄一样使用了。

后言与缺点

神盾手柄的摇杆和扳机精度非常优秀,几乎没有死区。

肩键的手感也比Xbox的廉价开关设计好太多了,可以说是200价位以内手柄的无敌手,非常适合Steam自带映射鼠标的功能。尽管手柄仍然不适合打主流的多人对战FPS游戏,不过已经可以简单地浏览网页、操作桌面和资源管理器的文件了。

Shield Controller 神盾手柄自然不是没有缺点,这套配置并不能即插即用。

由于原本是Shield神盾电视盒配机的手柄产品,连接其他的设备会自动休眠,对于电脑而言就不能自动识别到手柄,需要手动插拔才可以使用,还要再手动打开崩溃的XOutput程序。

此外,神盾手柄内置了电池,但是2015款的神盾手柄并不支持蓝牙无线连接PC使用,加上触控板的设计,背面不是镂空的,需要几个手指拖住,整个手柄显得非常累赘,并不适合长时间握持操作。对我而言,那就是我印象中的Duke手柄。

下面触控板的大小也完全可以做成Chatpad,经过我的测量,其实完全放得下F(x)tec Pro1的键盘(笑)


除非有非常低廉的价格,以及明确的高精度摇杆需求,可以适应“肥胖”的手柄体积与手感,以及信仰的加持,否则域主我并不推荐入手2015款的Shield手柄。

另外手柄有个没有配对导致闪跳的bug,因此我甚至入了两台Shield Tablet,虽说也并没解决问题,最后我是用贴纸屏蔽之解决的……

不过Shield的板子还挺好玩的,尤其是特殊设计的触控笔,当然那是后事了。

2017款的Shield手柄也许是更好的选择,支持蓝牙连接;外观上沿袭了Shield的品牌风格,看上去棱角分明,但取消了触控板的设计,以滑动式音量条取而代之;功能键移至底部,圆盘八向改为十字键,结构上更类似普通手柄了。只是目前的价格都在200元左右,与50左右的工厂价格相比,也就谈不上什么性价比。

Shield Controller (2017)

然而,同样是工厂尾货的谷歌Stadia云游戏手柄,并且还是更类似PS系的布局,也许更值得一试吧……

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注