品技

 找回密码
 注册用户
查看: 260|回复: 3

[工具] 一款专为PC设计的控制器游戏启动器v1.10——PS5风格的界面

[复制链接] x 0
  • 打卡等级:本地老炮
  • 打卡总天数:537
  • 打卡月天数:19
  • 打卡总奖励:9156
  • 最近打卡:2026-10-23 00:01:03
发表于 昨天 01:34 | 显示全部楼层 |阅读模式
本帖最后由 苍神 于 2026-10-22 01:35 编辑

home.png

360截图20261022012734844.jpg



功能特性项目地址:https://github.com/arisqz/PS5-GameLauncher#features欢迎界面:带有漂浮粒子的焦点展示图、“欢迎回来” 文字,以及一排可供选择的用户头像。选中用户后场景清空,主界面逐步加载:游戏磁贴从中心向外展开,游戏美术图淡入,顶部状态栏缓缓落下。
主页轮播:选中的游戏磁贴放大,游戏原画铺满屏幕,下方展示 LOGO、简介、开始游戏、更多选项以及活动卡片。
游戏库:轮播栏最后一项,包含你的收藏、收藏夹、媒体、隐藏游戏标签,支持排序与筛选。
快捷菜单:手柄的导航 / PS 键(键盘 Home 或 F1)唤起;显示当前游戏、正在播放内容、通知,以及声音、屏幕、蓝牙、外设、语音频道、电源等面板。可自定义面板显示项目。
游戏内悬浮层:游戏运行时在顶层调出同款快捷菜单,附带关闭游戏选项。悬浮菜单打开期间,不含反作弊的游戏会被暂停。
继续游戏:游戏正在运行时,“开始游戏” 按钮变为 “继续”,将游戏切回前台。同一时间仅能运行一款游戏。
设置:分类采用双栏页面,风格复刻 PS5,背景为动态主题。内置用户向导,引导配置 Discord、拉取 SteamGridDB 封面资源,以及解决亮度设置里显示器不显示的问题。
多语言:英文、德语、西班牙语、葡萄牙语、法语(设置→系统→语言);默认跟随系统 Windows 语言。
Windows 系统控制项:
  • PC 全局媒体播放控制,附带封面;
  • 系统音量与静音;
  • 音频输出设备(Windows 播放设备);
  • 通过 DDC/CI 调节显示器亮度,按显示器名称列出;
  • 夜灯模式;
  • 蓝牙:配对、连接、移除设备。
