【用PS3手柄在安卓设备上玩游戏系列】连接手柄和设备
-
背景
-
硬件要求1:PS3 手柄 + 手柄配套的USB線
-
硬件要求2:已經獲得 ROOT 權限并且支持藍牙的安卓設備
-
軟件要求1:Sixaxis Compatibility Checker
-
PS3 手柄和設備連接配對的原理
-
軟件要求2:Sixaxis Pair Tool
-
軟件要求3:Sixaxis Controller
背景
在索尼公司的 PS3 游戲機里面,游戲手柄是通過藍牙協議與游戲主機進行無線通信的,一個名為 Dancing Pixel 的開發商開發了一款名為 Sixaxis Controller 的安卓應用,實現了 PS3 手柄和安卓設備(安卓手機或者平板)的藍牙連接,現在我們有機會直接使用 PS3 手柄在安卓設備上面玩游戲了。
硬件要求1:PS3 手柄 + 手柄配套的USB線
以下簡稱“手柄”和“USB線”,如下圖所示:
硬件要求2:已經獲得 ROOT 權限并且支持藍牙的安卓設備
以下簡稱“設備”。實踐證明,原裝手柄肯定是可以連接設備的,而組裝手柄則有的可以有的不可以,有意入手組裝手柄的同學注意事先跟賣家確認清楚。至于設備的類型則沒有限制,手機平板皆可。
經過本人實測,小米2和三星Galaxy Note 10.1都是支持與PS3手柄連接的。
軟件要求1:Sixaxis Compatibility Checker
以下簡稱 SCC。俗話說“不是所有特侖蘇都是牛奶”,同樣道理,不是所有設備都能和手柄連接,于是就有了這款用來檢測設備是否支持手柄的應用,小伙伴們趕緊先檢測一下自己的設備是否支持這一令人興奮功能吧。
Step1:SCC 在谷歌官方的 Play 商店上就有得下載:
Step2:安裝完畢之后,先打開設備的藍牙,然后在 SCC 里面點“Start”啟動設備檢測:
Step3:靜待片刻,檢測通過的設備會看到以下的提示語:Your device appears to be supported……此處省略好些字。
SCC 里面的“Pair Controller”是給支持 OTG 的設備用的,在本文的下一節中會加以說明。
對于未能通過檢測的設備,本文接下來的內容可能就暫時與你無關了。不過話說回來,設備未能通過檢測又分為硬件原因和軟件(系統)原因,前者是由于設備硬件本身就不支持,我們暫時是無能為力的,而后者則是可以通過刷機或者升級系統解決,比如我手上的小米2在2013年中做過一次系統升級之后,每次啟動 SCC 檢測都會提示 Permission denied,后來經過確認是由于此版本的 MIUI,在授權管理模塊有 Bug,會導致所有應用都無法獲獲得 ROOT 權限,需要等到下一次系統更新時來修復,果然再次進行系統更新之后,問題解決,整個世界又清靜了。所以建議各位未能通過檢測的小伙伴們,可以通過互聯網,搜索一下同款設備有沒有連接成功的案例,進一步尋求解決的方法。
PS3 手柄和設備連接配對的原理分析
藍牙設備通信的時候,是根據對方(目標設備)的藍牙地址來進行定位的。這就是傳說中的“你知道我的長短,我也知道你的深淺”,這一點 PS3 手柄也不例外。但一般的藍牙設備都具有“被發現”的特性,以藍牙音箱為例,就是打開音箱以后,其他設備可以通過搜索來定位到藍牙音箱,然后進行連接。但 PS3 手柄卻不支持這種特性,實際上 PS3 手柄第一次和 PS3 主機配對的時候,也是需要用 USB 線才能完成的。大致的流程我推測是這樣:
流程中的“(4)刷新手柄芯片上的目標設備地址”是最關鍵的,要實現手柄和設備的連接配對,就要想辦法把設備的藍牙地址保存到手柄芯片上。
對于支持 OTG 的設備(比如小米2),只要用 OTG 線和 USB 線把手柄和設備連接好,再點一下 SCC 里面的“Pair Controller”,就能搞定。設備不支持 OTG,或者手上沒有 OTG 線的小伙伴們也不用擔心,用 USB 線連接手柄和電腦,通過下一節介紹的這個軟件一樣能搞定。
軟件要求2:Sixaxis Pair Tool
以下簡稱“SPT”。SPT 是一個電腦上的軟件,手柄第一次和設備配對的時候,可以用 SPT 把設備的藍牙地址保存到手柄的芯片上。具體步驟如下:
Step1:在電腦上下載和安裝“SixaxisPairToolSetup”,百度一下,你就知道,SPT 運行之后是這個樣子的:
Step2:用 USB 線連接手柄和電腦,待驅動安裝完畢,SPT 識別出手柄之后,能夠在 Current Master 后面看到當前手柄芯片上的目標設備地址。原來的目標設備地址是多少我們不需要關心,在 Change Master 后面填好我們要連接的設備的藍牙地址,點“Update ”。查看設備藍牙地址的方法多了去了,這里不一一列舉,在上文提到的 SCC 里面也能看到:
Step3:稍等片刻,如果 Current Master 后面的地址變成了我們在 Change Master 填寫的那個,說明手柄芯片上的目標設備地址已被更改,接下來就可以拔掉 USB 線,開始進行手柄和設備的藍牙連接了。
前文提到的某些山寨手柄無法連接設備,問題就出在這里,無法通過以上的手段更改手柄芯片上的目標設備地址,我手上就有這么一個奇葩的組裝手柄。但這并不意味著我就完全沒有辦法用這樣的手柄在設備上面玩游戲了,這事還是要看人品的,我發現用 OTG 線和 USB 線連接手柄和小米2,能夠把 PS3 手柄當有線手柄用。
軟件要求3:Sixaxis Controller
以下簡稱 SC。如果說前面講的內容都是前戲,那這一節的內容絕對就是高潮了。SC 才是實現手柄和設備連接的關鍵,SC 在運行的時候需要 ROOT 權限,它之前在谷歌官方的 Play 商店上是一個收費應用,但最近好像被下架了,反正我是搜索不到了。還好我大中華局域網下面的安卓應用市場多了去了,想找一個 SC 的應用安裝包,百度一下,你就知道。
安裝完畢之后,我們開始使用 SC 來連接手柄和設備,操作步驟如下:
Step1:如果設備上已經運行了 SCC,先將其關閉,然后再運行 SC。SC 的界面和前面提到的 SCC 非常相像,一看就知道是同一個媽生的。
Step2:確認設備的藍牙已經打開,在 SC 里面點“Start”,直到界面上輸出“Listening for controllers…”,這時設備已經準備好了:
如果遇到 SCC 檢測通過,而 SC 無法 Start,可以重啟一下設備,再重新運行 SC。
Step3:拿起手柄,按下手柄中間的 PS 鍵,可以看到手柄上的四個小紅燈開始閃爍,這表示手柄根據芯片上的目標設備地址正在嘗試和設備進行連接。
Step4:配對完成之后,手柄紅燈停止閃爍,第一個小紅燈保持常亮,在 SC 界面上可以看到輸出“Client 1 connected [Battery status: Full]”,這時手柄和設備已經配對成功了。
如果配對失敗,請用 SPT 重新檢查確認手柄芯片上的目標設備地址是否填寫正確。
Step5:在 SC 里面點“Change IME”,修改設備使用的輸入法,選擇“Sixaxis Controller”:
Step6:按手柄的方向鍵,應該可以在 SC 的界面上看到焦點切換的效果。
Step7:不用手柄的時候,需要回到 SC 界面點“Stop”,否則設備的藍牙和輸入法都可能無法使用。
Step8:按照以下步驟可以進一步設置 SC 在 Stop 之后自動切換回哪個輸入法:1.擴展菜單按鈕? >2.Preferences > 3.Keyboard Emulation > 4.Default Input Method > 5.選擇輸入法
到此,手柄與設備的連接部分已經全部介紹完畢。真正使用手柄玩游戲的時候,還需要根據游戲來設置手柄按鍵的映射,更多內容可以參考【用PS3手柄在安卓設備上玩游戲系列】的其他文章。
最后提一點,SC 是有漢化版本的,目前我在百度上能找到的最新版本是 v0.7.4,從擴展菜單按鈕進幫助,會有驚喜哦。
系列文章索引:http://www.cnblogs.com/duxiuxing/p/4790390.html
轉載于:https://www.cnblogs.com/duxiuxing/p/3715798.html
總結
以上是生活随笔為你收集整理的【用PS3手柄在安卓设备上玩游戏系列】连接手柄和设备的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 统一通信平台的规划----以华为 Spa
- 下一篇: 选股神器-zMain