• 背景

  • 硬件要求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手柄在安卓设备上玩游戏系列】连接手柄和设备相关推荐

  1. 【用PS3手柄在安卓设备上玩游戏系列】FC(任天堂NES/FC主机)模拟器

    NESoid 是安卓系统下公认最好的FC模拟器.据我所知,现在安卓系统下面的绝大部分的FC模拟器,都是基于 NESoid 的内核来开发的. 官方网站:http://www.nesoid.com NES ...

  2. 【索引】用PS3手柄在安卓设备上玩游戏系列

    谈安卓游戏对手柄的支持:http://www.cnblogs.com/duxiuxing/p/3729802.html 连接手柄和设备:http://www.cnblogs.com/duxiuxing ...

  3. android h 游戏下载地址,Android h游戏_如何在Android手机上玩游戏

    最近人们喜欢在手机上玩游戏. 除了一些手机游戏(Android H游戏)之外安卓才可以玩的h,越来越多的朋友开始寻找Android手机游戏. 但是,有些人已经搜索了很长时间,还没有找到合适的游戏来玩. ...

  4. 在通知栏上玩游戏,Steve iOS 游戏实现思路

    在通知栏上玩游戏,Steve iOS 游戏实现思路 最近有一款游戏特别的火爆,叫做Steve ,一种可以在通知中心直接玩的游戏.作者的脑洞也是非常的大,实在让人佩服.其实实现起来也简单,就是用到了iO ...

  5. linux可以玩什么游戏_为什么我们要在Linux上玩游戏,与Icculus聊天等等

    linux可以玩什么游戏 开源游戏综述 2014年8月31日至9月6日,一周 在本周的开源游戏新闻综述中,我们看了一些用旧游戏组件制成的令人惊叹的灯,Linux Action Show与Ryan&qu ...

  6. 国外服务器上玩游戏延迟很高,什么原因造成的?

    在国外服务器玩游戏为什么延迟很高?有的比较热门的国际游戏,为了玩家通常都会将整个游戏的区服划分为亚服.欧服.美服.东南亚服.韩服等等,这主要是为了玩家有个良好的游戏体验,那为什么在外服(国外服务器)上 ...

  7. linux运行游戏模拟器,Linux_用XMAME模拟器在Linux上玩游戏,安装:如果你使用的是debian或 - phpStudy...

    用XMAME模拟器在Linux上玩游戏 安装:如果你使用的是debian或者ubuntu, $sudo apt-get instal xmame-common xmame-sdl xmame-svga ...

  8. 您的计算机屏蔽了vac系统.您无法再安全的服务器上进行游戏,csgo你不能在安全服务器上玩游戏的可能原因如下_csgo无法在安全服务器上游戏怎么办-系统城...

    csgo是一款第一人称电子竞技游戏,很多朋友都在玩,有的朋友在玩csgo的时候会遇到一个问题,那就是玩游戏的时候突然弹出一个窗口,上面提示"你不能在安全服务器上玩游戏的可能原因如下" ...

  9. 教你如何用计算机玩游戏,想要在电脑设备上玩手机游戏,教你如何使用tcgames软件进行操作...

    当前,很多玩家都非常喜欢玩各类手机游戏,相比于电脑游戏来说,手机游戏的可操作性更强,游戏体验感更好.但是,如果我们想要在电脑设备中进行手机游戏的使用,就会发现,操作起来非常的别扭,无法有效的控制游戏角 ...

最新文章

  1. 给图像特征提取开个“ViP”是什么效果?字节牛津提出视觉解析器,全面超越HaloNet!...
  2. Python+selenium自动化测试:报错:TypeError: 'WebElement' object is not iterable
  3. keras从入门到放弃(十五)图片数据增强
  4. MFC中OnTimer函数的使用方法
  5. windows下kafka源码阅读环境搭建
  6. 如何在Django模板中注入全局变量
  7. ElasticSearch启动报错curl: (7) Failed connect to 172.19.128.56:9200; 拒绝连接---ElasticSearch工作笔记029
  8. 修改MongoDB密码
  9. C#基础13:预编译指令
  10. 转载一篇写的简单易懂的lvs用法
  11. DPDK-UIO 驱动认识
  12. 华南技术盛会:BingoDay2017今在天河人才港盛大举行
  13. Non-managed pom.xml file found
  14. ST六轴传感器LSM6DSO使用记录
  15. 在埋头写程序学技术的同时,有没有想到你们的老板和上司在搞什么?
  16. 报错:further occurrences of HTTP request parsing errors will be logged at DEBUG level
  17. [营销]浅谈如何提高网站PR值
  18. Grassmann流形 — 用于子空间比较【理论】
  19. Ubuntu18.04下 LOAM_Velodyne 的编译安装(PCL为1.8.1)
  20. 苹果app超级签名怎么弄

热门文章

  1. TCP 聊天室v2 实现多人匿名聊天 C++,linux系统下
  2. 转 不管你学的是什么专业,你都应该多少懂些管理学的东西
  3. 集成Linux版QQ Ylmf OS 2.0新功能点评
  4. 【用电脑最忌的18个小动作】
  5. ProE 工程图教程系列-4 ProE不能导出dwg等格式的解决办法
  6. PHP 配置虚拟域名访问
  7. Layui form 表单验证规则 lay-verify
  8. 中国风扇行业竞争现状及投资可行性研究报告2021年版
  9. [经验教程]google谷歌浏览器无法更新chrome无法更新至最新版怎么解决?
  10. 花了小半个月工资,我还是对培训机构下了手