Aaaao. 2023-11-04 09:54 采纳率: 100%
浏览 2
已结题

如何在M1 Mac OS上制作安卓模拟器键盘映射?

如何在M1 Mac OS上制作安卓模拟器键盘映射?

问题:

我下载了谷歌的原生安卓系统,并安装了和平精英,发现能够登陆也能操作,电脑也能带动。只能用鼠标操作让人很头疼,但是看到B站有人验证了键盘映射的可行性,于是跃跃欲试。

请教一下大家在我的系统上应该如何DIY键盘映射?以及我不会Linux,如果有代码最好。

参考链接:

  1. 下载谷歌原生安卓虚拟机的教程(唯一可以适配M1的)
  2. B站制造键盘映射的教程(含代码)
https://www.bilibili.com/read/cv18982262/

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-11-04 13:09
    关注

    【以下回答由 GPT 生成】

    解决方案

    很高兴能帮助您解决这个问题。在M1 Mac上制作安卓模拟器的键盘映射,您可以按照以下步骤进行操作:

    1. 首先,请确保您已经按照参考链接1中提供的教程下载并安装了谷歌原生安卓虚拟机。

    2. 打开终端应用程序,输入以下命令来安装依赖项:

    shell brew install scrcpy brew install android-platform-tools

    这将安装scrcpy和安卓平台工具,用于键盘映射和与安卓设备进行通信。

    1. 将您的安卓设备连接到Mac电脑。您可以使用USB线缆连接,或者使用无线连接(参考链接1中有相关介绍)。

    2. 在终端中执行以下命令,启动scrcpy

    shell scrcpy

    scrcpy会自动检测到已连接的安卓设备并将其屏幕显示在Mac上。

    1. 现在,您可以使用鼠标在模拟器上进行操作,但我们想要实现键盘映射。您可以按照参考链接2中提供的教程,制作键盘映射。

    2. 打开任何文本编辑器,将以下代码复制粘贴到新建的文件中:

    ```python import pynput.keyboard as keyboard import subprocess

    def on_press(key): key_str = str(key)

       if key_str == '\'a\'':
           execute_adb_command('input keyevent 21')
       elif key_str == '\'d\'':
           execute_adb_command('input keyevent 22')
       elif key_str == '\'w\'':
           execute_adb_command('input keyevent 19')
       elif key_str == '\'s\'':
           execute_adb_command('input keyevent 20')
       elif key_str == '\'e\'':
           execute_adb_command('input keyevent 66')
    

    def execute_adb_command(command): subprocess.run(['adb', 'shell', command])

    with keyboard.Listener(on_press=on_press) as listener: listener.join() ```

    1. 将文件保存为android_keyboard_mapping.py(或任何您喜欢的名称)。

    2. 在终端中再次执行以下命令,以启动键盘映射:

    shell python3 android_keyboard_mapping.py

    现在,您可以在安卓模拟器上按下键盘上的'A'、'D'、'W'、'S'和'E'键来实现相应的操作。

    需要注意的是,以上代码仅提供一个简单的示例,您可以根据自己的需求和键位设置进行修改。

    希望这些步骤能够帮助您成功制作安卓模拟器键盘映射。如果您在操作过程中遇到任何问题,请随时向我提问。


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 1月26日
  • 已采纳回答 1月18日
  • 修改了问题 11月4日
  • 创建了问题 11月4日

悬赏问题

  • ¥15 python怎么在已有视频文件后添加新帧
  • ¥20 虚幻UE引擎如何让多个同一个蓝图的NPC执行一样的动画,
  • ¥15 fluent里模拟降膜反应的UDF编写
  • ¥15 MYSQL 多表拼接link
  • ¥15 关于某款2.13寸墨水屏的问题
  • ¥15 obsidian的中文层级自动编号
  • ¥15 同一个网口一个电脑连接有网,另一个电脑连接没网
  • ¥15 神经网络模型一直不能上GPU
  • ¥15 pyqt怎么把滑块和输入框相互绑定,求解决!
  • ¥20 wpf datagrid单元闪烁效果失灵