语音频道与消息(Discord):查看语音频道成员、静音、闭麦、退出频道、单独调节成员音量。新私信与 @提醒弹出通知(游戏内也会显示);快捷菜单的消息面板展示最近会话与最新消息。Discord 本地 API 不支持发送消息,点击 “在 Discord 回复” 会打开 Discord 客户端对应会话。
通知:设置→通知可开关弹窗、设置停留时长、是否预览内容;并且可以按类型(Discord、语音频道、手柄、游戏、游戏库、系统)单独配置:始终显示、游戏中隐藏、永不显示。游戏运行时弹窗置顶,但不会抢夺输入焦点。
音效主题:启动器内直接浏览下载 Steam Deck 音频包(界面音效 + 菜单背景音乐,来源:https://deckthemes.com/packs?type=AUDIO),也可从 ZIP 压缩包或文件夹本地导入(设置→声音→音效主题)。
手柄透传(可选):安装 https://github.com/nefarius/HidHide 与 https://github.com/Alia5/VIIPER 后,游戏将识别到一个虚拟 DualSense,启动器把实体手柄输入转发给虚拟手柄;快捷菜单 / 启动器在前台时虚拟手柄静默,游戏不再响应菜单按键。震动、光条、玩家指示灯可正常回传。详见用户指南→游戏手柄设置。
焦点动效:选中条目外围生成一圈流动光环,片刻后划过一道闪光;在列表切换时,新行伴随柔和光波过渡,复刻 PS5 效果。
合成 UI 音效、可选环境背景音乐、屏幕软键盘。

下载https://github.com/arisqz/PS5-GameLauncher#download在 Releases 页面获取最新构建包:
  • PS5-Game-Launcher-Setup-x.y.z.exe:安装包,自动添加开始菜单与桌面快捷方式,推荐使用
  • PS5-Game-Launcher-x.y.z-win-x64.zip:免安装包,解压后直接运行 PS5 Game Launcher.exe
支持 Windows10 / Windows11 64 位。程序未签名,首次打开 Windows SmartScreen 会提示 “Windows 已保护你的电脑”,点更多信息→仍要运行。
源码编译https://github.com/arisqz/PS5-GameLauncher#building-from-sourceWindows 环境需要 Node.js 20 或更高版本
npm installnpm startnpm run dev 开启开发者工具(F12),Ctrl+R 热重载;追加 -- --windowed 参数以窗口模式启动,而非全屏。npm run dist 在 dist 目录生成安装包与压缩包。npm run dist:dir 仅导出解压版程序(dist/win-unpacked),测试编译速度更快。
本地辅助程序(main/native/syshelper.exe)会在启动、dev、dist 编译前自动通过 syshelper.cs 编译。使用 Windows 自带 C# 编译器,无需 Visual Studio 或.NET SDK。手动重新编译:npm run build:native
添加游戏https://github.com/arisqz/PS5-GameLauncher#adding-games游戏来源共 5 类,每次启动自动重新扫描;可在设置→游戏库单独开启 / 关闭各个来源:
表格

来源扫描规则
快捷方式文件夹设置→游戏库→添加文件夹,或直接拖拽文件夹到窗口;识别 .lnk、.url(steam:// 链接)、exe、bat、cmd。不含快捷方式的子目录视为游戏安装目录,自动选用目录内最匹配的游戏主程序
Steam从注册表读取 Steam 安装路径,读取 libraryfolders.vdf 与所有 appmanifest_*.acf;游玩时长、最后游玩时间取自 Steam localconfig.vdf
Epic读取 Epic 启动器的.item 清单文件
Xbox / 微软商店通过 Windows 系统读取已安装游戏包(PC Game Pass 与商店游戏,带 MicrosoftGame.config)
Ubisoft Connect从注册表读取育碧连接的游戏列表
也可以直接拖拽快捷方式或 EXE 到窗口添加游戏。
封面资源https://github.com/arisqz/PS5-GameLauncher#artwork启动器会为每个游戏匹配 Steam 商店条目(Steam 游戏直接匹配,其余按名称搜索 Steam 商店),自动下载:全屏背景大图、LOGO、横幅、盒图、简介、开发商、发行商、发行日期、截图。资源取自 Steam 公开商店 API 与 CDN,不需要 Steam 账号或密钥。
可选:在设置→游戏库→封面资源填入 SteamGridDB API 密钥(https://www.steamgriddb.com/profile/preferences/api),给非 Steam 游戏获取更优质素材。
匹配错误时,点击更多选项→更换封面→在 Steam 检索重新绑定;也可以自定义磁贴、背景、LOGO 图片。
操作说明https://github.com/arisqz/PS5-GameLauncher#controls
表格

操作手柄(Xbox/PS)键盘
移动十字键 / 左摇杆方向键
确认A / ×Enter
返回B / ○Esc / Backspace
更多选项Menu / OptionsO / 右键
快捷菜单Guide / PS 键Home / F1
游戏内悬浮层Guide / PS 键Ctrl+Alt+Home
切换游戏 / 媒体标签LB/RB、L1/R1Q / E
搜索—S
全屏切换—F11
鼠标同样支持:点击选中,滚轮滚动轮播,右键打开选项菜单。
用户配置https://github.com/arisqz/PS5-GameLauncher#users欢迎界面列出所有用户;添加用户可以新建账号,选中用户的选项菜单支持重命名、更换头像、修改主题色、删除用户。用户之间仅头像和名称隔离,游戏库和设置全局共享。可以在设置→系统关闭欢迎界面。
游戏启动逻辑https://github.com/arisqz/PS5-GameLauncher#when-a-game-starts启动器会按对应平台原生方式拉起游戏:
  • Xbox / 微软商店:直接启动游戏包,不会打开 Xbox 应用;Windows 仍然优先检查更新并弹出系统更新窗口
  • Steam:steam.exe -silent -applaunch 静默启动;Steam 后台运行但隐藏托盘以外窗口
  • Epic:Epic 静默启动方式,Epic 客户端后台驻留,保证游戏账号登录有效
  • Ubisoft Connect:依赖育碧连接程序(育碧游戏必需)
  • 快捷方式 / EXE:直接运行
Steam、Epic、育碧游戏可在选项里修改启动方式:自动、直接运行游戏本体(不启动平台)、通过平台启动。设置→系统→游戏启动→直接启动游戏,会让支持离线的 Epic 游戏默认直启;网游大多需要平台登录。像 Heroic 那样免客户端带登录的 Epic 直启方案本项目暂不支持。
设置→系统→游戏启动可以选择启动游戏后启动器行为:最小化、保持前台、关闭。启动器会等待游戏窗口真正出现,避免加载中途切回桌面;游戏关闭后自动切回启动器(可关闭)。
很多多人游戏先弹出反作弊窗口(EAC、EA Javelin、BattlEye),该窗口不算游戏本体。“启动中” 界面保持置顶直到游戏主窗口出现,反作弊窗口会在下层。如果期间有登录、更新、报错弹窗,几秒后启动遮罩自动避让;随时按返回键关闭启动遮罩。
本地辅助程序https://github.com/arisqz/PS5-GameLauncher#the-native-helperElectron 本身无法实现的底层功能,交由 main/native/syshelper.exe 处理,这是一个小型 C# 程序,通过标准输入输出和主程序通信:
  • 媒体:Windows 媒体会话(和系统音量面板同源)
  • 音量、输出设备:Core Audio 接口,选中设备后直接设置为 Windows 默认播放设备
  • 亮度:DDC/CI;笔记本屏幕使用 WMI
  • 夜灯:修改 Windows 原生夜灯配置
  • 蓝牙:Windows 蓝牙驱动、配对、音频连接 API
  • 手柄:Guide/PS 按键,通过 XInput、HID 被动读取
  • 游戏:识别运行中的游戏、菜单打开时暂停游戏、前台唤起、关闭游戏
亮度显示 “不支持” 时,需要在显示器 OSD 菜单开启 DDC/CI;扩展坞、部分 KVM 切换器也会导致该功能失效。
游戏内悬浮层https://github.com/arisqz/PS5-GameLauncher#in-game-overlay悬浮层是独立置顶透明窗口,不注入游戏进程,不读取游戏内存,不打开游戏进程句柄:
  • Guide 按键读取方式和普通手柄工具一致
  • 通过 Windows 进程列表识别正在运行的游戏
  • 关闭游戏:向游戏窗口发送关闭消息,等同于点击窗口叉号;5 秒后未退出才强制结束进程
无边框、窗口化游戏、Win10/11 大部分 “全屏” 游戏都可以正常显示悬浮层;独占全屏(真全屏)游戏打开悬浮层时会被最小化。
暂停逻辑:Windows 没有安全的方式屏蔽手柄输入。菜单弹出时启动器挂起游戏进程,退出菜单恢复。以下场景不会自动暂停:
  • 游戏目录包含反作弊文件(EAC、BattlEye 等)
  • 游戏当前已经联机连上服务器
  • 游戏启动不足 15 秒
可以单独给每个游戏设置(选项→菜单打开时暂停),或全局关闭。启动器崩溃时,辅助程序会自动恢复游戏运行。
后台仍然响应手柄的游戏:菜单打开时悬浮层抢占键盘与窗口焦点,只前台读输入的游戏就不再响应;部分游戏后台持续读取手柄。这类游戏如果因为反作弊 / 联机 / 关闭暂停而没有被挂起,按键仍然会生效 ——Windows 没有无驱动级方案单独屏蔽手柄给某一个程序。模拟器优先使用模拟器自带的后台暂停选项。
游戏里按 PS/Guide 键无响应:检查是否被 Steam 输入、Xbox 游戏栏抢占。
Discord 语音频道配置https://github.com/arisqz/PS5-GameLauncher#discord-party-setupDiscord 仅允许开发者自有应用控制语音,所以需要自行创建 Discord 应用,免费,耗时约 2 分钟:
  • 打开 https://discord.com/developers/applications → 新建应用,名称随意
  • OAuth2 页面复制客户端 ID,重置并复制客户端密钥;添加重定向地址 http://localhost
  • 启动器:设置→账号与用户→Discord,填入两项信息,点击连接 Discord
  • 在 Discord 授权弹窗确认
密钥和登录令牌会加密存储在当前 Windows 用户目录。
用户数据https://github.com/arisqz/PS5-GameLauncher#your-data设置、游戏库、缓存封面、头像保存在 %APPDATA%\PS5 Game Launcher;设置→存储可以直接打开该文件夹。旧版本名叫 ClaudeLauncher,首次运行新版会自动迁移数据目录。
故障排查https://github.com/arisqz/PS5-GameLauncher#troubleshooting启动无反应:任务管理器查看是否已有 PS5 Game Launcher.exe 在运行;本程序单实例,再次打开只会切前台。杀毒隔离 syshelper.exe 的话,恢复文件或添加白名单。媒体、音量、亮度、蓝牙、悬浮层都依赖这个辅助程序。
“Windows 已保护你的电脑”:程序未签名,点更多信息→仍要运行。
窗口超出屏幕 / 尺寸异常:按 F11 切换全屏 / 窗口模式。
项目结构https://github.com/arisqz/PS5-GameLauncher#project-layout
main/                 Electron主进程├─ main.js            窗口、app协议、IPC、游戏启停与暂停├─ library.js         扫描、合并元数据、封面下载管线├─ scanner.js         快捷目录、Steam、Epic扫描器├─ metadata.js        Steam商店检索、资源拉取、SteamGridDB├─ launcher.js        游戏启动├─ gamemonitor.js     运行游戏检测、游玩时长、关闭游戏├─ overlay.js         游戏悬浮窗口 + 游戏内通知弹窗├─ soundpacks.js      音效包浏览、下载、解压├─ system.js          和syshelper.exe通信桥接├─ discord.js         Discord RPC语音控制├─ vdf.js             Valve键值解析器└─ native/            syshelper.cs + build.cmdrenderer/├─ index.html         启动器主界面├─ overlay.html       游戏悬浮层页面(js/overlay.js)├─ css/               样式:主页、库、设置、快捷菜单、启动页等├─ js/app.js          路由、输入分发、设置绑定UI├─ js/views/          欢迎页、主页、游戏库、设置、快捷菜单、搜索、音效商店├─ js/ui/             弹窗、软键盘、磁贴、大图、通知Toast、Discord聊天├─ js/input.js        键鼠手柄输入映射├─ js/i18n.js         国际化翻译(locales目录:德/西/法/葡)├─ js/system.js       媒体、音量、亮度、蓝牙状态管理├─ js/profiles.js     欢迎页用户管理└─ js/sound.js        UI音效、环境背景音乐scripts/└─ build-native.js    按需编译本地辅助程序翻译相关https://github.com/arisqz/PS5-GameLauncher#translations代码内原始文本为英文,程序根据英文原文在 renderer/js/locales/<code>.js 查找翻译;缺失翻译自动回退英文。新增语言:复制一份语言文件翻译文本,在 renderer/js/i18n.js 的 TABLES 和 LANGUAGES 数组注册语言。

术语速查(方便你读源码)
  • overlay:悬浮层 / 游戏内覆盖层
  • carousel:轮播栏
  • tile:磁贴
  • DDC/CI:显示器亮度控制协议
  • RPC:Discord 本地通信接口
  • anti-cheat:反作弊
  • exclusive fullscreen:独占全屏
  • IPC:进程间通信
  • VDF:Valve 配置文件格式




PS5 Game Launcher 1.1.0自测试版以来的重大更新:手柄现已可在游戏内正常工作;快捷菜单支持截图录屏、Steam 下载、Switch 模拟器游戏、Steam 好友与 Discord 语音;启动器现已支持自动更新。
从 1.0.0-beta 升级:下载 PS5-Game-Launcher-Setup-1.1.0.exe 并运行,安装程序会直接升级现有版本,保留你的设置、游戏库与用户信息。自此版本起,可通过【设置 → 系统 → 软件更新】在线升级。
游戏内手柄支持游戏识别到虚拟手柄,打开快捷菜单、返回主页时,按键输入不再串入游戏内可单独为每个游戏指定手柄模拟类型:DualSense、DualShock 4、Xbox 360DualSense 的震动、自适应扳机、光条、玩家指示灯、HD 触觉反馈、手柄扬声器均可正常输出;蓝牙连接下也完整支持(触觉反馈满速、包含扬声器音频)原生 Xbox 手柄同样兼容启动器启动后手柄几乎瞬间就绪(旧版需等待约 5 秒)
截图录屏(配合 OBS)游戏内按下【创建 / 分享键】:保存近期回放、截图、启停录制新增媒体库,用于预览、收藏、删除视频片段与截图设置 → 录屏:选择编码器(AV1 / HEVC / H.264,仅显示本机支持的编码)、画质 / CQP 等参数
Steam直接在启动器内下载、更新 Steam 游戏,快捷菜单显示下载进度已拥有但未安装的游戏会在库中展示,可自选磁盘进行安装大型游戏更新提速:小补丁不再触发 Steam 全文件校验
Switch 游戏支持 Eden(以及其他基于 yuzu 的模拟器):自动导入模拟器游戏,附带游戏名称与封面可为 1–8 号玩家分别分配手柄
快捷菜单新增仿 PS5 的【游戏基地】,包含 4 个标签页:
  • 好友:Steam 好友列表,查看在线状态与游玩游戏;发消息、加入对局、访问主页(需要自行申请免费 Steam Web API 密钥,见 设置 → 用户 → Steam 好友)
  • 语音频道:当前 Discord 通话,支持静音、闭麦、音量调节
  • 消息:Discord 私信
  • Discord:加入服务器语音频道、发起私聊通话
卡片交互逻辑对齐 PS5:选中卡片放大,列表跟随滑动新增最近截图 / 录屏快捷卡片,点击直接打开媒体库自定义界面重新设计屏幕设置与快捷菜单内增加 HDR 开关
其他更新设置 → 系统 提供软件自动更新新增 PS5 风格游戏启动动画支持 DeckThemes 的 UI 音效与菜单音乐包内置手柄可用的文件浏览器(不再依赖 Windows 原生弹窗)安装包可一键安装依赖组件:HidHide、VIIPER、OBS Studio游戏运行时内存占用大幅降低,约 55 MB大量修复:UI 焦点、动画、快捷菜单布局(来自 LifeDreamer24 的 PR #1),感谢贡献!
注意:项目仍处于早期开发阶段。遇到 Bug 请到 Issues 反馈,也欢迎提交功能建议。






一款专为PC设计的控制器优先游戏启动器v1.10-PS5风格的界面

游客,如果您要查看本帖隐藏内容请回复









发表于 昨天 11:06 | 显示全部楼层
一款专为PC设计的控制器游戏启动器v1.10
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册用户

本版积分规则

小黑屋|手机版|Archiver|品技 |网站地图

GMT+8, 2026-10-23 01:39 , Processed in 0.073961 second(s), 16 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表