如何实现 手柄链接电脑,电脑运行 Android 模拟器,通过手柄玩游戏

2017-07-13 00:08:14 +08:00
 lawfun

最近买了个 游戏手柄,在 Windows 上可以连 逍遥夜神等模拟器玩王者荣耀。

但是 Linux 上的 Android 模拟器都不支持手柄,比如 Gogole 的 Android 模拟器。Genymotion 官网说是可以连手柄,但是我打开 remote control 检测不到我的手柄,steam 和 PPSSPP 等模拟器是可以检测到并且操控的,说明我的驱动没有问题。

想问下 Linux 上有没有能支持手柄的 Android 模拟器。

如果没有,
也想请教下大神,怎么开发个 Linux 上的 Android 模拟器,能够支持手柄 玩游戏的。人家的模拟器咋做的,咋能支持手柄的。

谢谢大家

10419 次点击
所在节点    Android
27 条回复
lawfun
2017-07-15 22:20:01 +08:00
@woyaojizhu8 用的 genymotion 开的 x86 的模拟器,然后加上 arm translation,一点都不卡,机器是 i5-3210 16g 内存。google 的 arm 模拟器直接就一直卡在开机画面
Siril
2017-07-18 14:21:48 +08:00
我用过 windows 下的 夜神 网易 mumu 海马玩 腾讯手游助手 等模拟器 ,
玩王者荣耀基本不卡,也纠结于这个手柄的问题。 各模拟器的摇杆控制都是残废。

我有个思路:
做一个 windows 软件,不停地取手柄状态, 监听一个端口,把手柄操作发给客户端;
做一个安卓程序装模拟器里面,要用 root 权限的, 连接到主机上的。
直接读写 /dev/input/ 下面对应的设备文件模拟触摸操作。

做了一半, 后来。。。 我意识到我的需求只不过是在大屏幕上玩游戏而已, 就用了 miracast 投屏。。。
lawfun
2017-07-19 08:18:02 +08:00
@Siril 哈哈,大神。
我现在也是两个思路:
一个是做个 app 和服务端,服务端读取电脑设备上的手柄输入,现在 Linux 是能读取到手柄信息的,steam 上能玩游戏。然后通过 socket 把数据发给 客户端,客户端通过 辅助模式 模拟 点击滑动 来玩游戏。
二也是通过 miracast,我的手机如果不支持 MHL,如果支持 MHL 就能直接连 HDMI 显示器了。我的手机 支持
miracast,接收端的 是怎么弄的,需要特殊的设备么
lawfun
2017-07-19 08:21:19 +08:00
@Siril 用 miracast 在显示器上清晰么。我用 vysor 来进行投影,显示的不如手机上清晰,我对比了手机截图和 vysor 的截图,延迟倒是很低,10 到 40ms 吧。
Siril
2017-07-19 14:06:03 +08:00
@lawfun 我用的手机小米 max, 和小米盒子。
分辨率 1080p 放显示器上正好, 似乎显示器分辨率不同会按照手机画面缩放。
手机性能问题,本来游戏画面就不能调高。

适合摇杆,不适合触屏操作。

小米盒子上开一个系统自带 app 就行, 然后手机上就能搜到显示设备。
这个过程不需要路由器,似乎建立连接之后 2 个设备之间是 5GHz 频段的 wifi 直连。


用起来有 4 个问题:
大概有几十毫秒延迟, 游戏基本还是能玩的;
偶尔花屏几秒;
投屏同时手机可以连 wifi,但是会增加花屏频率;
在 ADUI 使用很成功, lineageOS 下没连上过。

另外试过 win10 自带的 miracast 功能作为服务端或客户端, 使用体验是。。。 仅限于 ppt 流畅。
Siril
2017-07-19 14:16:11 +08:00
@lawfun 似乎 miracast 标准挺乱的, 各家的设备多少有些不兼容,是否顺利使用,可能得看运气

我用着顺利可能是恰好用的同一厂商的设备。

原理记得是发送者把画面+音频编码成视频流,用 wifi 发给接收者。
音频也发给电视 /显示器了,我的显示器有耳机口输出。
lawfun
2017-07-20 22:14:36 +08:00
感谢 @Siril 的回复, 开拓的我的思路
我搜了一些 miracast 的接受器,大多是杂牌子的。听您一说,原来 小米盒子就有这么一个功能。

也想到了以后可以装个 win 的客厅电脑,然后可以用飞鼠控制。这样玩起来很爽了。

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

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

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

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

© 2021 V2EX