📖 本文由 Batocera 官方 Wiki 翻译整理,内容可能随版本更新而变化。
进阶设置:玩转 RetroArch 核心选项
如果你想更深入地定制你的游戏体验,可以尝试调整 RetroArch 进阶设置(Advanced RetroArch Settings)。
在动手之前,建议你先在 EmulationStation(也就是你选游戏的那个图形界面)里找找看,说不定你想修改的选项已经有了对应的开关!大多数与游戏相关的设置都藏在游戏设置(GAME SETTINGS)中,而一些专门针对 RetroArch 的底层选项可能会出现在开发者(DEVELOPER)菜单里。
为什么不能直接修改配置文件?
生活化类比:这就像是在酒店里住房间。在普通的系统(比如在 Windows 上装 RetroArch)里,你可以随心所欲地装修(修改
RetroArch.cfg文件)。但在 Batocera 中,系统就像是一个效率极高的管家,每次你启动游戏时,他都会根据自己的标准把房间重新布置一遍,覆盖掉你之前的改动。
因此,与其直接去改配置文件,更好的办法是“告诉” Batocera 你的偏好。
- 第一步:优先使用图形界面
绝大多数设置都可以在 EmulationStation 中直接修改,这样你的设置就能在每次启动时被 Batocera 正确识别并加载。 - 第二步:留意特殊情况
如果某些选项无法在图形界面找到,请留意相关文档中提到的例外情况,再进行特殊操作。
对于那些还没有集成到 EmulationStation(ES) 图形界面中的选项,你依然可以通过修改后台文件的方式来进行深度定制。
如何持久保存你的 RetroArch 设置
通常情况下,当你在运行 Libretro 核心(Libretro core) 游戏时,可以通过组合键 [HOTKEY] + 南向键(SNES 布局的 B 键) 进入 RetroArch 的内置菜单进行修改。这些改动会保存到 retroarchcustom.cfg 中(核心选项则存放在 RetroArch-core-options.cfg)。
【注意】正如前面提到的,Batocera 就像个“强迫症管家”,绝大多数在 RetroArch 菜单里直接修改的设置,在下次启动游戏时都会被 Batocera 自动覆盖还原。
第一步:让 Batocera 记住你的偏好
为了防止你的设置被系统刷掉,最稳妥的方法是直接修改 /userdata/system/batocera.conf 文件。你需要告诉系统:“这是我的个人偏好,请在启动时帮我应用它。”
你需要遵循特定的语法格式:
global.retroarch.具体的设置项=你想要的值
生活化类比:这就像是在餐厅点餐,你直接在点餐单(
batocera.conf)上备注“不加香菜”,这样大厨(配置生成器)每次炒菜时都会按照你的备注来,而不是按照厨房的默认菜谱(默认设置)去操作。
第二步:处理“冷门”设置
虽然 Batocera 支持绝大多数的 RetroArch 设置项,但偶尔也会遇到一些“漏网之鱼”,比如极少数的前沿新功能或是非常冷僻的旧选项。
如果你发现某个设置在 batocera.conf 中不起作用,你可以:
1. 直接编辑 /userdata/system/configs/RetroArch/retroarchcustom.cfg 文件。
2. 将对应的配置行写入其中。
【提示】写入此文件的冷门设置项不会被 Batocera 覆盖(除非在未来的版本更新中,Batocera 也正式支持了该项设置)。
进阶配置实例
为了让你更直观地了解如何通过代码自定义功能,这里列举了几个非常实用的配置案例。
1. AI 游戏翻译(A.I. Translation)
想玩那些只有日语或德语的经典大作却看不懂剧情?这个功能可以自动翻译游戏中的对话,让你跨越语言障碍。你也可以直接在菜单中开启:游戏设置(GAMES SETTINGS) -> AI 游戏翻译(AI GAME TRANSLATION)。
如果你想通过配置文件开启,请参考以下代码:
启用 RetroArch AI 游戏翻译服务
global.ai_service_enabled=1
global.ai_service_url=http://ztranslate.net/service?api_key=Batocera
在此处填写目标语言代码,如“zh”代表中文
global.ai_target_lang=
2. 金手指(Cheats)
如果你希望系统能自动为你应用选定的金手指代码,可以使用以下配置。
自动应用用户选择的金手指
global.RetroArch.apply_cheats_after_load=true
global.RetroArch.apply_cheats_after_toggle=true
3. 存档预览截图(Savestate Screenshots)
当你拥有大量的即时存档(Savestate)时,往往很难想起每个档到底存到了哪里。
生活化类比:这就像是给你的存档加了一张“缩略图”。以前只能靠存档序号去猜,现在 RetroArch 会在存档时顺便拍张照,让你一眼就能认出这是在哪一关。
【提示】这目前已成为 Batocera 的默认设置,但它在 ES 菜单界面中是找不到开关的,只能通过配置文件确认。
开启即时存档缩略图功能
global.RetroArch.savestate_thumbnail_enable=true
4. 启动屏幕消息(Start Screen Message)
隐藏 RetroArch 的欢迎信息。每次启动都要等 3 秒钟看那条消息消失真的很无聊。
【提示】这现在已经是 Batocera 的默认设置了。由于在 ES 界面中没有对应的开关,如果你想确认或手动修改,可以使用以下配置:
隐藏 RetroArch 的欢迎启动信息
global.RetroArch.rgui_show_start_screen=false
5. 全员菜单控制(All Users Control Menu)
这个选项决定了是否允许所有手柄控制菜单。
生活化类比:这就像是给游戏机设了一个“家长权限”。单人玩时没区别,但如果你家里有捣蛋的小孩或是不熟悉操作的朋友,关闭这个功能简直是救星——只有 1 号玩家(也就是你)可以操作即时存档、切换存档位、回溯游戏等进阶功能,其他人只能乖乖玩游戏。
【提示】该选项在 ES 菜单中不可见,需通过配置文件设置。
仅允许 1 号玩家控制菜单(禁止其他玩家干扰)
global.RetroArch.all_users_control_menu=false
6. 交换“确认”与“返回”按键(Swap OK and Cancel buttons)
在 RetroArch 菜单中交换 确认(OK) 和 取消(CANCEL) 键。
许多用户使用的是 SNES 布局的手柄。在 EmulationStation 界面里,通常习惯用右侧按键(A)表示返回,下方按键(B)表示确认。但在 RetroArch 的默认逻辑中,这两个按键往往是反过来的,用起来非常别扭。
【注意】此选项无法在菜单中直接更改,只能通过修改配置文件实现。
交换 RetroArch 菜单中的确认与取消按键
global.RetroArch.menu_swap_ok_cancel_buttons=true
7. 屏幕显示徽章(OSD Badges)
启用屏幕显示消息(OSD messages)。RetroArch 通常会向用户展示一些关键信息,比如即时存档、截屏成功或是成就解锁(RetroAchievements)等。这些消息以“徽章”形式显示时非常美观。
但有时,系统也会弹出一些没那么重要的提示(例如你登录成就系统时的用户名),这些提示往往呈现为极其简陋的黄色文字行,破坏了画面美感。开启此选项可以隐藏这些“丑陋”的纯文本,同时保留漂亮的徽章通知。
生活化类比:这就像是给你的电视通知加了个“美化滤镜”。我们只想看到精致的弹窗提醒,而不想看到像老式录像机那样的粗糙字幕。
【提示】这目前已成为 Batocera 的默认选项,但它在 ES 菜单中没有对应开关。
启用屏幕消息美化(隐藏非徽章样式的纯文本消息)
global.RetroArch.video_font_enable=false
8. 精确帧率同步(Sync to Exact Content Framerate)
(即 G-Sync 或 FreeSync)
对于支持可变刷新率(VRR,Variable Refresh Rate)的显示器,开启此项功能可以极大地提升画面平滑度。
生活化类比:传统的“垂直同步(V-Sync)”就像是你在等公交车,车不来你只能在那干等(产生画面延迟);而“精确帧率同步”则是给你的显示器配了个专属司机,模拟器跑多快,显示器就跟多快,两者步调完全一致。
它会将显示器的刷新率直接同步到模拟游戏的原始帧率上。
【注意】此功能仅在明确支持“可变刷新率”的显示器上有效(大多数普通显示器并不支持)。目前此选项已可以直接在 ES 菜单中找到。
开启精确帧率同步(支持 G-sync、Freesync 等可变刷新率技术)
global.RetroArch.vrr_runloop_enable=true
针对单个游戏调整音量(Adjust per-game volume)
并非所有游戏的声音表现都是平等的……有些游戏天生就是“大嗓门”,而有些则声音微弱。你可以利用下面的配置针对特定的游戏调整音量输出(Volume Output)。
生活化类比:这就像是给每个游戏请了一个专职调音师。你可以让某个游戏特别大声,也可以用负数(例如
-5)让某些太吵的游戏“闭嘴”一点。
配置示例如下:
将 pcenginecd 文件夹下名为 SydMead's TerraForming (USA).chd 的游戏音量提高 10 分贝
pcenginecd["SydMead's TerraForming (USA).chd"].RetroArch.audio_volume = "10.000000"
修改帧率更新频率(Alter FPS update interval)
当你在系统设置(SYSTEM SETTINGS) -> 前端开发者设置(FRONTEND DEVELOPER SETTINGS)中开启显示帧率(SHOW FPS)后,你可能会发现 RetroArch 的帧率计数器(FPS counter)反应非常迟钝。
生活化类比:这就像是一个反应慢半拍的仪表盘。系统默认每 2.5 秒才更新一次读数,所以你看到的数字总是滞后的。
如果你希望让数值刷新得更实时(例如每 10 毫秒更新一次),可以添加以下代码:
将帧率刷新间隔改为 10 毫秒
global.RetroArch.fps_update_interval=10
核心选项配置(Core options)
【提示】在动手改代码之前,强烈建议先去高级系统选项(ADVANCED SYSTEM OPTIONS)里看看!你想要的功能可能已经被做成了现成的开关。
- 操作小技巧:在游戏列表界面,对着某个系统按下 [SELECT] 键,即可快速跳转到该系统的设置菜单。
如果你需要调整更深层的核心选项(Core options),也就是那些通常保存在 /userdata/system/configs/RetroArch/cores/RetroArch-core-options.cfg 文件中的设置,可以参考以下方法。
设置特定的核心参数
你可以使用 global.retroarchcore.<核心名称>_<核心选项>=值 的语法来进行配置。
【注意】这种配置方式具有极高的优先级。它会覆盖掉其他所有设置,甚至包括一些维持游戏运行所必需的选项。因此,这被视为一项仅限高级用户的操作,请务必谨慎。
- 配置范例:如果你想让使用 GenesisPlusGX 核心运行的游戏都强制以 PAL 制式运行,可以添加:
global.retroarchcore.genesis_plus_gx_region_detect=pal。
虽然你可以使用 global. 前缀将设置应用到该核心支持的所有机种,但更稳妥的做法是指定具体的系统(考虑到大多数核心本身也就只对应一个游戏机平台)。
如何找准配置术语
每个核心的选项名称通常都是独一无二的。如果你不确定该填写哪个单词,可以按照以下步骤“抓取”正确的术语:
- 第一步:进入核心设置菜单
启动一个游戏,按下组合键[HOTKEY] + 南向键(SNES 布局的 B 键)进入 RetroArch 的快捷菜单(Quick Menu)。找到核心选项(Core Options)。
【提示】在旧版本的 RetroArch 中,这个选项可能简称为“选项(Options)”。 - 第二步:修改并保存临时配置
根据你的需求修改选项。 - 第三步:生成参考文件
进入管理核心选项(Manage Core Options),选择保存内容目录选项(Save Content Directory Options)。
生活化类比:这就像是你在餐厅点了一道复杂的隐藏菜。为了以后在家也能复刻出完全一样的味道,你先让大厨当面演示一遍(在菜单里修改),然后向大厨要一份详细的配料表(保存目录选项文件),这样你就能照着这张表把精准的配方写进你的私人食谱(配置文件)里了。
-
第一步:查看新生成的配置文件
前往/userdata/system/configs/RetroArch/config/<核心名称>/<系统名称>.opt路径下找到刚才生成的文件。
【提示】如果你使用的是旧版 Batocera,该文件可能位于/userdata/system/.config/RetroArch/...。由于.config是隐藏文件夹,你可能需要在文件管理器中开启“显示隐藏文件夹”才能看到它。 -
第二步:将设置“移植”到主配置中
打开该文件,把你需要的选项复制出来,并在前面加上global.retroarchcore.前缀后添加到batocera.conf文件中。
> 生活化类比:这就像是从草稿本上把正确的答案誊写到正式的试卷上。关于数值的写法,你可以像 RetroArch 那样加双引号(如= "value"),也可以像 Batocera 习惯的那样不加引号(如= value),两者都是有效的。 -
第三步:清理临时文件
为了保持系统整洁,请删除刚才生成的.opt文件。或者你也可以直接在 RetroArch 菜单中选择 删除内容目录选项(Delete Content Directory Options)(该选项在旧版中对应的是“保存”位置)。
配置实战演示
为了让大家更有操作感,我们以运行世嘉 MD 平台上的《奥尼尔功夫(Shaq Fu)》为例:
- 第一步:进入设置界面
启动游戏,这是一款极具个性的格斗游戏。在游戏运行时,迅速按下[HOTKEY] + 南向键(SNES 布局的 B 键)呼出 选项(Options) 菜单。 - 第二步:修改地区设置
在核心选项菜单中,找到 系统地区(System region)。 -
第三步:快速调整数值
将该选项从 “auto” 修改为 “pal”。你可以利用方向键的左右键来快速切换不同的参数值。 -
第一步:保存核心配置
进入管理核心选项(Manage Core Options)菜单,点击保存内容目录选项(Save Content Directory Options)。此时,系统会为你生成一个临时的配置文件。
【提示】保存成功后,刚才的按钮会变成“删除”选项,方便你后续清理。 -
第二步:定位生成的选项文件
打开文件管理器,前往以下路径:/userdata/system/configs/RetroArch/config/Genesis Plus GX/megadrive.opt。瞧,你要找的文件就在这里! -
第三步:确认配置术语
打开这个.opt文件,观察刚才修改的参数。你会发现它标记为:genesis_plus_gx_region_detect = "pal"。太棒了,这正是我们要找的关键代码。 -
第四步:永久应用设置
打开主配置文件Batocera.conf,将刚才的代码加上前缀并填入:
global.retroarchcore.genesis_plus_gx_region_detect = "pal"。 -
第五步:清理现场
删除刚才生成的megadrive.opt临时文件。
现在,我所有的 Mega Drive 游戏都能以 PAL 制式的速度完美运行了。虽然有人觉得只有 NTSC 制式才算“硬核(Hardcore)”,但现在的效果正是我想要的! ;-)
其他非核心类的 RetroArch 设置
【注意】接下来我们要讨论的是如何彻底接管 RetroArch 的控制权,但这是一种极其危险的操作!
生活化类比:这就像是直接把汽车的行车电脑锁死,拒绝接受任何外部指令。
一旦你强行禁用 Batocera 对 RetroArch 配置文件(Configuration files)的控制权限,Batocera 的“自动化管理”功能就会失效。这可能导致一系列严重问题:
* 你无法再通过 EmulationStation 的图形菜单修改任何设置。
* 在未来的版本更新后,模拟器可能因为无法自动适配新参数而彻底无法启动。
* 你可能无法在游戏运行中途切换或更改手柄连接。
更好的选择是像前文提到的那样,通过 batocera.conf 来配置这些设置。这样做能让 Batocera 识别到你所做的更改,同时保证系统各项功能依然运行正常。
【注意】只有当你明确意识到,此后的配置维护重担将完全落在你自己肩上时,再继续操作。
如何保存非核心类的设置:使用覆盖配置(Overrides)
如果你发现某些设置不属于“核心选项”,你会注意到即便保存了核心配置,这些改动也无法持久保存。对于这类设置,你必须使用覆盖配置(Overrides)功能。
生活化类比:如果说“核心选项”是调整某台游戏机的内部开关,那么“覆盖配置”就像是在特定的游戏盒子上贴了一张“特殊操作说明”。每当你打开这个盒子,系统就会按照这张小纸条上的指示来运行。
- 第一步:调整好你的设置
在游戏中进入 RetroArch 菜单,按照你的喜好调整好所有选项。 - 第二步:进入覆盖菜单
在菜单中找到 快捷菜单(Quick menu) -> 覆盖(Overrides)。 - 第三步:选择覆盖范围
选择你想要创建的覆盖类型。虽然我们并不推荐使用覆盖配置,但为了尽量减少对系统的干扰,建议遵循“从小到大”的原则:- 优先选择 游戏覆盖(Game Overrides):仅针对当前这款游戏生效。
- 如果不够用,再选择 内容目录覆盖(Content Directory Overrides):针对该文件夹下的所有游戏生效。
- 最后才考虑 核心覆盖(Core Overrides):让该系统核心运行的所有游戏都生效。
为 RetroArch 重新配置键盘(Reconfiguring the Keyboard for RetroArch)
如果你想为所有通过 Libretro 核心(Libretro core) 运行的模拟系统重新定义默认键盘按键,可以参考本节内容。这对于没有手柄可用的玩家,或者是使用上网本(Netbook)这类一体式设备的用户非常有用。
【注意】一旦完成此设置,你在 ES 图形界面(EmulationStation) 中配置好的手柄将无法在 Libretro 核心的游戏中使用。如果你想恢复手柄操控,必须撤销这些设置。此功能在 ES 菜单中无法直接调整。
关于虚拟手柄(RetroPad)的概念
你需要理解的是,这个过程实际上是将你的键盘映射到一个虚拟手柄(RetroPad)上。
生活化类比:这就像是在键盘和模拟器之间加了一个“翻译官”。无论你用的是什么键盘,我们都先把它统一“翻译”成一个标准手柄的操作。当游戏启动时,这个标准手柄会自动对应到具体游戏机的控制按键上。
配置步骤:自定义你的键盘映射
- 第一步:定位配置文件
打开你的/userdata/system/batocera.conf文件。 - 第二步:添加映射代码
根据你的使用习惯,将对应的按键代码添加到文件中。
以下是系统默认的键盘绑定示例,你可以参照这个格式进行修改:
动作键(Face buttons)
global.RetroArch.input_player1_a=x
global.RetroArch.input_player1_b=z
global.RetroArch.input_player1_x=s
global.RetroArch.input_player1_y=a
方向键(D-pad)
global.RetroArch.input_player1_down=down
global.RetroArch.input_player1_left=left
global.RetroArch.input_player1_right=right
global.RetroArch.input_player1_up=up
肩键(Shoulder buttons)
global.RetroArch.input_player1_l=q
global.RetroArch.input_player1_r=w
代码示例如下:
扩展肩键(L2/R2)
global.RetroArch.input_player1_l2=nul
global.RetroArch.input_player1_r2=nul
开始与选择键(Start and Select)
global.RetroArch.input_player1_select = rshift
global.RetroArch.input_player1_start = enter
左摇杆(Left analog)
global.RetroArch.input_player1_l_x_minus=nul
global.RetroArch.input_player1_l_x_plus=nul
global.RetroArch.input_player1_l_y_minus=nul
global.RetroArch.input_player1_l_y_plus=nul
右摇杆(Right analog)
global.RetroArch.input_player1_r_x_minus=nul
global.RetroArch.input_player1_r_x_plus=nul
global.RetroArch.input_player1_r_y_minus=nul
global.RetroArch.input_player1_r_y_plus=nul
摇杆下压按键(L3/R3)
global.RetroArch.input_player1_l3=nul
global.RetroArch.input_player1_r3=nul
热键(The Hotkey)
global.RetroArch.input_enable_hotkey=nul
第一步:确定你的配置范围
如果你不希望“一刀切”地修改所有系统,而是只想让键盘映射在某个特定的机种上生效,你可以把代码开头的 global 替换为该系统的简写名称(Shortname)。
生活化类比:这就像是给家里的电器贴标签。写
global相当于给全屋的插座都定了一套规矩,而写psx则像是只针对索尼 PlayStation(PS1)这一台机器开了小灶。
第二步:检查你的模拟器核心
【注意】必须再次强调,这套方法仅仅适用于 Libretro 核心(Libretro cores)。如果你使用的是独立模拟器(Standalone emulators),这些设置是不会起作用的!
重新绑定 RetroArch 的热键(Rebinding RetroArch’s hotkeys)
如果你正在寻找如何修改掌机功能键的方法,请参考专门的掌机功能键说明页面。
自定义热键功能
Batocera 默认提供的热键组合(Hotkey combos)已经很方便了,但有时你可能想把某个热键功能直接绑定到一个闲置的按键上。
生活化类比:这就像是给你的游戏机装了一个“一键直达”的快捷键。比如在玩 GBA 游戏时,你可以把一直空着的
[R2]键直接设为“快进”功能,按一下就加速,而不需要再按复杂的组合键。
【注意】此操作同样仅对 Libretro 核心(Libretro core) 有效,独立模拟器(Standalone emulators) 无法使用此方法。
第一步:设置热键激活逻辑
首先,你需要决定是否需要先按住“热键开关”才能触发命令。
- 操作方法:打开
/userdata/system/batocera.conf文件,添加以下内容:
热键启用按钮。相当于 Batocera 默认的 [HOTKEY]。
如果将其设为 "nul",则意味着你按下的功能键会立即生效,无需先按住热键。
global.RetroArch.input_enable_hotkey_btn=nul
第二步:精准指定受影响的系统
【提示】强烈建议你不要使用 global.,而是用具体的系统简写名称(System shortname)来替换它(例如 PS1 游戏使用 psx.RetroArch.<设置项>)。
生活化类比:这就像是设置“紧急呼叫”。如果你把所有游戏的某个常用按键都改成了热键功能,那么在一些按键操作比较复杂的系统里,你本想在游戏中跳跃或攻击,却可能莫名其妙触发了“退出游戏”或“保存存档”,严重干扰你的游戏体验。
通过指定系统,你可以确保只有在特定的、有闲置按键的游戏机平台上,这些快捷方式才会生效。
获取手柄按键的“内部编号”
在进行高级按键绑定之前,你首先需要搞清楚手柄上的每个物理按键在系统后台对应的“真名”是什么。
- 第一步:进入后台终端
你可以通过 终端(Terminal) 或 SSH 远程连接(Secure Shell) 登录到 Batocera 系统。 - 第二步:使用测试工具
运行evtest命令,然后按下手柄上的按键,你就能在屏幕上看到该按键对应的事件代码(Event code)。
生活化类比:这就像是在查户口。虽然你平时管某个按键叫“A 键”,但在系统的“户口本”里,它可能登记的是数字“305”。只有报出这个编号,系统才能精准识别你的操作。
下表列出了 Batocera 中常见的按键对应关系(以 Xbox 360 手柄为例):
【提示】表格中带有“?”的部分表示该按键的绑定关系尚不明确,或取决于具体的硬件驱动及 手柄配置(Configure a Controller) 菜单之外的设置。
^ 事件代码 (Event code) ^ RetroArch 绑定编号 ^ 类型 ^ 标签 ^ 备注 ^
| 304 | 0 | BTN | SOUTH | 南向键(SNES 布局的 B 键) |
| 305 | 1 | BTN | EAST | 东向键(SNES 布局的 A 键) |
| 307 | 3 | BTN | NORTH | 北向键(SNES 布局的 X 键) |
| 308 | 2 | BTN | WEST | 西向键(SNES 布局的 Y 键) |
| 310 | 9 | BTN | TL | [L1] 肩键,有时也显示为 “pageup” |
| 311 | 5 | BTN | TR | [R1] 肩键,有时也显示为 “pagedown” |
| 314 | 8 | BTN | SELECT | [SELECT] 选择键 |
| 315 | 7 | BTN | START | [START] 开始键 |
| 316 | ? | BTN | MODE | [HOTKEY] 热键 |
| 317 | ? | BTN | THUMBL | [L3],即按下左摇杆 |
| 318 | ? | BTN | THUMBR | [R3],即按下右摇杆 |
| 0 | ? | ABS | X | 左摇杆水平轴 |
| 1 | ? | ABS | Y | 左摇杆垂直轴 |
| 2 | ? | ABS | Z | [L2],左模拟扳机键 |
| 3 | ? | ABS | RX | 右摇杆水平轴 |
| 4 | ? | ABS | RY | 右摇杆垂直轴 |
| 5 | ? | ABS | RZ | [R2],右模拟扳机键 |
| 17 | h0up/h0down | ABS | HAT0Y | 方向键 上/下。值为 -1 是上,0 为中性,1 为下 |
| 16 | h0left/h0right | ABS | HAT0X | 方向键 左/右。值为 -1 是左,0 为中性,1 为右 |
在正式设置之前,我们先理解一下代码中的按键类型:BTN(Button) 代表普通的开关按键;而 ABS(Absolute position) 指的是绝对位置(通常用于模拟摇杆,也包括模拟扳机键和方向键。没错,在系统眼中,方向键本质上就是一个虚拟的模拟摇杆)。
第一步:定位并修改配置文件
打开你的 batocera.conf 文件,根据你的需求添加或编辑相关代码行。
第二步:映射你的自定义指令
以下是常用的 RetroArch 输入指令清单(括号内为 Xbox 360 手柄的默认按键对应关系):
生活化类比:这就像是在给你的手柄安装“一键宏”。原本需要两个手指配合按下的组合键,现在你可以直接指派给一个空闲的单键,让操作更顺手。
退出当前模拟器。相当于默认的 [HOTKEY] + [START]。
global.RetroArch.input_exit_emulator_btn=7
打开 RetroArch 的快捷菜单。相当于默认的 [HOTKEY] + 南向键(B键)。
global.RetroArch.input_menu_toggle_btn=0
将当前游戏进度保存到选定存档位。相当于默认的 [HOTKEY] + 西向键(Y键)。
global.RetroArch.input_save_state_btn=2
从选定存档位加载进度。相当于默认的 [HOTKEY] + 北向键(X键)。
global.RetroArch.input_load_state_btn=3
重置模拟的系统。相当于默认的 [HOTKEY] + 东向键(A键)。
【注意】该操作可能会导致某些特定设置或游戏出现故障。
global.RetroArch.input_reset_btn=1
切换到下一个存档位。相当于默认的 [HOTKEY] + [方向键上]。
global.RetroArch.input_state_slot_increase_btn=h0up
切换到上一个存档位。相当于默认的 [HOTKEY] + [方向键下]。
global.RetroArch.input_state_slot_decrease_btn=h0down
global.RetroArch.input_state_slot_decrease_btn=h0down
开关 AI 翻译服务。相当于默认的 [HOTKEY]+[R1]。
global.RetroArch.input_ai_service_btn=5
开启快进(按住生效)。相当于默认的 [HOTKEY]+[方向键右]。
global.RetroArch.input_hold_fast_forward_btn=h0right
开启回溯功能。相当于默认的 [HOTKEY]+[方向键左]。
global.RetroArch.input_rewind_btn=h0left
屏幕截图。相当于默认的 [HOTKEY]+[L1]。
global.RetroArch.input_screenshot_btn=9
切换到下一个着色器(Shader)。相当于默认的 [HOTKEY]+[R2]。
global.RetroArch.input_shader_next_btn=nul
切换到上一个着色器(Shader)。相当于默认的 [HOTKEY]+[L2]。
global.RetroArch.input_shader_prev_btn=nul
第一步:重新定义热键触发逻辑
如果你希望重新启用“组合键”模式,就需要设置一个专门的热键激活键(Hotkey enable button)。
- 操作说明:只要将以下设置项改为
nul以外的任何数值,系统就会要求你必须先按住该热键,再按其他功能键才能触发指令。
热键激活键(按住后触发组合功能)。
global.RetroArch.input_enable_hotkey_btn=8
第二步:配置更多高级控制指令
生活化类比:这些设置就像是给你的模拟器增加了一排“实体拨杆”。你可以通过代码将光驱弹窗、更换光盘、甚至控制时间流逝的速度直接绑定到你顺手的按键上。
弹出虚拟光盘(Eject)。
global.RetroArch.input_disk_eject_toggle_btn=4
切换到下一张光盘。
global.RetroArch.input_disk_next_btn=nul
切换到上一张光盘。
global.RetroArch.input_disk_prev_btn=nul
开关帧率(FPS)显示。
global.RetroArch.input_fps_toggle_btn=nul
帧进(按一下画面前进一帧,适合精确操作)。
global.RetroArch.input_frame_advance_btn=nul
开启慢动作(按住生效)。
global.RetroArch.input_hold_slowmotion_btn=nul
接下来的代码段提供了更多进阶的控制开关,你可以根据需要将它们绑定到手柄的按键上:
录像开关。
global.RetroArch.input_movie_record_toggle_btn=nul
网络对战(Netplay)观战模式切换。
global.RetroArch.input_netplay_game_watch_btn=nul
网络对战主机模式切换。
global.RetroArch.input_netplay_host_toggle_btn=nul
屏幕虚拟键盘(OSK)开关。
global.RetroArch.input_osk_toggle_btn=nul
暂停模拟器。
global.RetroArch.input_pause_toggle_btn=nul
操作录制开关。
global.RetroArch.input_recording_toggle_btn=nul
运行前冲(Runahead)功能开关。
global.RetroArch.input_runahead_toggle_btn=nul
直播推流开关。
global.RetroArch.input_streaming_toggle_btn=nul
快进开关(点按切换,无需长按)。
global.RetroArch.input_toggle_fast_forward_btn=nul
慢动作开关(点按切换,无需长按)。
global.RetroArch.input_toggle_slowmotion_btn=nul
连发(Turbo)功能默认键。
global.RetroArch.input_turbo_default_button=0
自定义快捷菜单开启方式(Alternative Quick Menu Combos)
如果你觉得默认的“热键 + 南向键”组合不顺手,RetroArch 还内置了几种其他的组合键方案供你选择。
生活化类比:这就像是给手机设置不同的截屏方式。你可以选择“电源键 + 音量键”,也可以选择“三指下滑”,挑一个你觉得最自然的姿势。
你可以修改 batocera.conf 中的 input_menu_toggle_gamepad_combo 数值来切换方案:
- 方案 0: 仅允许通过标准的热键组合进入 RetroArch 快捷菜单(Quick Menu)。
- 方案 1: 同时按住 下方向键 + Y + L1 + R1 即可开启。
- 方案 2: 同时按下 L3 + R3(即左右摇杆垂直下压) 开启。
仅使用热键命令开启菜单
global.RetroArch.input_menu_toggle_gamepad_combo=0
使用 下 + Y + L1 + R1 开启菜单
global.RetroArch.input_menu_toggle_gamepad_combo=1
使用 L3 + R3 开启菜单
global.RetroArch.input_menu_toggle_gamepad_combo=2
除了前面提到的方案,你还可以尝试以下几种组合方式来开启 RetroArch 快捷菜单(Quick Menu)。
你可以根据自己的操作习惯,将 batocera.conf 中的数值修改为对应的编号:
方案 3:使用 L1 + R1 + Start + Select 开启
global.RetroArch.input_menu_toggle_gamepad_combo=3
方案 4:使用 Start + Select 开启
global.RetroArch.input_menu_toggle_gamepad_combo=4
方案 5:使用 L3(左摇杆下压)+ R1 开启
global.RetroArch.input_menu_toggle_gamepad_combo=5
方案 6:使用 L1 + R1 开启
global.RetroArch.input_menu_toggle_gamepad_combo=6
方案 7:长按 Start 键 2 秒开启
global.RetroArch.input_menu_toggle_gamepad_combo=7
方案 8:长按 Select 键 2 秒开启
global.RetroArch.input_menu_toggle_gamepad_combo=8
方案 9:使用 下方向键 + Select 开启
global.RetroArch.input_menu_toggle_gamepad_combo=9
方案 10:使用 L2 + R2 开启
global.RetroArch.input_menu_toggle_gamepad_combo=10
通过 Shift + F1 开启快捷菜单
如果你主要使用键盘操作,除了上述手柄组合键外,通常也可以通过键盘上的 Shift + F1 组合键来快速呼出菜单。
在默认情况下,Batocera 的键盘设置非常果断:只要按下 [Esc] 键,系统就会立刻关闭 RetroArch 并退出游戏。
如果你希望键盘的操作逻辑更接近 RetroArch 的原生体验(即通过组合键呼出菜单而不是直接退出),可以按照以下步骤手动修改。
如何启用键盘快捷菜单
- 第一步:定位配置文件
找到并打开路径为system/configs/RetroArch/retroarchcustom.cfg的配置文件。 - 第二步:修改按键定义
将文件中的相关行改写为以下代码:
input_enable_hotkey = "shift"
input_menu_toggle = "f1"
生活化类比:这就像是给你的键盘装了一个“安全栓”。以前
[Esc]是个一碰就炸的退出按钮,现在你通过设置,把进入菜单的权限交给了Shift + F1组合键。
完成这些设置后,即便你手边没有手柄,只用键盘也能轻松访问快捷菜单(Quick Menu)了!
【提示】Batocera 不会主动更改这两个特定的变量。所以,只要你不执行恢复出厂设置(Factory reset),这个按键习惯就会一直保留下去。
原文: 高级RetroArch设置 • 翻译: DIY8 Bot



暂无评论内容