V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lawfun
V2EX  ›  Android

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

  •  
  •   lawfun · 2017-07-13 00:08:14 +08:00 · 14263 次点击
    这是一个创建于 2689 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

    谢谢大家

    第 1 条附言  ·  2017-07-13 13:05:38 +08:00
    有没有大牛指导下怎么开发个 Android 模拟器,能在 linux 上连手柄,玩游戏的
    27 条回复    2017-07-20 22:14:36 +08:00
    gongjianwei
        1
    gongjianwei  
       2017-07-13 01:08:52 +08:00 via Android
    重点是,Android 模拟器怎么识别你的 Windows 接入了一个设备
    建议:装一个 Android x86
    Dukec
        2
    Dukec  
       2017-07-13 01:57:38 +08:00
    @gongjianwei 一些 Windows 上的 Android 模拟器是可以识别并且使用手柄的,而且题主问的是 Linux 上的 Android 模拟器。
    cctrv
        3
    cctrv  
       2017-07-13 02:12:52 +08:00 via iPhone
    把手柄按鍵映射成鍵盤按鍵。
    例如上就是 W。這個方向應該有解決方案。
    20150517
        4
    20150517  
       2017-07-13 06:54:00 +08:00 via Android
    我保证你这游戏卡的像狗一样
    linhua
        5
    linhua  
       2017-07-13 08:20:01 +08:00
    Genymotion 是基于 VirtualBox 虚拟机的,你打开 VirtualBox 可以查看到 Genymotion 的虚拟机系统。
    所以 先思考一下相关的问题:你是如何让 VirtualBox 中的 Windows/Linux 系统 支持游戏手柄的?
    v2orz
        6
    v2orz  
       2017-07-13 08:27:14 +08:00
    常见的安卓游戏模拟器都可以啊。比如王者荣耀,我用 xbox360 的手柄就可以,就是技能方向不好搞
    v2orz
        7
    v2orz  
       2017-07-13 08:27:41 +08:00
    啊,我 2 了,你说的 Linux,忽略我吧
    artisan
        8
    artisan  
       2017-07-13 09:37:50 +08:00
    模拟器有模拟键盘按键,然后键盘映射手柄.
    我就是这么干的
    janus77
        9
    janus77  
       2017-07-13 09:57:44 +08:00
    Linux 上好像没看到为游戏定制的 android 模拟器
    gongjianwei
        10
    gongjianwei  
       2017-07-13 10:17:46 +08:00 via Android
    @Dukec 没看清楚,抱歉
    lawfun
        11
    lawfun  
    OP
       2017-07-13 13:02:10 +08:00
    @gongjianwei 一般的游戏,比如 王者荣耀 只支持 arm,都不支持 X86
    lawfun
        12
    lawfun  
    OP
       2017-07-13 13:03:15 +08:00
    @cctrv 用键盘只能 45 度角斜着走了,不能万向走
    lawfun
        13
    lawfun  
    OP
       2017-07-13 13:04:08 +08:00
    @20150517 在 win10 上 用 逍遥模拟器等 玩王者荣耀顺畅的很
    happyzed
        14
    happyzed  
       2017-07-13 13:58:22 +08:00
    itools 安卓模拟器,支持手柄,不谢
    maemolee
        15
    maemolee  
       2017-07-13 14:47:27 +08:00 via iPad
    linux ……没头绪。装个 windows 双系统如何 www
    JackyBao
        16
    JackyBao  
       2017-07-13 14:54:16 +08:00
    remixos?
    lawfun
        17
    lawfun  
    OP
       2017-07-13 20:13:42 +08:00
    @happyzed itools 安卓模拟器 不支持 Linux 吧
    happyzed
        18
    happyzed  
       2017-07-14 10:20:24 +08:00
    @lawfun linux 玩什么游戏
    XuweiatTuSDK
        19
    XuweiatTuSDK  
       2017-07-14 10:52:35 +08:00
    @gongjianwei Android x86 比如 Remix OS,不知道能不能识别手柄
    woyaojizhu8
        20
    woyaojizhu8  
       2017-07-15 14:18:54 +08:00
    @lawfun 难道你在 linux 下用谷歌 android 模拟器开一个 arm 的 android 玩王者荣耀?不会很卡吗?
    我开个微信都卡得不能自理
    lawfun
        21
    lawfun  
    OP
       2017-07-15 22:20:01 +08:00
    @woyaojizhu8 用的 genymotion 开的 x86 的模拟器,然后加上 arm translation,一点都不卡,机器是 i5-3210 16g 内存。google 的 arm 模拟器直接就一直卡在开机画面
    Siril
        22
    Siril  
       2017-07-18 14:21:48 +08:00   ❤️ 1
    我用过 windows 下的 夜神 网易 mumu 海马玩 腾讯手游助手 等模拟器 ,
    玩王者荣耀基本不卡,也纠结于这个手柄的问题。 各模拟器的摇杆控制都是残废。

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

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

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

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


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

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

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

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

    也想到了以后可以装个 win 的客厅电脑,然后可以用飞鼠控制。这样玩起来很爽了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1191 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 18:22 · PVG 02:22 · LAX 10:22 · JFK 13:22
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.