为什么手柄连接安卓设备经常需要连接电脑激活映射?这个过程没办法在设备上独立完成吗?

2021-02-06 07:44:22 +08:00
 meso5533
4877 次点击
所在节点    Android
15 条回复
meso5533
2021-02-06 07:47:34 +08:00
求技术细节
ysc3839
2021-02-06 07:51:23 +08:00
“连接电脑激活映射”指的是什么?
Laforet
2021-02-06 08:00:03 +08:00
Sixaxis Tool 的收费版可以在手机上完成匹配,但是部分机型的蓝牙芯片可能不支持配对。不想花时间适配的其他工具可能就直接让你在电脑上完成了
meso5533
2021-02-06 08:17:58 +08:00
meso5533
2021-02-06 08:18:21 +08:00
@meso5533 写错了,比如小鸡手柄
mitong3269
2021-02-06 08:22:42 +08:00
那种 usb 的东东 远离是连接后 进行 adb 控制
ysc3839
2021-02-06 08:23:07 +08:00
@meso5533 没明白这是什么操作,不激活手柄就无法连接手机吗?
meso5533
2021-02-06 08:30:07 +08:00
@ysc3839 是的,特别繁琐
meso5533
2021-02-06 08:34:56 +08:00
@ysc3839 是手柄通过蓝牙连上安卓后,还需要将安卓和电脑连接,运行一下激活按键映射的工具后,手柄才能使用
ysc3839
2021-02-06 08:50:19 +08:00
@meso5533 我从来没听说过这种操作……Xbox 手柄连接 Android 后就可以直接使用了,我自己测试 GTA 是能正常使用的。
wms
2021-02-06 09:12:33 +08:00
反汇编了一下, 这个激活是通过 ADB 拷贝一个 xjServer.jar 到 /data/local/tmp/.xiaoji 目录下面, 然后通过 app_process 运行这个 jar, 根据网上的资料这样运行的 jar 比安装的权限大, 猜测应该是获取了 input 权限, 模拟了输入.
yujiang
2021-02-06 09:13:45 +08:00
是通过 adb 映射键位吧,我用 scrcpy 网络连接每次重启都需要重新连接再用 tcpip 命令激活远程
beijiaoff
2021-02-06 09:36:56 +08:00
我的理解,安卓并没有官方标准的手柄接口(或者这些手柄都没有用),所以需要「激活」的形式来告诉手机里的软件如何映射按键和屏幕触摸位置
wms
2021-02-06 09:42:47 +08:00
@beijiaoff 不是, Android 有标准的手柄接口, 而是这些游戏没有使用或者有的游戏需要认证了的手柄才可以用(可以收认证费,反作弊等). 所以手柄厂就用 input 输入触摸事件,模拟了触屏操作.
systemcall
2021-02-06 10:12:35 +08:00
@beijiaoff Android 有标准的手柄接口,和 iOS 、Windows 差不多
一般的游戏引擎也是支持的。但是国产游戏不支持,没封你号就算好的
所以要映射成触摸输入,这个一般的软件做不到,要用 adb 。adb 本身就支持模拟用户输入,这个用户有这个权限

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/751729

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX