新手掣點解扮 Xbox 360?XInput 呢層舊標準幫你避開相容麻煩
3C 產品

新手掣點解扮 Xbox 360?XInput 呢層舊標準幫你避開相容麻煩

圖片:via XDA Developers — https://www.xda-developers.com/your-modern-pc-controller-is-still-pretending-to-be-an-xbox-360-pad-and-theres-a-reason-why/
TechLab 編輯部(譯)·

拆解 XInput、DirectInput 同 Steam Input 各自做緊咩

新手掣,遊戲眼中仍然係 Xbox

買咗新款 8BitDo 或其他 PC 手掣,駁入 Windows 之後明明用得好地地,遊戲畫面卻繼續顯示 Xbox 360 嘅 A、B、X、Y,呢件事唔代表買錯貨,亦未必係 driver 認錯。好多手掣會用 XInput 相容模式,向遊戲交出一套固定嘅 Xbox 式按鍵資料。遊戲收到熟悉格式,自然照用 Xbox 圖示,至於手上實物係咩牌子,佢可能完全唔知。

多款唔同顏色嘅 8BitDo Ultimate 2C 無線手掣

圖片:8BitDo

XInput 贏在規矩夠少

DirectInput 年代嘅 PC 控制器可以好自由,手掣、軚盤、飛行搖桿同油門桿都放得入同一套框架,按鍵同軸數量亦可以各有各做法。彈性係大,但就要遊戲開發者同玩家自己執手尾:開發者未必知「按鍵 1」喺邊,玩家經常要逐粒掣設定。XInput 就收窄成一個大家認得嘅基本款:兩支搖桿、方向掣、ABXY、肩掣同兩邊獨立扳機,再加震動。硬件跟住呢套固定格式,遊戲就唔使逐款手掣另寫支援。

點解個名仲停留喺 Xbox 360

Microsoft 喺 Xbox 360 年代推廣 XInput,Windows 同 Xbox 開發可以沿用相近介面,遊戲廠同硬件廠亦逐步圍住呢套格式做相容。結果形成一個幾實際嘅循環:遊戲預設讀 XInput,手掣廠就提供 XInput 模式,玩家又開始預期插入即玩。8BitDo Ultimate 2C 官方韌體紀錄亦直接提到 XInput mode;不過各款 8BitDo 同第三方手掣支援嘅模式唔一樣,有啲仲會提供 DirectInput、Switch 或 Android 模式,唔可以一概而論。

Steam Input 再加一層翻譯

Steam Input 做法再進一步。Valve 文件講明,佢可以讀取 PlayStation、Switch、DirectInput 等手掣,再向只識傳統 PC 手掣介面嘅遊戲注入一個模擬 Xbox 控制器。咁就算舊遊戲從來冇寫 DualSense 支援,玩家仍有機會照玩。開發者如果接好 Steam Input API,遊戲仲可以查返實際輸入來源,顯示 PlayStation 交叉掣或 Switch 按鍵圖示;如果只係接收模擬 XInput,畫面繼續出 Xbox 圖示就好合理。

通用相容都有代價

XInput 其實係一個好成功嘅共同底線,但共同底線容納唔到每款新手掣嘅特色。背鍵、觸控板、陀螺儀或者多出嚟嘅功能鍵,進入 XInput 路徑後可能要映射成現有按鍵,甚至直接用唔到。Valve 亦提醒,如果遊戲原生手掣輸入同 Steam Input 模擬同時生效,一次撳掣有機會畀遊戲收兩次輸入。想保留正確圖示同完整功能,最好要有遊戲原生支援、Steam Input API,或者廠商自己提供嘅軟件同設定檔。

玩家應該點揀模式

玩一般 Windows 遊戲,尤其係年代較舊或者非 Steam 遊戲,XInput 通常係最省事嘅選擇。手掣有反應但圖示唔啱,可以先睇遊戲有冇按鍵圖示選項,再檢查 Steam Input 同手掣本身用緊咩模式;如果出現一次撳掣、遊戲收兩次輸入,就要留意 Steam Input、廠商映射軟件同遊戲原生支援有冇同時接管。Microsoft 亦有涵蓋更多裝置類型嘅 GameInput,但舊遊戲相容仍然重要。XInput 呢套 Xbox 360 年代規矩短期內仲會繼續留喺 PC 遊戲入面。


參考來源

本文根據原文及公開資料整理;資料有出入時,以原文及官方資料為準。

分享:WhatsAppThreadsTelegramFacebook