如何使用电脑模拟手柄来读取amiibo文件到Switch

在开始前,请注意以下几点:

那么就开始吧!

首先,你需要准备以下:

  1. 电脑(任何系统)

  2. Switch(没有的话也可以收藏本文待日后使用哦)

  3. 蓝牙适配器(笔记本电脑内置的蓝牙很可能会有连上后马上断开的问题,已有多名用户回报此问题,至今未解决,如果你有这种情况出现,可以在网上花个十来二十块钱买一个USB蓝牙适配器插上使用)

第一步:启动Linux(如果你正在用Linux,可以跳过这一步)

1.前往 https://mirror.us.leaseweb.net/ubuntu-cdimage/xubuntu/releases/20.04/release/ 下载一个Ubuntu系统盘

两个红框挑一个下载,版本号不同,区别应该不大

2.前往 https://www.virtualbox.org/wiki/Downloads 下载虚拟机软件VirtualBox及其Extension Pack(本文以Windows版为例。VMware对蓝牙的支持有所限制,可能会无法连接到Switch,如果你正在用的话最好还是换成VirtualBox)

按自己系统选择下载,下面红框内的Extension Pack也要下载

3.安装VirtualBox以及Extension Pack后打开,点选“新建”

按图中的类型和版本进行选择

4.接下来全部都按默认的选项点下一步就可以了(硬盘分配太小的话可能安装完后会无法启动系统,最好还是按默认的10GB来)

这样就算创建好虚拟机了,接下来是安装系统

5.点选“设置”,在“存储”选项卡中载入我们前面下载的系统盘

点击红框内的图标就可以选择载入了

5.在“USB设备”这个选项卡中加入你的蓝牙适配器,如果不知道是哪一个的话可以去设备管理器查看一下(或者拔插一下看看)

另外请特别注意,虚拟机开机后,所有已连接的蓝牙设备都会断开(比如蓝牙鼠标),且无法在虚拟机内连接这些设备,关闭虚拟机或者中止虚拟机连接蓝牙适配器后可恢复

点击红框内的图标来加入蓝牙设备

6.保存设置后就可以开机装系统了,可选择中文

选择右边的安装即可

7.选择下载更新和安装第三方软件,之后会联网下载更新文件,有条件的话可以挂一个全局

两个都选上

8.再经过接下来的几个简单步骤后,接下来的就是安装了,请耐心等待

9.安装完后重启虚拟机(第一次重启要按一下回车键),确认有蓝牙图标出现并点击软件更新器安装更新,安装完后关闭虚拟机

没有蓝牙图标的话点击“设备”在“USB”一栏选择你的蓝牙适配器

10.载入VirtualBox安装路径内的VBoxGuestAdditions.iso这个光盘后开机

载入软件安装路径内的VBoxGuestAdditions.iso

11.打开终端模拟器,按顺序输入以下此时虚拟机还无法共享主机的粘贴板和文件,请逐字输入),安装完成后右键弹出光盘并重启虚拟机,在虚拟机选项栏的“设备”中启用“共享粘贴板”以及“拖放”即可实现粘贴板共享以及文件拖拽共享的功能了

sudo apt-get update

sudo apt-get install gcc make perl

cd /media/<用户名>/<光盘文件夹名>/ # 光盘就在桌面,可以直接复制整条路径

sudo ./VBoxLinuxAdditions.run

像这样就安装完成了,重启虚拟机并在“设备”中启用共享粘贴板以及拖放即可开启共享功能


第二步:安装JoyControl

1.打开终端模拟器,按顺序输入以下(现在就可以复制粘贴了)

sudo true

sudo apt-get update -qy

sudo apt-get upgrade -qy

sudo apt-get install -qy git python3-pip libglib2.0-dev libhidapi-hidraw0 libhidapi-libusb0 libdbus-1-dev

sudo pip3 install hid aioconsole crc8 dbus-python

mkdir -p ~/joycontrol

git clone https://github.com/mart1nro/joycontrol ~/joycontrol

这样就安装好了

2.由于源码授权方式之类的等等问题,amiibo读取功能已经在最新版中删除了,我们需要回滚到读取功能删除前的最后一个版本,在终端模拟器中按顺序输入以下

cd ~/joycontrol

git checkout bf2e7e5

git log

最后一行命令可以用来确认版本是否已经切换,确认到头几个字是bf2e7e5的话就没有问题了


第三步:使用JoyControl

1.将你的amiibo文件拖进虚拟机中(文件名越简单越好,方便切换使用)

2.先打开游戏,到达amiibo触发点前再退回到主界面(这样的话会方便很多,用电脑操控挺不方便的,本文以火纹为例)

可以先到这个地方等待

4.卸下Switch上的Joy-Con,并进入“更改握法/顺序”的界面中

停留在这个界面等待电脑连接

5.打开终端模拟器,按顺序输入以下,耐心等待连接(连接所需的时间可长可短,若有问题请见本文末尾),建议在虚拟机内新建一个文本文件来储存命令,就不用再切换出来复制了

cd ~/joycontrol

sudo python3 ./run_controller_cli.py PRO_CONTROLLER

这就已经连接上了

6.连接上后按一下回车,就可以开始输入命令了,先输入“a”并回车确认连接再回到主界面(第一次连接的话虚拟机系统有可能会报错,无需理会,关掉它然后继续正常使用即可)

连接上之后用电脑按一下A键即可

7.输入“home”即可回到游戏(或者使用触摸屏),继续输入命令打开amiibo界面,再使用以下命令读取amiibo文件(也可以先读取文件再开界面。如果是先开amiibo界面的话,终端此时会不断的刷屏,不用担心这个,照常输入命令再回车使用即可)

nfc <amiibo文件路径> # 可以通过更改文件随时切换到不同的amiibo

nfc remove # 停止读取amiibo文件,避免游戏反复读取同一个amiibo

到这个页面就可以准备读取了(也可以先读取)


像这样输入后回车即可读取amiibo文件

8.amiibo读取成功

读取成功了,现在可以切换其他的amiibo文件来继续读取


其他事项:

1.各种命令都是对应按键名称的,可以输入“help”查看所有命令

2.如果迟迟没有连接到Switch或者蓝牙出错,可以先在终端按顺序输入以下命令再来连接,同时可以手动搜索一下蓝牙设备看看,再不行就多重启几次虚拟机

sudo sed -i 's|^ExecStart=/usr/lib/bluetooth/bluetoothd.*$|ExecStart=/usr/lib/bluetooth/bluetoothd --noplugin=input|g' /lib/systemd/system/bluetooth.service # 这些是同一条命令,不要漏了

sudo systemctl daemon-reload

sudo systemctl restart bluetooth

3.若进入游戏后显示要按住L+R键来选择手柄的话,输入以下命令即可

hold l r

release l r # 连上后就可以输入这个放开L+R键

4.只要连接过一次,以后就可以不用再开启“更改握法/顺序”界面来连接了,在虚拟机的蓝牙设备里面可以找到Switch的蓝牙MAC地址(XX:XX:XX:XX:XX:XX),以后就可以输入以下命令来直接连接

cd ~/joycontrol

sudo python3 ./run_controller_cli.py PRO_CONTROLLER -r <Switch的蓝牙MAC地址>

5.可以在 https://amiibo.life/games/ 查询游戏支持哪些amiibo及其可获得的奖励

本文为我原创

本文禁止转载或摘编

-- --
  • 投诉或建议
评论